• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2021 The Khronos Group Inc.
2 //
3 // SPDX-License-Identifier: Apache-2.0 OR MIT
4 //
5 
6 // This header is generated from the Khronos Vulkan XML API Registry.
7 
8 #ifndef VULKAN_HPP
9 #define VULKAN_HPP
10 
11 #if defined( _MSVC_LANG )
12 #  define VULKAN_HPP_CPLUSPLUS _MSVC_LANG
13 #else
14 #  define VULKAN_HPP_CPLUSPLUS __cplusplus
15 #endif
16 
17 #if 201703L < VULKAN_HPP_CPLUSPLUS
18 #  define VULKAN_HPP_CPP_VERSION 20
19 #elif 201402L < VULKAN_HPP_CPLUSPLUS
20 #  define VULKAN_HPP_CPP_VERSION 17
21 #elif 201103L < VULKAN_HPP_CPLUSPLUS
22 #  define VULKAN_HPP_CPP_VERSION 14
23 #elif 199711L < VULKAN_HPP_CPLUSPLUS
24 #  define VULKAN_HPP_CPP_VERSION 11
25 #else
26 #  error "vulkan.hpp needs at least c++ standard version 11"
27 #endif
28 
29 #include <algorithm>
30 #include <array>
31 #include <cstddef>
32 #include <cstdint>
33 #include <cstring>
34 #include <functional>
35 #include <initializer_list>
36 #include <sstream>
37 #include <string>
38 #include <system_error>
39 #include <tuple>
40 #include <type_traits>
41 #include <vulkan/vulkan.h>
42 
43 #if 17 <= VULKAN_HPP_CPP_VERSION
44 #  include <string_view>
45 #endif
46 
47 #if defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
48 #  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
49 #    define VULKAN_HPP_NO_SMART_HANDLE
50 #  endif
51 #else
52 #  include <memory>
53 #  include <vector>
54 #endif
55 
56 #if !defined( VULKAN_HPP_ASSERT )
57 #  include <cassert>
58 #  define VULKAN_HPP_ASSERT assert
59 #endif
60 
61 #if !defined( VULKAN_HPP_ASSERT_ON_RESULT )
62 #  define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
63 #endif
64 
65 #if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL )
66 #  define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
67 #endif
68 
69 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
70 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
71 #    include <dlfcn.h>
72 #  elif defined( _WIN32 )
73 typedef struct HINSTANCE__ * HINSTANCE;
74 #    if defined( _WIN64 )
75 typedef int64_t( __stdcall * FARPROC )();
76 #    else
77 typedef int( __stdcall * FARPROC )();
78 #    endif
79 extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
80 extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
81 extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
82 #  endif
83 #endif
84 
85 #if !defined( __has_include )
86 #  define __has_include( x ) false
87 #endif
88 
89 #if ( 201711 <= __cpp_impl_three_way_comparison ) && __has_include( <compare> ) && !defined( VULKAN_HPP_NO_SPACESHIP_OPERATOR )
90 #  define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
91 #endif
92 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
93 #  include <compare>
94 #endif
95 
96 static_assert( VK_HEADER_VERSION == 184, "Wrong VK_HEADER_VERSION!" );
97 
98 // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
99 // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
100 #if ( VK_USE_64_BIT_PTR_DEFINES == 1 )
101 #  if !defined( VULKAN_HPP_TYPESAFE_CONVERSION )
102 #    define VULKAN_HPP_TYPESAFE_CONVERSION
103 #  endif
104 #endif
105 
106 // <tuple> includes <sys/sysmacros.h> through some other header
107 // this results in major(x) being resolved to gnu_dev_major(x)
108 // which is an expression in a constructor initializer list.
109 #if defined( major )
110 #  undef major
111 #endif
112 #if defined( minor )
113 #  undef minor
114 #endif
115 
116 // Windows defines MemoryBarrier which is deprecated and collides
117 // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
118 #if defined( MemoryBarrier )
119 #  undef MemoryBarrier
120 #endif
121 
122 #if !defined( VULKAN_HPP_HAS_UNRESTRICTED_UNIONS )
123 #  if defined( __clang__ )
124 #    if __has_feature( cxx_unrestricted_unions )
125 #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
126 #    endif
127 #  elif defined( __GNUC__ )
128 #    define GCC_VERSION ( __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ )
129 #    if 40600 <= GCC_VERSION
130 #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
131 #    endif
132 #  elif defined( _MSC_VER )
133 #    if 1900 <= _MSC_VER
134 #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
135 #    endif
136 #  endif
137 #endif
138 
139 #if !defined( VULKAN_HPP_INLINE )
140 #  if defined( __clang__ )
141 #    if __has_attribute( always_inline )
142 #      define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
143 #    else
144 #      define VULKAN_HPP_INLINE inline
145 #    endif
146 #  elif defined( __GNUC__ )
147 #    define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
148 #  elif defined( _MSC_VER )
149 #    define VULKAN_HPP_INLINE inline
150 #  else
151 #    define VULKAN_HPP_INLINE inline
152 #  endif
153 #endif
154 
155 #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
156 #  define VULKAN_HPP_TYPESAFE_EXPLICIT
157 #else
158 #  define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
159 #endif
160 
161 #if defined( __cpp_constexpr )
162 #  define VULKAN_HPP_CONSTEXPR constexpr
163 #  if __cpp_constexpr >= 201304
164 #    define VULKAN_HPP_CONSTEXPR_14 constexpr
165 #  else
166 #    define VULKAN_HPP_CONSTEXPR_14
167 #  endif
168 #  define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
169 #else
170 #  define VULKAN_HPP_CONSTEXPR
171 #  define VULKAN_HPP_CONSTEXPR_14
172 #  define VULKAN_HPP_CONST_OR_CONSTEXPR const
173 #endif
174 
175 #if !defined( VULKAN_HPP_NOEXCEPT )
176 #  if defined( _MSC_VER ) && ( _MSC_VER <= 1800 )
177 #    define VULKAN_HPP_NOEXCEPT
178 #  else
179 #    define VULKAN_HPP_NOEXCEPT noexcept
180 #    define VULKAN_HPP_HAS_NOEXCEPT 1
181 #    if defined( VULKAN_HPP_NO_EXCEPTIONS )
182 #      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS noexcept
183 #    else
184 #      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS
185 #    endif
186 #  endif
187 #endif
188 
189 #if 14 <= VULKAN_HPP_CPP_VERSION
190 #  define VULKAN_HPP_DEPRECATED( msg ) [[deprecated( msg )]]
191 #else
192 #  define VULKAN_HPP_DEPRECATED( msg )
193 #endif
194 
195 #if ( 17 <= VULKAN_HPP_CPP_VERSION ) && !defined( VULKAN_HPP_NO_NODISCARD_WARNINGS )
196 #  define VULKAN_HPP_NODISCARD [[nodiscard]]
197 #  if defined( VULKAN_HPP_NO_EXCEPTIONS )
198 #    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS [[nodiscard]]
199 #  else
200 #    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
201 #  endif
202 #else
203 #  define VULKAN_HPP_NODISCARD
204 #  define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
205 #endif
206 
207 #if !defined( VULKAN_HPP_NAMESPACE )
208 #  define VULKAN_HPP_NAMESPACE vk
209 #endif
210 
211 #define VULKAN_HPP_STRINGIFY2( text ) #text
212 #define VULKAN_HPP_STRINGIFY( text ) VULKAN_HPP_STRINGIFY2( text )
213 #define VULKAN_HPP_NAMESPACE_STRING VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
214 
215 namespace VULKAN_HPP_NAMESPACE
216 {
217 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
218   template <typename T>
219   class ArrayProxy
220   {
221   public:
ArrayProxy()222     VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
223       : m_count( 0 )
224       , m_ptr( nullptr )
225     {}
226 
ArrayProxy(std::nullptr_t)227     VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
228       : m_count( 0 )
229       , m_ptr( nullptr )
230     {}
231 
ArrayProxy(T & value)232     ArrayProxy( T & value ) VULKAN_HPP_NOEXCEPT
233       : m_count( 1 )
234       , m_ptr( &value )
235     {}
236 
237     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxy(typename std::remove_const<T>::type & value)238     ArrayProxy( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
239       : m_count( 1 )
240       , m_ptr( &value )
241     {}
242 
ArrayProxy(uint32_t count,T * ptr)243     ArrayProxy( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
244       : m_count( count )
245       , m_ptr( ptr )
246     {}
247 
248     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)249     ArrayProxy( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
250       : m_count( count )
251       , m_ptr( ptr )
252     {}
253 
254 #  if __GNUC__ >= 9
255 #    pragma GCC diagnostic push
256 #    pragma GCC diagnostic ignored "-Winit-list-lifetime"
257 #  endif
258 
ArrayProxy(std::initializer_list<T> const & list)259     ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
260       : m_count( static_cast<uint32_t>( list.size() ) )
261       , m_ptr( list.begin() )
262     {}
263 
264     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)265     ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
266       : m_count( static_cast<uint32_t>( list.size() ) )
267       , m_ptr( list.begin() )
268     {}
269 
ArrayProxy(std::initializer_list<T> & list)270     ArrayProxy( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
271       : m_count( static_cast<uint32_t>( list.size() ) )
272       , m_ptr( list.begin() )
273     {}
274 
275     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)276     ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
277       : m_count( static_cast<uint32_t>( list.size() ) )
278       , m_ptr( list.begin() )
279     {}
280 
281 #  if __GNUC__ >= 9
282 #    pragma GCC diagnostic pop
283 #  endif
284 
285     template <size_t N>
ArrayProxy(std::array<T,N> const & data)286     ArrayProxy( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT
287       : m_count( N )
288       , m_ptr( data.data() )
289     {}
290 
291     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)292     ArrayProxy( std::array<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
293       : m_count( N )
294       , m_ptr( data.data() )
295     {}
296 
297     template <size_t N>
ArrayProxy(std::array<T,N> & data)298     ArrayProxy( std::array<T, N> & data ) VULKAN_HPP_NOEXCEPT
299       : m_count( N )
300       , m_ptr( data.data() )
301     {}
302 
303     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)304     ArrayProxy( std::array<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
305       : m_count( N )
306       , m_ptr( data.data() )
307     {}
308 
309     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
ArrayProxy(std::vector<T,Allocator> const & data)310     ArrayProxy( std::vector<T, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
311       : m_count( static_cast<uint32_t>( data.size() ) )
312       , m_ptr( data.data() )
313     {}
314 
315     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
316               typename B      = T,
317               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxy(std::vector<typename std::remove_const<T>::type,Allocator> const & data)318     ArrayProxy( std::vector<typename std::remove_const<T>::type, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
319       : m_count( static_cast<uint32_t>( data.size() ) )
320       , m_ptr( data.data() )
321     {}
322 
323     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
ArrayProxy(std::vector<T,Allocator> & data)324     ArrayProxy( std::vector<T, Allocator> & data ) VULKAN_HPP_NOEXCEPT
325       : m_count( static_cast<uint32_t>( data.size() ) )
326       , m_ptr( data.data() )
327     {}
328 
329     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
330               typename B      = T,
331               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxy(std::vector<typename std::remove_const<T>::type,Allocator> & data)332     ArrayProxy( std::vector<typename std::remove_const<T>::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT
333       : m_count( static_cast<uint32_t>( data.size() ) )
334       , m_ptr( data.data() )
335     {}
336 
begin() const337     const T * begin() const VULKAN_HPP_NOEXCEPT
338     {
339       return m_ptr;
340     }
341 
end() const342     const T * end() const VULKAN_HPP_NOEXCEPT
343     {
344       return m_ptr + m_count;
345     }
346 
front() const347     const T & front() const VULKAN_HPP_NOEXCEPT
348     {
349       VULKAN_HPP_ASSERT( m_count && m_ptr );
350       return *m_ptr;
351     }
352 
back() const353     const T & back() const VULKAN_HPP_NOEXCEPT
354     {
355       VULKAN_HPP_ASSERT( m_count && m_ptr );
356       return *( m_ptr + m_count - 1 );
357     }
358 
empty() const359     bool empty() const VULKAN_HPP_NOEXCEPT
360     {
361       return ( m_count == 0 );
362     }
363 
size() const364     uint32_t size() const VULKAN_HPP_NOEXCEPT
365     {
366       return m_count;
367     }
368 
data() const369     T * data() const VULKAN_HPP_NOEXCEPT
370     {
371       return m_ptr;
372     }
373 
374   private:
375     uint32_t m_count;
376     T *      m_ptr;
377   };
378 
379   template <typename T>
380   class ArrayProxyNoTemporaries
381   {
382   public:
ArrayProxyNoTemporaries()383     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
384       : m_count( 0 )
385       , m_ptr( nullptr )
386     {}
387 
ArrayProxyNoTemporaries(std::nullptr_t)388     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
389       : m_count( 0 )
390       , m_ptr( nullptr )
391     {}
392 
ArrayProxyNoTemporaries(T & value)393     ArrayProxyNoTemporaries( T & value ) VULKAN_HPP_NOEXCEPT
394       : m_count( 1 )
395       , m_ptr( &value )
396     {}
397 
398     ArrayProxyNoTemporaries( T && value ) = delete;
399 
400     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(typename std::remove_const<T>::type & value)401     ArrayProxyNoTemporaries( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
402       : m_count( 1 )
403       , m_ptr( &value )
404     {}
405 
406     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
407     ArrayProxyNoTemporaries( typename std::remove_const<T>::type && value ) = delete;
408 
ArrayProxyNoTemporaries(uint32_t count,T * ptr)409     ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
410       : m_count( count )
411       , m_ptr( ptr )
412     {}
413 
414     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)415     ArrayProxyNoTemporaries( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
416       : m_count( count )
417       , m_ptr( ptr )
418     {}
419 
ArrayProxyNoTemporaries(std::initializer_list<T> const & list)420     ArrayProxyNoTemporaries( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
421       : m_count( static_cast<uint32_t>( list.size() ) )
422       , m_ptr( list.begin() )
423     {}
424 
425     ArrayProxyNoTemporaries( std::initializer_list<T> const && list ) = delete;
426 
427     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)428     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const & list )
429       VULKAN_HPP_NOEXCEPT
430       : m_count( static_cast<uint32_t>( list.size() ) )
431       , m_ptr( list.begin() )
432     {}
433 
434     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
435     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const && list ) = delete;
436 
ArrayProxyNoTemporaries(std::initializer_list<T> & list)437     ArrayProxyNoTemporaries( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
438       : m_count( static_cast<uint32_t>( list.size() ) )
439       , m_ptr( list.begin() )
440     {}
441 
442     ArrayProxyNoTemporaries( std::initializer_list<T> && list ) = delete;
443 
444     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)445     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
446       : m_count( static_cast<uint32_t>( list.size() ) )
447       , m_ptr( list.begin() )
448     {}
449 
450     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
451     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list ) = delete;
452 
453     template <size_t N>
ArrayProxyNoTemporaries(std::array<T,N> const & data)454     ArrayProxyNoTemporaries( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT
455       : m_count( N )
456       , m_ptr( data.data() )
457     {}
458 
459     template <size_t N>
460     ArrayProxyNoTemporaries( std::array<T, N> const && data ) = delete;
461 
462     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)463     ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> const & data ) VULKAN_HPP_NOEXCEPT
464       : m_count( N )
465       , m_ptr( data.data() )
466     {}
467 
468     template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
469     ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> const && data ) = delete;
470 
471     template <size_t N>
ArrayProxyNoTemporaries(std::array<T,N> & data)472     ArrayProxyNoTemporaries( std::array<T, N> & data ) VULKAN_HPP_NOEXCEPT
473       : m_count( N )
474       , m_ptr( data.data() )
475     {}
476 
477     template <size_t N>
478     ArrayProxyNoTemporaries( std::array<T, N> && data ) = delete;
479 
480     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)481     ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> & data ) VULKAN_HPP_NOEXCEPT
482       : m_count( N )
483       , m_ptr( data.data() )
484     {}
485 
486     template <size_t N, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
487     ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> && data ) = delete;
488 
489     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
ArrayProxyNoTemporaries(std::vector<T,Allocator> const & data)490     ArrayProxyNoTemporaries( std::vector<T, Allocator> const & data ) VULKAN_HPP_NOEXCEPT
491       : m_count( static_cast<uint32_t>( data.size() ) )
492       , m_ptr( data.data() )
493     {}
494 
495     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
496     ArrayProxyNoTemporaries( std::vector<T, Allocator> const && data ) = delete;
497 
498     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
499               typename B      = T,
500               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(std::vector<typename std::remove_const<T>::type,Allocator> const & data)501     ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> const & data )
502       VULKAN_HPP_NOEXCEPT
503       : m_count( static_cast<uint32_t>( data.size() ) )
504       , m_ptr( data.data() )
505     {}
506 
507     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
508               typename B      = T,
509               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
510     ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> const && data ) = delete;
511 
512     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
ArrayProxyNoTemporaries(std::vector<T,Allocator> & data)513     ArrayProxyNoTemporaries( std::vector<T, Allocator> & data ) VULKAN_HPP_NOEXCEPT
514       : m_count( static_cast<uint32_t>( data.size() ) )
515       , m_ptr( data.data() )
516     {}
517 
518     template <class Allocator = std::allocator<typename std::remove_const<T>::type>>
519     ArrayProxyNoTemporaries( std::vector<T, Allocator> && data ) = delete;
520 
521     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
522               typename B      = T,
523               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(std::vector<typename std::remove_const<T>::type,Allocator> & data)524     ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> & data ) VULKAN_HPP_NOEXCEPT
525       : m_count( static_cast<uint32_t>( data.size() ) )
526       , m_ptr( data.data() )
527     {}
528 
529     template <class Allocator = std::allocator<typename std::remove_const<T>::type>,
530               typename B      = T,
531               typename std::enable_if<std::is_const<B>::value, int>::type = 0>
532     ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> && data ) = delete;
533 
begin() const534     const T * begin() const VULKAN_HPP_NOEXCEPT
535     {
536       return m_ptr;
537     }
538 
end() const539     const T * end() const VULKAN_HPP_NOEXCEPT
540     {
541       return m_ptr + m_count;
542     }
543 
front() const544     const T & front() const VULKAN_HPP_NOEXCEPT
545     {
546       VULKAN_HPP_ASSERT( m_count && m_ptr );
547       return *m_ptr;
548     }
549 
back() const550     const T & back() const VULKAN_HPP_NOEXCEPT
551     {
552       VULKAN_HPP_ASSERT( m_count && m_ptr );
553       return *( m_ptr + m_count - 1 );
554     }
555 
empty() const556     bool empty() const VULKAN_HPP_NOEXCEPT
557     {
558       return ( m_count == 0 );
559     }
560 
size() const561     uint32_t size() const VULKAN_HPP_NOEXCEPT
562     {
563       return m_count;
564     }
565 
data() const566     T * data() const VULKAN_HPP_NOEXCEPT
567     {
568       return m_ptr;
569     }
570 
571   private:
572     uint32_t m_count;
573     T *      m_ptr;
574   };
575 #endif
576 
577   template <typename T, size_t N>
578   class ArrayWrapper1D : public std::array<T, N>
579   {
580   public:
ArrayWrapper1D()581     VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
582 
ArrayWrapper1D(std::array<T,N> const & data)583     VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data )
584     {}
585 
586 #if defined( _WIN32 ) && !defined( _WIN64 )
operator [](int index) const587     VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
588     {
589       return std::array<T, N>::operator[]( index );
590     }
591 
operator [](int index)592     T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
593     {
594       return std::array<T, N>::operator[]( index );
595     }
596 #endif
597 
operator T const*() const598     operator T const *() const VULKAN_HPP_NOEXCEPT
599     {
600       return this->data();
601     }
602 
operator T*()603     operator T *() VULKAN_HPP_NOEXCEPT
604     {
605       return this->data();
606     }
607 
608     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string() const609     operator std::string() const
610     {
611       return std::string( this->data() );
612     }
613 
614 #if 17 <= VULKAN_HPP_CPP_VERSION
615     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string_view() const616     operator std::string_view() const
617     {
618       return std::string_view( this->data() );
619     }
620 #endif
621 
622     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator <(ArrayWrapper1D<char,N> const & rhs) const623     bool operator<( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
624     {
625       return *static_cast<std::array<char, N> const *>( this ) < *static_cast<std::array<char, N> const *>( &rhs );
626     }
627 
628     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator <=(ArrayWrapper1D<char,N> const & rhs) const629     bool operator<=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
630     {
631       return *static_cast<std::array<char, N> const *>( this ) <= *static_cast<std::array<char, N> const *>( &rhs );
632     }
633 
634     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator >(ArrayWrapper1D<char,N> const & rhs) const635     bool operator>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
636     {
637       return *static_cast<std::array<char, N> const *>( this ) > *static_cast<std::array<char, N> const *>( &rhs );
638     }
639 
640     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator >=(ArrayWrapper1D<char,N> const & rhs) const641     bool operator>=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
642     {
643       return *static_cast<std::array<char, N> const *>( this ) >= *static_cast<std::array<char, N> const *>( &rhs );
644     }
645 
646     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator ==(ArrayWrapper1D<char,N> const & rhs) const647     bool operator==( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
648     {
649       return *static_cast<std::array<char, N> const *>( this ) == *static_cast<std::array<char, N> const *>( &rhs );
650     }
651 
652     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator !=(ArrayWrapper1D<char,N> const & rhs) const653     bool operator!=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
654     {
655       return *static_cast<std::array<char, N> const *>( this ) != *static_cast<std::array<char, N> const *>( &rhs );
656     }
657   };
658 
659   // specialization of relational operators between std::string and arrays of chars
660   template <size_t N>
operator <(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)661   bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
662   {
663     return lhs < rhs.data();
664   }
665 
666   template <size_t N>
operator <=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)667   bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
668   {
669     return lhs <= rhs.data();
670   }
671 
672   template <size_t N>
operator >(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)673   bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
674   {
675     return lhs > rhs.data();
676   }
677 
678   template <size_t N>
operator >=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)679   bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
680   {
681     return lhs >= rhs.data();
682   }
683 
684   template <size_t N>
operator ==(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)685   bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
686   {
687     return lhs == rhs.data();
688   }
689 
690   template <size_t N>
operator !=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)691   bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
692   {
693     return lhs != rhs.data();
694   }
695 
696   template <typename T, size_t N, size_t M>
697   class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
698   {
699   public:
ArrayWrapper2D()700     VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
701 
ArrayWrapper2D(std::array<std::array<T,M>,N> const & data)702     VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
703       : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
704     {}
705   };
706 
707   template <typename FlagBitsType>
708   struct FlagTraits
709   {
710     enum
711     {
712       allFlags = 0
713     };
714   };
715 
716   template <typename BitType>
717   class Flags
718   {
719   public:
720     using MaskType = typename std::underlying_type<BitType>::type;
721 
722     // constructors
Flags()723     VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask( 0 ) {}
724 
Flags(BitType bit)725     VULKAN_HPP_CONSTEXPR Flags( BitType bit ) VULKAN_HPP_NOEXCEPT : m_mask( static_cast<MaskType>( bit ) ) {}
726 
727     VULKAN_HPP_CONSTEXPR Flags( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
728 
Flags(MaskType flags)729     VULKAN_HPP_CONSTEXPR explicit Flags( MaskType flags ) VULKAN_HPP_NOEXCEPT : m_mask( flags ) {}
730 
731     // relational operators
732 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
733     auto operator<=>( Flags<BitType> const & ) const = default;
734 #else
operator <(Flags<BitType> const & rhs) const735     VULKAN_HPP_CONSTEXPR bool operator<( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
736     {
737       return m_mask < rhs.m_mask;
738     }
739 
operator <=(Flags<BitType> const & rhs) const740     VULKAN_HPP_CONSTEXPR bool operator<=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
741     {
742       return m_mask <= rhs.m_mask;
743     }
744 
operator >(Flags<BitType> const & rhs) const745     VULKAN_HPP_CONSTEXPR bool operator>( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
746     {
747       return m_mask > rhs.m_mask;
748     }
749 
operator >=(Flags<BitType> const & rhs) const750     VULKAN_HPP_CONSTEXPR bool operator>=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
751     {
752       return m_mask >= rhs.m_mask;
753     }
754 
operator ==(Flags<BitType> const & rhs) const755     VULKAN_HPP_CONSTEXPR bool operator==( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
756     {
757       return m_mask == rhs.m_mask;
758     }
759 
operator !=(Flags<BitType> const & rhs) const760     VULKAN_HPP_CONSTEXPR bool operator!=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
761     {
762       return m_mask != rhs.m_mask;
763     }
764 #endif
765 
766     // logical operator
operator !() const767     VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT
768     {
769       return !m_mask;
770     }
771 
772     // bitwise operators
operator &(Flags<BitType> const & rhs) const773     VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
774     {
775       return Flags<BitType>( m_mask & rhs.m_mask );
776     }
777 
operator |(Flags<BitType> const & rhs) const778     VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
779     {
780       return Flags<BitType>( m_mask | rhs.m_mask );
781     }
782 
operator ^(Flags<BitType> const & rhs) const783     VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
784     {
785       return Flags<BitType>( m_mask ^ rhs.m_mask );
786     }
787 
operator ~() const788     VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT
789     {
790       return Flags<BitType>( m_mask ^ FlagTraits<BitType>::allFlags );
791     }
792 
793     // assignment operators
794     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
795 
operator |=(Flags<BitType> const & rhs)796     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator|=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
797     {
798       m_mask |= rhs.m_mask;
799       return *this;
800     }
801 
operator &=(Flags<BitType> const & rhs)802     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator&=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
803     {
804       m_mask &= rhs.m_mask;
805       return *this;
806     }
807 
operator ^=(Flags<BitType> const & rhs)808     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator^=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
809     {
810       m_mask ^= rhs.m_mask;
811       return *this;
812     }
813 
814     // cast operators
operator bool() const815     explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT
816     {
817       return !!m_mask;
818     }
819 
operator MaskType() const820     explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT
821     {
822       return m_mask;
823     }
824 
825 #if defined( VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC )
826   public:
827 #else
828   private:
829 #endif
830     MaskType m_mask;
831   };
832 
833 #if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
834   // relational operators only needed for pre C++20
835   template <typename BitType>
operator <(BitType bit,Flags<BitType> const & flags)836   VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
837   {
838     return flags.operator>( bit );
839   }
840 
841   template <typename BitType>
operator <=(BitType bit,Flags<BitType> const & flags)842   VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
843   {
844     return flags.operator>=( bit );
845   }
846 
847   template <typename BitType>
operator >(BitType bit,Flags<BitType> const & flags)848   VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
849   {
850     return flags.operator<( bit );
851   }
852 
853   template <typename BitType>
operator >=(BitType bit,Flags<BitType> const & flags)854   VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
855   {
856     return flags.operator<=( bit );
857   }
858 
859   template <typename BitType>
operator ==(BitType bit,Flags<BitType> const & flags)860   VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
861   {
862     return flags.operator==( bit );
863   }
864 
865   template <typename BitType>
operator !=(BitType bit,Flags<BitType> const & flags)866   VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
867   {
868     return flags.operator!=( bit );
869   }
870 #endif
871 
872   // bitwise operators
873   template <typename BitType>
operator &(BitType bit,Flags<BitType> const & flags)874   VULKAN_HPP_CONSTEXPR Flags<BitType> operator&(BitType bit, Flags<BitType> const & flags)VULKAN_HPP_NOEXCEPT
875   {
876     return flags.operator&( bit );
877   }
878 
879   template <typename BitType>
operator |(BitType bit,Flags<BitType> const & flags)880   VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
881   {
882     return flags.operator|( bit );
883   }
884 
885   template <typename BitType>
operator ^(BitType bit,Flags<BitType> const & flags)886   VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
887   {
888     return flags.operator^( bit );
889   }
890 
891   template <typename RefType>
892   class Optional
893   {
894   public:
Optional(RefType & reference)895     Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
896     {
897       m_ptr = &reference;
898     }
Optional(RefType * ptr)899     Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
900     {
901       m_ptr = ptr;
902     }
Optional(std::nullptr_t)903     Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
904     {
905       m_ptr = nullptr;
906     }
907 
operator RefType*() const908     operator RefType *() const VULKAN_HPP_NOEXCEPT
909     {
910       return m_ptr;
911     }
operator ->() const912     RefType const * operator->() const VULKAN_HPP_NOEXCEPT
913     {
914       return m_ptr;
915     }
operator bool() const916     explicit operator bool() const VULKAN_HPP_NOEXCEPT
917     {
918       return !!m_ptr;
919     }
920 
921   private:
922     RefType * m_ptr;
923   };
924 
925   template <typename X, typename Y>
926   struct StructExtends
927   {
928     enum
929     {
930       value = false
931     };
932   };
933 
934   template <typename Type, class...>
935   struct IsPartOfStructureChain
936   {
937     static const bool valid = false;
938   };
939 
940   template <typename Type, typename Head, typename... Tail>
941   struct IsPartOfStructureChain<Type, Head, Tail...>
942   {
943     static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
944   };
945 
946   template <size_t Index, typename T, typename... ChainElements>
947   struct StructureChainContains
948   {
949     static const bool value =
950       std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
951       StructureChainContains<Index - 1, T, ChainElements...>::value;
952   };
953 
954   template <typename T, typename... ChainElements>
955   struct StructureChainContains<0, T, ChainElements...>
956   {
957     static const bool value =
958       std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
959   };
960 
961   template <size_t Index, typename... ChainElements>
962   struct StructureChainValidation
963   {
964     using TestType = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
965     static const bool valid =
966       StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
967       ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
968       StructureChainValidation<Index - 1, ChainElements...>::valid;
969   };
970 
971   template <typename... ChainElements>
972   struct StructureChainValidation<0, ChainElements...>
973   {
974     static const bool valid = true;
975   };
976 
977   template <typename... ChainElements>
978   class StructureChain : public std::tuple<ChainElements...>
979   {
980   public:
StructureChain()981     StructureChain() VULKAN_HPP_NOEXCEPT
982     {
983       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
984                      "The structure chain is not valid!" );
985       link<sizeof...( ChainElements ) - 1>();
986     }
987 
StructureChain(StructureChain const & rhs)988     StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
989     {
990       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
991                      "The structure chain is not valid!" );
992       link<sizeof...( ChainElements ) - 1>();
993     }
994 
StructureChain(StructureChain && rhs)995     StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT
996       : std::tuple<ChainElements...>( std::forward<std::tuple<ChainElements...>>( rhs ) )
997     {
998       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
999                      "The structure chain is not valid!" );
1000       link<sizeof...( ChainElements ) - 1>();
1001     }
1002 
StructureChain(ChainElements const &...elems)1003     StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
1004     {
1005       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
1006                      "The structure chain is not valid!" );
1007       link<sizeof...( ChainElements ) - 1>();
1008     }
1009 
operator =(StructureChain const & rhs)1010     StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
1011     {
1012       std::tuple<ChainElements...>::operator=( rhs );
1013       link<sizeof...( ChainElements ) - 1>();
1014       return *this;
1015     }
1016 
1017     StructureChain & operator=( StructureChain && rhs ) = delete;
1018 
1019     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get()1020     T & get() VULKAN_HPP_NOEXCEPT
1021     {
1022       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
1023         static_cast<std::tuple<ChainElements...> &>( *this ) );
1024     }
1025 
1026     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get() const1027     T const & get() const VULKAN_HPP_NOEXCEPT
1028     {
1029       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
1030         static_cast<std::tuple<ChainElements...> const &>( *this ) );
1031     }
1032 
1033     template <typename T0, typename T1, typename... Ts>
get()1034     std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
1035     {
1036       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
1037     }
1038 
1039     template <typename T0, typename T1, typename... Ts>
get() const1040     std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
1041     {
1042       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
1043     }
1044 
1045     template <typename ClassType, size_t Which = 0>
1046     typename std::enable_if<
1047       std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
1048         ( Which == 0 ),
1049       bool>::type
isLinked() const1050       isLinked() const VULKAN_HPP_NOEXCEPT
1051     {
1052       return true;
1053     }
1054 
1055     template <typename ClassType, size_t Which = 0>
1056     typename std::enable_if<
1057       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
1058         ( Which != 0 ),
1059       bool>::type
isLinked() const1060       isLinked() const VULKAN_HPP_NOEXCEPT
1061     {
1062       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
1063                      "Can't unlink Structure that's not part of this StructureChain!" );
1064       return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
1065     }
1066 
1067     template <typename ClassType, size_t Which = 0>
1068     typename std::enable_if<
1069       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
1070         ( Which != 0 ),
1071       void>::type
relink()1072       relink() VULKAN_HPP_NOEXCEPT
1073     {
1074       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
1075                      "Can't relink Structure that's not part of this StructureChain!" );
1076       auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
1077       VULKAN_HPP_ASSERT( !isLinked( pNext ) );
1078       auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
1079       pNext->pNext       = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
1080       headElement.pNext  = pNext;
1081     }
1082 
1083     template <typename ClassType, size_t Which = 0>
1084     typename std::enable_if<
1085       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
1086         ( Which != 0 ),
1087       void>::type
unlink()1088       unlink() VULKAN_HPP_NOEXCEPT
1089     {
1090       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
1091                      "Can't unlink Structure that's not part of this StructureChain!" );
1092       unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
1093     }
1094 
1095   private:
1096     template <int Index, typename T, int Which, typename, class First, class... Types>
1097     struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
1098     {};
1099 
1100     template <int Index, typename T, int Which, class First, class... Types>
1101     struct ChainElementIndex<Index,
1102                              T,
1103                              Which,
1104                              typename std::enable_if<!std::is_same<T, First>::value, void>::type,
1105                              First,
1106                              Types...> : ChainElementIndex<Index + 1, T, Which, void, Types...>
1107     {};
1108 
1109     template <int Index, typename T, int Which, class First, class... Types>
1110     struct ChainElementIndex<Index,
1111                              T,
1112                              Which,
1113                              typename std::enable_if<std::is_same<T, First>::value, void>::type,
1114                              First,
1115                              Types...> : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
1116     {};
1117 
1118     template <int Index, typename T, class First, class... Types>
1119     struct ChainElementIndex<Index,
1120                              T,
1121                              0,
1122                              typename std::enable_if<std::is_same<T, First>::value, void>::type,
1123                              First,
1124                              Types...> : std::integral_constant<int, Index>
1125     {};
1126 
isLinked(VkBaseInStructure const * pNext) const1127     bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEXCEPT
1128     {
1129       VkBaseInStructure const * elementPtr = reinterpret_cast<VkBaseInStructure const *>(
1130         &std::get<0>( static_cast<std::tuple<ChainElements...> const &>( *this ) ) );
1131       while ( elementPtr )
1132       {
1133         if ( elementPtr->pNext == pNext )
1134         {
1135           return true;
1136         }
1137         elementPtr = elementPtr->pNext;
1138       }
1139       return false;
1140     }
1141 
1142     template <size_t Index>
link()1143     typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
1144     {
1145       auto & x = std::get<Index - 1>( static_cast<std::tuple<ChainElements...> &>( *this ) );
1146       x.pNext  = &std::get<Index>( static_cast<std::tuple<ChainElements...> &>( *this ) );
1147       link<Index - 1>();
1148     }
1149 
1150     template <size_t Index>
link()1151     typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
1152     {}
1153 
unlink(VkBaseOutStructure const * pNext)1154     void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
1155     {
1156       VkBaseOutStructure * elementPtr =
1157         reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ) );
1158       while ( elementPtr && ( elementPtr->pNext != pNext ) )
1159       {
1160         elementPtr = elementPtr->pNext;
1161       }
1162       if ( elementPtr )
1163       {
1164         elementPtr->pNext = pNext->pNext;
1165       }
1166       else
1167       {
1168         VULKAN_HPP_ASSERT( false );  // fires, if the ClassType member has already been unlinked !
1169       }
1170     }
1171   };
1172 
1173 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
1174   template <typename Type, typename Dispatch>
1175   class UniqueHandleTraits;
1176 
1177   template <typename Type, typename Dispatch>
1178   class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
1179   {
1180   private:
1181     using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
1182 
1183   public:
1184     using element_type = Type;
1185 
UniqueHandle()1186     UniqueHandle() : Deleter(), m_value() {}
1187 
UniqueHandle(Type const & value,Deleter const & deleter=Deleter ())1188     explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
1189       : Deleter( deleter )
1190       , m_value( value )
1191     {}
1192 
1193     UniqueHandle( UniqueHandle const & ) = delete;
1194 
UniqueHandle(UniqueHandle && other)1195     UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
1196       : Deleter( std::move( static_cast<Deleter &>( other ) ) )
1197       , m_value( other.release() )
1198     {}
1199 
~UniqueHandle()1200     ~UniqueHandle() VULKAN_HPP_NOEXCEPT
1201     {
1202       if ( m_value )
1203       {
1204         this->destroy( m_value );
1205       }
1206     }
1207 
1208     UniqueHandle & operator=( UniqueHandle const & ) = delete;
1209 
operator =(UniqueHandle && other)1210     UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
1211     {
1212       reset( other.release() );
1213       *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
1214       return *this;
1215     }
1216 
operator bool() const1217     explicit operator bool() const VULKAN_HPP_NOEXCEPT
1218     {
1219       return m_value.operator bool();
1220     }
1221 
operator ->() const1222     Type const * operator->() const VULKAN_HPP_NOEXCEPT
1223     {
1224       return &m_value;
1225     }
1226 
operator ->()1227     Type * operator->() VULKAN_HPP_NOEXCEPT
1228     {
1229       return &m_value;
1230     }
1231 
operator *() const1232     Type const & operator*() const VULKAN_HPP_NOEXCEPT
1233     {
1234       return m_value;
1235     }
1236 
operator *()1237     Type & operator*() VULKAN_HPP_NOEXCEPT
1238     {
1239       return m_value;
1240     }
1241 
get() const1242     const Type & get() const VULKAN_HPP_NOEXCEPT
1243     {
1244       return m_value;
1245     }
1246 
get()1247     Type & get() VULKAN_HPP_NOEXCEPT
1248     {
1249       return m_value;
1250     }
1251 
reset(Type const & value=Type ())1252     void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
1253     {
1254       if ( m_value != value )
1255       {
1256         if ( m_value )
1257         {
1258           this->destroy( m_value );
1259         }
1260         m_value = value;
1261       }
1262     }
1263 
release()1264     Type release() VULKAN_HPP_NOEXCEPT
1265     {
1266       Type value = m_value;
1267       m_value    = nullptr;
1268       return value;
1269     }
1270 
swap(UniqueHandle<Type,Dispatch> & rhs)1271     void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
1272     {
1273       std::swap( m_value, rhs.m_value );
1274       std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
1275     }
1276 
1277   private:
1278     Type m_value;
1279   };
1280 
1281   template <typename UniqueType>
1282   VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type>
uniqueToRaw(std::vector<UniqueType> const & handles)1283                     uniqueToRaw( std::vector<UniqueType> const & handles )
1284   {
1285     std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
1286     std::transform(
1287       handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
1288     return newBuffer;
1289   }
1290 
1291   template <typename Type, typename Dispatch>
swap(UniqueHandle<Type,Dispatch> & lhs,UniqueHandle<Type,Dispatch> & rhs)1292   VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs,
1293                                UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
1294   {
1295     lhs.swap( rhs );
1296   }
1297 #endif
1298 
1299 #if !defined( VK_NO_PROTOTYPES )
1300   class DispatchLoaderStatic
1301   {
1302   public:
1303     //=== VK_VERSION_1_0 ===
1304 
vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance) const1305     VkResult vkCreateInstance( const VkInstanceCreateInfo *  pCreateInfo,
1306                                const VkAllocationCallbacks * pAllocator,
1307                                VkInstance *                  pInstance ) const VULKAN_HPP_NOEXCEPT
1308     {
1309       return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
1310     }
1311 
vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator) const1312     void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1313     {
1314       return ::vkDestroyInstance( instance, pAllocator );
1315     }
1316 
vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices) const1317     VkResult vkEnumeratePhysicalDevices( VkInstance         instance,
1318                                          uint32_t *         pPhysicalDeviceCount,
1319                                          VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
1320     {
1321       return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
1322     }
1323 
vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures) const1324     void vkGetPhysicalDeviceFeatures( VkPhysicalDevice           physicalDevice,
1325                                       VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
1326     {
1327       return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
1328     }
1329 
vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties) const1330     void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice     physicalDevice,
1331                                               VkFormat             format,
1332                                               VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
1333     {
1334       return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
1335     }
1336 
vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties) const1337     VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
1338                                                        VkFormat                  format,
1339                                                        VkImageType               type,
1340                                                        VkImageTiling             tiling,
1341                                                        VkImageUsageFlags         usage,
1342                                                        VkImageCreateFlags        flags,
1343                                                        VkImageFormatProperties * pImageFormatProperties ) const
1344       VULKAN_HPP_NOEXCEPT
1345     {
1346       return ::vkGetPhysicalDeviceImageFormatProperties(
1347         physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
1348     }
1349 
vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties) const1350     void vkGetPhysicalDeviceProperties( VkPhysicalDevice             physicalDevice,
1351                                         VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1352     {
1353       return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
1354     }
1355 
vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties) const1356     void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
1357                                                    uint32_t *                pQueueFamilyPropertyCount,
1358                                                    VkQueueFamilyProperties * pQueueFamilyProperties ) const
1359       VULKAN_HPP_NOEXCEPT
1360     {
1361       return ::vkGetPhysicalDeviceQueueFamilyProperties(
1362         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
1363     }
1364 
vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties) const1365     void vkGetPhysicalDeviceMemoryProperties(
1366       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
1367     {
1368       return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
1369     }
1370 
vkGetInstanceProcAddr(VkInstance instance,const char * pName) const1371     PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
1372     {
1373       return ::vkGetInstanceProcAddr( instance, pName );
1374     }
1375 
vkGetDeviceProcAddr(VkDevice device,const char * pName) const1376     PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
1377     {
1378       return ::vkGetDeviceProcAddr( device, pName );
1379     }
1380 
vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice) const1381     VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
1382                              const VkDeviceCreateInfo *    pCreateInfo,
1383                              const VkAllocationCallbacks * pAllocator,
1384                              VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
1385     {
1386       return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
1387     }
1388 
vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator) const1389     void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1390     {
1391       return ::vkDestroyDevice( device, pAllocator );
1392     }
1393 
vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1394     VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
1395                                                      uint32_t *              pPropertyCount,
1396                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1397     {
1398       return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
1399     }
1400 
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1401     VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
1402                                                    const char *            pLayerName,
1403                                                    uint32_t *              pPropertyCount,
1404                                                    VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1405     {
1406       return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
1407     }
1408 
vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1409     VkResult vkEnumerateInstanceLayerProperties( uint32_t *          pPropertyCount,
1410                                                  VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1411     {
1412       return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
1413     }
1414 
vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1415     VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice    physicalDevice,
1416                                                uint32_t *          pPropertyCount,
1417                                                VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1418     {
1419       return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
1420     }
1421 
vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue) const1422     void vkGetDeviceQueue( VkDevice  device,
1423                            uint32_t  queueFamilyIndex,
1424                            uint32_t  queueIndex,
1425                            VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
1426     {
1427       return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
1428     }
1429 
vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence) const1430     VkResult vkQueueSubmit( VkQueue              queue,
1431                             uint32_t             submitCount,
1432                             const VkSubmitInfo * pSubmits,
1433                             VkFence              fence ) const VULKAN_HPP_NOEXCEPT
1434     {
1435       return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
1436     }
1437 
vkQueueWaitIdle(VkQueue queue) const1438     VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
1439     {
1440       return ::vkQueueWaitIdle( queue );
1441     }
1442 
vkDeviceWaitIdle(VkDevice device) const1443     VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
1444     {
1445       return ::vkDeviceWaitIdle( device );
1446     }
1447 
vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory) const1448     VkResult vkAllocateMemory( VkDevice                      device,
1449                                const VkMemoryAllocateInfo *  pAllocateInfo,
1450                                const VkAllocationCallbacks * pAllocator,
1451                                VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
1452     {
1453       return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
1454     }
1455 
vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator) const1456     void vkFreeMemory( VkDevice                      device,
1457                        VkDeviceMemory                memory,
1458                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1459     {
1460       return ::vkFreeMemory( device, memory, pAllocator );
1461     }
1462 
vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData) const1463     VkResult vkMapMemory( VkDevice         device,
1464                           VkDeviceMemory   memory,
1465                           VkDeviceSize     offset,
1466                           VkDeviceSize     size,
1467                           VkMemoryMapFlags flags,
1468                           void **          ppData ) const VULKAN_HPP_NOEXCEPT
1469     {
1470       return ::vkMapMemory( device, memory, offset, size, flags, ppData );
1471     }
1472 
vkUnmapMemory(VkDevice device,VkDeviceMemory memory) const1473     void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
1474     {
1475       return ::vkUnmapMemory( device, memory );
1476     }
1477 
vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1478     VkResult vkFlushMappedMemoryRanges( VkDevice                    device,
1479                                         uint32_t                    memoryRangeCount,
1480                                         const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1481     {
1482       return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1483     }
1484 
vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1485     VkResult vkInvalidateMappedMemoryRanges( VkDevice                    device,
1486                                              uint32_t                    memoryRangeCount,
1487                                              const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1488     {
1489       return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1490     }
1491 
vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes) const1492     void vkGetDeviceMemoryCommitment( VkDevice       device,
1493                                       VkDeviceMemory memory,
1494                                       VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
1495     {
1496       return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
1497     }
1498 
vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1499     VkResult vkBindBufferMemory( VkDevice       device,
1500                                  VkBuffer       buffer,
1501                                  VkDeviceMemory memory,
1502                                  VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
1503     {
1504       return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
1505     }
1506 
vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1507     VkResult vkBindImageMemory( VkDevice       device,
1508                                 VkImage        image,
1509                                 VkDeviceMemory memory,
1510                                 VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
1511     {
1512       return ::vkBindImageMemory( device, image, memory, memoryOffset );
1513     }
1514 
vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements) const1515     void vkGetBufferMemoryRequirements( VkDevice               device,
1516                                         VkBuffer               buffer,
1517                                         VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1518     {
1519       return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
1520     }
1521 
vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements) const1522     void vkGetImageMemoryRequirements( VkDevice               device,
1523                                        VkImage                image,
1524                                        VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1525     {
1526       return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
1527     }
1528 
vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements) const1529     void vkGetImageSparseMemoryRequirements( VkDevice                          device,
1530                                              VkImage                           image,
1531                                              uint32_t *                        pSparseMemoryRequirementCount,
1532                                              VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const
1533       VULKAN_HPP_NOEXCEPT
1534     {
1535       return ::vkGetImageSparseMemoryRequirements(
1536         device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1537     }
1538 
vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties) const1539     void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
1540                                                          VkFormat                        format,
1541                                                          VkImageType                     type,
1542                                                          VkSampleCountFlagBits           samples,
1543                                                          VkImageUsageFlags               usage,
1544                                                          VkImageTiling                   tiling,
1545                                                          uint32_t *                      pPropertyCount,
1546                                                          VkSparseImageFormatProperties * pProperties ) const
1547       VULKAN_HPP_NOEXCEPT
1548     {
1549       return ::vkGetPhysicalDeviceSparseImageFormatProperties(
1550         physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
1551     }
1552 
vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence) const1553     VkResult vkQueueBindSparse( VkQueue                  queue,
1554                                 uint32_t                 bindInfoCount,
1555                                 const VkBindSparseInfo * pBindInfo,
1556                                 VkFence                  fence ) const VULKAN_HPP_NOEXCEPT
1557     {
1558       return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
1559     }
1560 
vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const1561     VkResult vkCreateFence( VkDevice                      device,
1562                             const VkFenceCreateInfo *     pCreateInfo,
1563                             const VkAllocationCallbacks * pAllocator,
1564                             VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
1565     {
1566       return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
1567     }
1568 
vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator) const1569     void vkDestroyFence( VkDevice                      device,
1570                          VkFence                       fence,
1571                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1572     {
1573       return ::vkDestroyFence( device, fence, pAllocator );
1574     }
1575 
vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences) const1576     VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
1577     {
1578       return ::vkResetFences( device, fenceCount, pFences );
1579     }
1580 
vkGetFenceStatus(VkDevice device,VkFence fence) const1581     VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1582     {
1583       return ::vkGetFenceStatus( device, fence );
1584     }
1585 
vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout) const1586     VkResult vkWaitForFences( VkDevice        device,
1587                               uint32_t        fenceCount,
1588                               const VkFence * pFences,
1589                               VkBool32        waitAll,
1590                               uint64_t        timeout ) const VULKAN_HPP_NOEXCEPT
1591     {
1592       return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
1593     }
1594 
vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore) const1595     VkResult vkCreateSemaphore( VkDevice                      device,
1596                                 const VkSemaphoreCreateInfo * pCreateInfo,
1597                                 const VkAllocationCallbacks * pAllocator,
1598                                 VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
1599     {
1600       return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
1601     }
1602 
vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator) const1603     void vkDestroySemaphore( VkDevice                      device,
1604                              VkSemaphore                   semaphore,
1605                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1606     {
1607       return ::vkDestroySemaphore( device, semaphore, pAllocator );
1608     }
1609 
vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent) const1610     VkResult vkCreateEvent( VkDevice                      device,
1611                             const VkEventCreateInfo *     pCreateInfo,
1612                             const VkAllocationCallbacks * pAllocator,
1613                             VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
1614     {
1615       return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
1616     }
1617 
vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator) const1618     void vkDestroyEvent( VkDevice                      device,
1619                          VkEvent                       event,
1620                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1621     {
1622       return ::vkDestroyEvent( device, event, pAllocator );
1623     }
1624 
vkGetEventStatus(VkDevice device,VkEvent event) const1625     VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1626     {
1627       return ::vkGetEventStatus( device, event );
1628     }
1629 
vkSetEvent(VkDevice device,VkEvent event) const1630     VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1631     {
1632       return ::vkSetEvent( device, event );
1633     }
1634 
vkResetEvent(VkDevice device,VkEvent event) const1635     VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1636     {
1637       return ::vkResetEvent( device, event );
1638     }
1639 
vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool) const1640     VkResult vkCreateQueryPool( VkDevice                      device,
1641                                 const VkQueryPoolCreateInfo * pCreateInfo,
1642                                 const VkAllocationCallbacks * pAllocator,
1643                                 VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
1644     {
1645       return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
1646     }
1647 
vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator) const1648     void vkDestroyQueryPool( VkDevice                      device,
1649                              VkQueryPool                   queryPool,
1650                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1651     {
1652       return ::vkDestroyQueryPool( device, queryPool, pAllocator );
1653     }
1654 
vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags) const1655     VkResult vkGetQueryPoolResults( VkDevice           device,
1656                                     VkQueryPool        queryPool,
1657                                     uint32_t           firstQuery,
1658                                     uint32_t           queryCount,
1659                                     size_t             dataSize,
1660                                     void *             pData,
1661                                     VkDeviceSize       stride,
1662                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1663     {
1664       return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
1665     }
1666 
vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer) const1667     VkResult vkCreateBuffer( VkDevice                      device,
1668                              const VkBufferCreateInfo *    pCreateInfo,
1669                              const VkAllocationCallbacks * pAllocator,
1670                              VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
1671     {
1672       return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
1673     }
1674 
vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator) const1675     void vkDestroyBuffer( VkDevice                      device,
1676                           VkBuffer                      buffer,
1677                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1678     {
1679       return ::vkDestroyBuffer( device, buffer, pAllocator );
1680     }
1681 
vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView) const1682     VkResult vkCreateBufferView( VkDevice                       device,
1683                                  const VkBufferViewCreateInfo * pCreateInfo,
1684                                  const VkAllocationCallbacks *  pAllocator,
1685                                  VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
1686     {
1687       return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
1688     }
1689 
vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator) const1690     void vkDestroyBufferView( VkDevice                      device,
1691                               VkBufferView                  bufferView,
1692                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1693     {
1694       return ::vkDestroyBufferView( device, bufferView, pAllocator );
1695     }
1696 
vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage) const1697     VkResult vkCreateImage( VkDevice                      device,
1698                             const VkImageCreateInfo *     pCreateInfo,
1699                             const VkAllocationCallbacks * pAllocator,
1700                             VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
1701     {
1702       return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
1703     }
1704 
vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator) const1705     void vkDestroyImage( VkDevice                      device,
1706                          VkImage                       image,
1707                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1708     {
1709       return ::vkDestroyImage( device, image, pAllocator );
1710     }
1711 
vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout) const1712     void vkGetImageSubresourceLayout( VkDevice                   device,
1713                                       VkImage                    image,
1714                                       const VkImageSubresource * pSubresource,
1715                                       VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
1716     {
1717       return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
1718     }
1719 
vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView) const1720     VkResult vkCreateImageView( VkDevice                      device,
1721                                 const VkImageViewCreateInfo * pCreateInfo,
1722                                 const VkAllocationCallbacks * pAllocator,
1723                                 VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
1724     {
1725       return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
1726     }
1727 
vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator) const1728     void vkDestroyImageView( VkDevice                      device,
1729                              VkImageView                   imageView,
1730                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1731     {
1732       return ::vkDestroyImageView( device, imageView, pAllocator );
1733     }
1734 
vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule) const1735     VkResult vkCreateShaderModule( VkDevice                         device,
1736                                    const VkShaderModuleCreateInfo * pCreateInfo,
1737                                    const VkAllocationCallbacks *    pAllocator,
1738                                    VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
1739     {
1740       return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
1741     }
1742 
vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator) const1743     void vkDestroyShaderModule( VkDevice                      device,
1744                                 VkShaderModule                shaderModule,
1745                                 const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1746     {
1747       return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
1748     }
1749 
vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache) const1750     VkResult vkCreatePipelineCache( VkDevice                          device,
1751                                     const VkPipelineCacheCreateInfo * pCreateInfo,
1752                                     const VkAllocationCallbacks *     pAllocator,
1753                                     VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
1754     {
1755       return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
1756     }
1757 
vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator) const1758     void vkDestroyPipelineCache( VkDevice                      device,
1759                                  VkPipelineCache               pipelineCache,
1760                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1761     {
1762       return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
1763     }
1764 
vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData) const1765     VkResult vkGetPipelineCacheData( VkDevice        device,
1766                                      VkPipelineCache pipelineCache,
1767                                      size_t *        pDataSize,
1768                                      void *          pData ) const VULKAN_HPP_NOEXCEPT
1769     {
1770       return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
1771     }
1772 
vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches) const1773     VkResult vkMergePipelineCaches( VkDevice                device,
1774                                     VkPipelineCache         dstCache,
1775                                     uint32_t                srcCacheCount,
1776                                     const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
1777     {
1778       return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
1779     }
1780 
vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1781     VkResult vkCreateGraphicsPipelines( VkDevice                             device,
1782                                         VkPipelineCache                      pipelineCache,
1783                                         uint32_t                             createInfoCount,
1784                                         const VkGraphicsPipelineCreateInfo * pCreateInfos,
1785                                         const VkAllocationCallbacks *        pAllocator,
1786                                         VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
1787     {
1788       return ::vkCreateGraphicsPipelines(
1789         device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1790     }
1791 
vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1792     VkResult vkCreateComputePipelines( VkDevice                            device,
1793                                        VkPipelineCache                     pipelineCache,
1794                                        uint32_t                            createInfoCount,
1795                                        const VkComputePipelineCreateInfo * pCreateInfos,
1796                                        const VkAllocationCallbacks *       pAllocator,
1797                                        VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
1798     {
1799       return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1800     }
1801 
vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator) const1802     void vkDestroyPipeline( VkDevice                      device,
1803                             VkPipeline                    pipeline,
1804                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1805     {
1806       return ::vkDestroyPipeline( device, pipeline, pAllocator );
1807     }
1808 
vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout) const1809     VkResult vkCreatePipelineLayout( VkDevice                           device,
1810                                      const VkPipelineLayoutCreateInfo * pCreateInfo,
1811                                      const VkAllocationCallbacks *      pAllocator,
1812                                      VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
1813     {
1814       return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
1815     }
1816 
vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator) const1817     void vkDestroyPipelineLayout( VkDevice                      device,
1818                                   VkPipelineLayout              pipelineLayout,
1819                                   const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1820     {
1821       return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
1822     }
1823 
vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler) const1824     VkResult vkCreateSampler( VkDevice                      device,
1825                               const VkSamplerCreateInfo *   pCreateInfo,
1826                               const VkAllocationCallbacks * pAllocator,
1827                               VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
1828     {
1829       return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
1830     }
1831 
vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator) const1832     void vkDestroySampler( VkDevice                      device,
1833                            VkSampler                     sampler,
1834                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1835     {
1836       return ::vkDestroySampler( device, sampler, pAllocator );
1837     }
1838 
vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout) const1839     VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
1840                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
1841                                           const VkAllocationCallbacks *           pAllocator,
1842                                           VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
1843     {
1844       return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
1845     }
1846 
vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator) const1847     void vkDestroyDescriptorSetLayout( VkDevice                      device,
1848                                        VkDescriptorSetLayout         descriptorSetLayout,
1849                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1850     {
1851       return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
1852     }
1853 
vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool) const1854     VkResult vkCreateDescriptorPool( VkDevice                           device,
1855                                      const VkDescriptorPoolCreateInfo * pCreateInfo,
1856                                      const VkAllocationCallbacks *      pAllocator,
1857                                      VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
1858     {
1859       return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
1860     }
1861 
vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator) const1862     void vkDestroyDescriptorPool( VkDevice                      device,
1863                                   VkDescriptorPool              descriptorPool,
1864                                   const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1865     {
1866       return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
1867     }
1868 
vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags) const1869     VkResult vkResetDescriptorPool( VkDevice                   device,
1870                                     VkDescriptorPool           descriptorPool,
1871                                     VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1872     {
1873       return ::vkResetDescriptorPool( device, descriptorPool, flags );
1874     }
1875 
vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets) const1876     VkResult vkAllocateDescriptorSets( VkDevice                            device,
1877                                        const VkDescriptorSetAllocateInfo * pAllocateInfo,
1878                                        VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1879     {
1880       return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
1881     }
1882 
vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets) const1883     VkResult vkFreeDescriptorSets( VkDevice                device,
1884                                    VkDescriptorPool        descriptorPool,
1885                                    uint32_t                descriptorSetCount,
1886                                    const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1887     {
1888       return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
1889     }
1890 
vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies) const1891     void vkUpdateDescriptorSets( VkDevice                     device,
1892                                  uint32_t                     descriptorWriteCount,
1893                                  const VkWriteDescriptorSet * pDescriptorWrites,
1894                                  uint32_t                     descriptorCopyCount,
1895                                  const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
1896     {
1897       return ::vkUpdateDescriptorSets(
1898         device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
1899     }
1900 
vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer) const1901     VkResult vkCreateFramebuffer( VkDevice                        device,
1902                                   const VkFramebufferCreateInfo * pCreateInfo,
1903                                   const VkAllocationCallbacks *   pAllocator,
1904                                   VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
1905     {
1906       return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
1907     }
1908 
vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator) const1909     void vkDestroyFramebuffer( VkDevice                      device,
1910                                VkFramebuffer                 framebuffer,
1911                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1912     {
1913       return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
1914     }
1915 
vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const1916     VkResult vkCreateRenderPass( VkDevice                       device,
1917                                  const VkRenderPassCreateInfo * pCreateInfo,
1918                                  const VkAllocationCallbacks *  pAllocator,
1919                                  VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
1920     {
1921       return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
1922     }
1923 
vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator) const1924     void vkDestroyRenderPass( VkDevice                      device,
1925                               VkRenderPass                  renderPass,
1926                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1927     {
1928       return ::vkDestroyRenderPass( device, renderPass, pAllocator );
1929     }
1930 
vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity) const1931     void vkGetRenderAreaGranularity( VkDevice     device,
1932                                      VkRenderPass renderPass,
1933                                      VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
1934     {
1935       return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
1936     }
1937 
vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool) const1938     VkResult vkCreateCommandPool( VkDevice                        device,
1939                                   const VkCommandPoolCreateInfo * pCreateInfo,
1940                                   const VkAllocationCallbacks *   pAllocator,
1941                                   VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
1942     {
1943       return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
1944     }
1945 
vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator) const1946     void vkDestroyCommandPool( VkDevice                      device,
1947                                VkCommandPool                 commandPool,
1948                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1949     {
1950       return ::vkDestroyCommandPool( device, commandPool, pAllocator );
1951     }
1952 
vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags) const1953     VkResult vkResetCommandPool( VkDevice                device,
1954                                  VkCommandPool           commandPool,
1955                                  VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1956     {
1957       return ::vkResetCommandPool( device, commandPool, flags );
1958     }
1959 
vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers) const1960     VkResult vkAllocateCommandBuffers( VkDevice                            device,
1961                                        const VkCommandBufferAllocateInfo * pAllocateInfo,
1962                                        VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1963     {
1964       return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
1965     }
1966 
vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1967     void vkFreeCommandBuffers( VkDevice                device,
1968                                VkCommandPool           commandPool,
1969                                uint32_t                commandBufferCount,
1970                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1971     {
1972       return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
1973     }
1974 
vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo) const1975     VkResult vkBeginCommandBuffer( VkCommandBuffer                  commandBuffer,
1976                                    const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
1977     {
1978       return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
1979     }
1980 
vkEndCommandBuffer(VkCommandBuffer commandBuffer) const1981     VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1982     {
1983       return ::vkEndCommandBuffer( commandBuffer );
1984     }
1985 
vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags) const1986     VkResult vkResetCommandBuffer( VkCommandBuffer           commandBuffer,
1987                                    VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1988     {
1989       return ::vkResetCommandBuffer( commandBuffer, flags );
1990     }
1991 
vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const1992     void vkCmdBindPipeline( VkCommandBuffer     commandBuffer,
1993                             VkPipelineBindPoint pipelineBindPoint,
1994                             VkPipeline          pipeline ) const VULKAN_HPP_NOEXCEPT
1995     {
1996       return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
1997     }
1998 
vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports) const1999     void vkCmdSetViewport( VkCommandBuffer    commandBuffer,
2000                            uint32_t           firstViewport,
2001                            uint32_t           viewportCount,
2002                            const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
2003     {
2004       return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
2005     }
2006 
vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors) const2007     void vkCmdSetScissor( VkCommandBuffer  commandBuffer,
2008                           uint32_t         firstScissor,
2009                           uint32_t         scissorCount,
2010                           const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
2011     {
2012       return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
2013     }
2014 
vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth) const2015     void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
2016     {
2017       return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
2018     }
2019 
vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const2020     void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
2021                             float           depthBiasConstantFactor,
2022                             float           depthBiasClamp,
2023                             float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
2024     {
2025       return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
2026     }
2027 
vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4]) const2028     void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer,
2029                                  const float     blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
2030     {
2031       return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
2032     }
2033 
vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds) const2034     void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer,
2035                               float           minDepthBounds,
2036                               float           maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
2037     {
2038       return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
2039     }
2040 
vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask) const2041     void vkCmdSetStencilCompareMask( VkCommandBuffer    commandBuffer,
2042                                      VkStencilFaceFlags faceMask,
2043                                      uint32_t           compareMask ) const VULKAN_HPP_NOEXCEPT
2044     {
2045       return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
2046     }
2047 
vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask) const2048     void vkCmdSetStencilWriteMask( VkCommandBuffer    commandBuffer,
2049                                    VkStencilFaceFlags faceMask,
2050                                    uint32_t           writeMask ) const VULKAN_HPP_NOEXCEPT
2051     {
2052       return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
2053     }
2054 
vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference) const2055     void vkCmdSetStencilReference( VkCommandBuffer    commandBuffer,
2056                                    VkStencilFaceFlags faceMask,
2057                                    uint32_t           reference ) const VULKAN_HPP_NOEXCEPT
2058     {
2059       return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
2060     }
2061 
vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets) const2062     void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
2063                                   VkPipelineBindPoint     pipelineBindPoint,
2064                                   VkPipelineLayout        layout,
2065                                   uint32_t                firstSet,
2066                                   uint32_t                descriptorSetCount,
2067                                   const VkDescriptorSet * pDescriptorSets,
2068                                   uint32_t                dynamicOffsetCount,
2069                                   const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
2070     {
2071       return ::vkCmdBindDescriptorSets( commandBuffer,
2072                                         pipelineBindPoint,
2073                                         layout,
2074                                         firstSet,
2075                                         descriptorSetCount,
2076                                         pDescriptorSets,
2077                                         dynamicOffsetCount,
2078                                         pDynamicOffsets );
2079     }
2080 
vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType) const2081     void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer,
2082                                VkBuffer        buffer,
2083                                VkDeviceSize    offset,
2084                                VkIndexType     indexType ) const VULKAN_HPP_NOEXCEPT
2085     {
2086       return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
2087     }
2088 
vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets) const2089     void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
2090                                  uint32_t             firstBinding,
2091                                  uint32_t             bindingCount,
2092                                  const VkBuffer *     pBuffers,
2093                                  const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
2094     {
2095       return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
2096     }
2097 
vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const2098     void vkCmdDraw( VkCommandBuffer commandBuffer,
2099                     uint32_t        vertexCount,
2100                     uint32_t        instanceCount,
2101                     uint32_t        firstVertex,
2102                     uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
2103     {
2104       return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
2105     }
2106 
vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const2107     void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
2108                            uint32_t        indexCount,
2109                            uint32_t        instanceCount,
2110                            uint32_t        firstIndex,
2111                            int32_t         vertexOffset,
2112                            uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
2113     {
2114       return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
2115     }
2116 
vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const2117     void vkCmdDrawIndirect( VkCommandBuffer commandBuffer,
2118                             VkBuffer        buffer,
2119                             VkDeviceSize    offset,
2120                             uint32_t        drawCount,
2121                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2122     {
2123       return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
2124     }
2125 
vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const2126     void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer,
2127                                    VkBuffer        buffer,
2128                                    VkDeviceSize    offset,
2129                                    uint32_t        drawCount,
2130                                    uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2131     {
2132       return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
2133     }
2134 
vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const2135     void vkCmdDispatch( VkCommandBuffer commandBuffer,
2136                         uint32_t        groupCountX,
2137                         uint32_t        groupCountY,
2138                         uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
2139     {
2140       return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
2141     }
2142 
vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const2143     void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer,
2144                                 VkBuffer        buffer,
2145                                 VkDeviceSize    offset ) const VULKAN_HPP_NOEXCEPT
2146     {
2147       return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
2148     }
2149 
vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions) const2150     void vkCmdCopyBuffer( VkCommandBuffer      commandBuffer,
2151                           VkBuffer             srcBuffer,
2152                           VkBuffer             dstBuffer,
2153                           uint32_t             regionCount,
2154                           const VkBufferCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
2155     {
2156       return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
2157     }
2158 
vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions) const2159     void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
2160                          VkImage             srcImage,
2161                          VkImageLayout       srcImageLayout,
2162                          VkImage             dstImage,
2163                          VkImageLayout       dstImageLayout,
2164                          uint32_t            regionCount,
2165                          const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
2166     {
2167       return ::vkCmdCopyImage(
2168         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
2169     }
2170 
vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter) const2171     void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
2172                          VkImage             srcImage,
2173                          VkImageLayout       srcImageLayout,
2174                          VkImage             dstImage,
2175                          VkImageLayout       dstImageLayout,
2176                          uint32_t            regionCount,
2177                          const VkImageBlit * pRegions,
2178                          VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
2179     {
2180       return ::vkCmdBlitImage(
2181         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
2182     }
2183 
vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions) const2184     void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
2185                                  VkBuffer                  srcBuffer,
2186                                  VkImage                   dstImage,
2187                                  VkImageLayout             dstImageLayout,
2188                                  uint32_t                  regionCount,
2189                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
2190     {
2191       return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
2192     }
2193 
vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions) const2194     void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
2195                                  VkImage                   srcImage,
2196                                  VkImageLayout             srcImageLayout,
2197                                  VkBuffer                  dstBuffer,
2198                                  uint32_t                  regionCount,
2199                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
2200     {
2201       return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
2202     }
2203 
vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData) const2204     void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer,
2205                             VkBuffer        dstBuffer,
2206                             VkDeviceSize    dstOffset,
2207                             VkDeviceSize    dataSize,
2208                             const void *    pData ) const VULKAN_HPP_NOEXCEPT
2209     {
2210       return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
2211     }
2212 
vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data) const2213     void vkCmdFillBuffer( VkCommandBuffer commandBuffer,
2214                           VkBuffer        dstBuffer,
2215                           VkDeviceSize    dstOffset,
2216                           VkDeviceSize    size,
2217                           uint32_t        data ) const VULKAN_HPP_NOEXCEPT
2218     {
2219       return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
2220     }
2221 
vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const2222     void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
2223                                VkImage                         image,
2224                                VkImageLayout                   imageLayout,
2225                                const VkClearColorValue *       pColor,
2226                                uint32_t                        rangeCount,
2227                                const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
2228     {
2229       return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
2230     }
2231 
vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const2232     void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
2233                                       VkImage                          image,
2234                                       VkImageLayout                    imageLayout,
2235                                       const VkClearDepthStencilValue * pDepthStencil,
2236                                       uint32_t                         rangeCount,
2237                                       const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
2238     {
2239       return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
2240     }
2241 
vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects) const2242     void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
2243                                 uint32_t                  attachmentCount,
2244                                 const VkClearAttachment * pAttachments,
2245                                 uint32_t                  rectCount,
2246                                 const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
2247     {
2248       return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
2249     }
2250 
vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions) const2251     void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
2252                             VkImage                srcImage,
2253                             VkImageLayout          srcImageLayout,
2254                             VkImage                dstImage,
2255                             VkImageLayout          dstImageLayout,
2256                             uint32_t               regionCount,
2257                             const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
2258     {
2259       return ::vkCmdResolveImage(
2260         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
2261     }
2262 
vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const2263     void vkCmdSetEvent( VkCommandBuffer      commandBuffer,
2264                         VkEvent              event,
2265                         VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
2266     {
2267       return ::vkCmdSetEvent( commandBuffer, event, stageMask );
2268     }
2269 
vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const2270     void vkCmdResetEvent( VkCommandBuffer      commandBuffer,
2271                           VkEvent              event,
2272                           VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
2273     {
2274       return ::vkCmdResetEvent( commandBuffer, event, stageMask );
2275     }
2276 
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) const2277     void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
2278                           uint32_t                      eventCount,
2279                           const VkEvent *               pEvents,
2280                           VkPipelineStageFlags          srcStageMask,
2281                           VkPipelineStageFlags          dstStageMask,
2282                           uint32_t                      memoryBarrierCount,
2283                           const VkMemoryBarrier *       pMemoryBarriers,
2284                           uint32_t                      bufferMemoryBarrierCount,
2285                           const VkBufferMemoryBarrier * pBufferMemoryBarriers,
2286                           uint32_t                      imageMemoryBarrierCount,
2287                           const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
2288     {
2289       return ::vkCmdWaitEvents( commandBuffer,
2290                                 eventCount,
2291                                 pEvents,
2292                                 srcStageMask,
2293                                 dstStageMask,
2294                                 memoryBarrierCount,
2295                                 pMemoryBarriers,
2296                                 bufferMemoryBarrierCount,
2297                                 pBufferMemoryBarriers,
2298                                 imageMemoryBarrierCount,
2299                                 pImageMemoryBarriers );
2300     }
2301 
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) const2302     void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
2303                                VkPipelineStageFlags          srcStageMask,
2304                                VkPipelineStageFlags          dstStageMask,
2305                                VkDependencyFlags             dependencyFlags,
2306                                uint32_t                      memoryBarrierCount,
2307                                const VkMemoryBarrier *       pMemoryBarriers,
2308                                uint32_t                      bufferMemoryBarrierCount,
2309                                const VkBufferMemoryBarrier * pBufferMemoryBarriers,
2310                                uint32_t                      imageMemoryBarrierCount,
2311                                const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
2312     {
2313       return ::vkCmdPipelineBarrier( commandBuffer,
2314                                      srcStageMask,
2315                                      dstStageMask,
2316                                      dependencyFlags,
2317                                      memoryBarrierCount,
2318                                      pMemoryBarriers,
2319                                      bufferMemoryBarrierCount,
2320                                      pBufferMemoryBarriers,
2321                                      imageMemoryBarrierCount,
2322                                      pImageMemoryBarriers );
2323     }
2324 
vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags) const2325     void vkCmdBeginQuery( VkCommandBuffer     commandBuffer,
2326                           VkQueryPool         queryPool,
2327                           uint32_t            query,
2328                           VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
2329     {
2330       return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
2331     }
2332 
vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query) const2333     void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
2334     {
2335       return ::vkCmdEndQuery( commandBuffer, queryPool, query );
2336     }
2337 
vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2338     void vkCmdResetQueryPool( VkCommandBuffer commandBuffer,
2339                               VkQueryPool     queryPool,
2340                               uint32_t        firstQuery,
2341                               uint32_t        queryCount ) const VULKAN_HPP_NOEXCEPT
2342     {
2343       return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
2344     }
2345 
vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query) const2346     void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
2347                               VkPipelineStageFlagBits pipelineStage,
2348                               VkQueryPool             queryPool,
2349                               uint32_t                query ) const VULKAN_HPP_NOEXCEPT
2350     {
2351       return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
2352     }
2353 
vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags) const2354     void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
2355                                     VkQueryPool        queryPool,
2356                                     uint32_t           firstQuery,
2357                                     uint32_t           queryCount,
2358                                     VkBuffer           dstBuffer,
2359                                     VkDeviceSize       dstOffset,
2360                                     VkDeviceSize       stride,
2361                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
2362     {
2363       return ::vkCmdCopyQueryPoolResults(
2364         commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
2365     }
2366 
vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues) const2367     void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
2368                              VkPipelineLayout   layout,
2369                              VkShaderStageFlags stageFlags,
2370                              uint32_t           offset,
2371                              uint32_t           size,
2372                              const void *       pValues ) const VULKAN_HPP_NOEXCEPT
2373     {
2374       return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
2375     }
2376 
vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents) const2377     void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
2378                                const VkRenderPassBeginInfo * pRenderPassBegin,
2379                                VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
2380     {
2381       return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
2382     }
2383 
vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents) const2384     void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
2385     {
2386       return ::vkCmdNextSubpass( commandBuffer, contents );
2387     }
2388 
vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const2389     void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2390     {
2391       return ::vkCmdEndRenderPass( commandBuffer );
2392     }
2393 
vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const2394     void vkCmdExecuteCommands( VkCommandBuffer         commandBuffer,
2395                                uint32_t                commandBufferCount,
2396                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
2397     {
2398       return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
2399     }
2400 
2401     //=== VK_VERSION_1_1 ===
2402 
vkEnumerateInstanceVersion(uint32_t * pApiVersion) const2403     VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
2404     {
2405       return ::vkEnumerateInstanceVersion( pApiVersion );
2406     }
2407 
vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const2408     VkResult vkBindBufferMemory2( VkDevice                       device,
2409                                   uint32_t                       bindInfoCount,
2410                                   const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
2411     {
2412       return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
2413     }
2414 
vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const2415     VkResult vkBindImageMemory2( VkDevice                      device,
2416                                  uint32_t                      bindInfoCount,
2417                                  const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
2418     {
2419       return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
2420     }
2421 
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const2422     void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
2423                                              uint32_t                   heapIndex,
2424                                              uint32_t                   localDeviceIndex,
2425                                              uint32_t                   remoteDeviceIndex,
2426                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
2427     {
2428       return ::vkGetDeviceGroupPeerMemoryFeatures(
2429         device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
2430     }
2431 
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask) const2432     void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
2433     {
2434       return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
2435     }
2436 
vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const2437     void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
2438                             uint32_t        baseGroupX,
2439                             uint32_t        baseGroupY,
2440                             uint32_t        baseGroupZ,
2441                             uint32_t        groupCountX,
2442                             uint32_t        groupCountY,
2443                             uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
2444     {
2445       return ::vkCmdDispatchBase(
2446         commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
2447     }
2448 
vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const2449     VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
2450                                               uint32_t *                        pPhysicalDeviceGroupCount,
2451                                               VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const
2452       VULKAN_HPP_NOEXCEPT
2453     {
2454       return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
2455     }
2456 
vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2457     void vkGetImageMemoryRequirements2( VkDevice                               device,
2458                                         const VkImageMemoryRequirementsInfo2 * pInfo,
2459                                         VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2460     {
2461       return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
2462     }
2463 
vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2464     void vkGetBufferMemoryRequirements2( VkDevice                                device,
2465                                          const VkBufferMemoryRequirementsInfo2 * pInfo,
2466                                          VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2467     {
2468       return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
2469     }
2470 
vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2471     void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
2472                                               const VkImageSparseMemoryRequirementsInfo2 * pInfo,
2473                                               uint32_t *                         pSparseMemoryRequirementCount,
2474                                               VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
2475       VULKAN_HPP_NOEXCEPT
2476     {
2477       return ::vkGetImageSparseMemoryRequirements2(
2478         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2479     }
2480 
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const2481     void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice            physicalDevice,
2482                                        VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
2483     {
2484       return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
2485     }
2486 
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const2487     void vkGetPhysicalDeviceProperties2( VkPhysicalDevice              physicalDevice,
2488                                          VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
2489     {
2490       return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
2491     }
2492 
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const2493     void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
2494                                                VkFormat              format,
2495                                                VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
2496     {
2497       return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
2498     }
2499 
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const2500     VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
2501                                                         const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
2502                                                         VkImageFormatProperties2 * pImageFormatProperties ) const
2503       VULKAN_HPP_NOEXCEPT
2504     {
2505       return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
2506     }
2507 
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const2508     void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
2509                                                     uint32_t *                 pQueueFamilyPropertyCount,
2510                                                     VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
2511       VULKAN_HPP_NOEXCEPT
2512     {
2513       return ::vkGetPhysicalDeviceQueueFamilyProperties2(
2514         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
2515     }
2516 
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const2517     void vkGetPhysicalDeviceMemoryProperties2(
2518       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
2519     {
2520       return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
2521     }
2522 
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const2523     void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
2524                                                           const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
2525                                                           uint32_t *                                     pPropertyCount,
2526                                                           VkSparseImageFormatProperties2 * pProperties ) const
2527       VULKAN_HPP_NOEXCEPT
2528     {
2529       return ::vkGetPhysicalDeviceSparseImageFormatProperties2(
2530         physicalDevice, pFormatInfo, pPropertyCount, pProperties );
2531     }
2532 
vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const2533     void vkTrimCommandPool( VkDevice               device,
2534                             VkCommandPool          commandPool,
2535                             VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
2536     {
2537       return ::vkTrimCommandPool( device, commandPool, flags );
2538     }
2539 
vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue) const2540     void vkGetDeviceQueue2( VkDevice                   device,
2541                             const VkDeviceQueueInfo2 * pQueueInfo,
2542                             VkQueue *                  pQueue ) const VULKAN_HPP_NOEXCEPT
2543     {
2544       return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
2545     }
2546 
vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const2547     VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
2548                                              const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
2549                                              const VkAllocationCallbacks *              pAllocator,
2550                                              VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
2551     {
2552       return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
2553     }
2554 
vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const2555     void vkDestroySamplerYcbcrConversion( VkDevice                      device,
2556                                           VkSamplerYcbcrConversion      ycbcrConversion,
2557                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2558     {
2559       return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
2560     }
2561 
vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const2562     VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
2563                                                const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
2564                                                const VkAllocationCallbacks *                pAllocator,
2565                                                VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
2566       VULKAN_HPP_NOEXCEPT
2567     {
2568       return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
2569     }
2570 
vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const2571     void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
2572                                             VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
2573                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2574     {
2575       return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
2576     }
2577 
vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const2578     void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
2579                                             VkDescriptorSet            descriptorSet,
2580                                             VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2581                                             const void *               pData ) const VULKAN_HPP_NOEXCEPT
2582     {
2583       return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
2584     }
2585 
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const2586     void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
2587                                                       const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
2588                                                       VkExternalBufferProperties * pExternalBufferProperties ) const
2589       VULKAN_HPP_NOEXCEPT
2590     {
2591       return ::vkGetPhysicalDeviceExternalBufferProperties(
2592         physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
2593     }
2594 
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const2595     void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
2596                                                      const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
2597                                                      VkExternalFenceProperties * pExternalFenceProperties ) const
2598       VULKAN_HPP_NOEXCEPT
2599     {
2600       return ::vkGetPhysicalDeviceExternalFenceProperties(
2601         physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
2602     }
2603 
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const2604     void vkGetPhysicalDeviceExternalSemaphoreProperties(
2605       VkPhysicalDevice                              physicalDevice,
2606       const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
2607       VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
2608     {
2609       return ::vkGetPhysicalDeviceExternalSemaphoreProperties(
2610         physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
2611     }
2612 
vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const2613     void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
2614                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
2615                                           VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
2616     {
2617       return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
2618     }
2619 
2620     //=== VK_VERSION_1_2 ===
2621 
vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2622     void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
2623                                  VkBuffer        buffer,
2624                                  VkDeviceSize    offset,
2625                                  VkBuffer        countBuffer,
2626                                  VkDeviceSize    countBufferOffset,
2627                                  uint32_t        maxDrawCount,
2628                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2629     {
2630       return ::vkCmdDrawIndirectCount(
2631         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2632     }
2633 
vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2634     void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
2635                                         VkBuffer        buffer,
2636                                         VkDeviceSize    offset,
2637                                         VkBuffer        countBuffer,
2638                                         VkDeviceSize    countBufferOffset,
2639                                         uint32_t        maxDrawCount,
2640                                         uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2641     {
2642       return ::vkCmdDrawIndexedIndirectCount(
2643         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2644     }
2645 
vkCreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const2646     VkResult vkCreateRenderPass2( VkDevice                        device,
2647                                   const VkRenderPassCreateInfo2 * pCreateInfo,
2648                                   const VkAllocationCallbacks *   pAllocator,
2649                                   VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
2650     {
2651       return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
2652     }
2653 
vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const2654     void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
2655                                 const VkRenderPassBeginInfo * pRenderPassBegin,
2656                                 const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
2657     {
2658       return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
2659     }
2660 
vkCmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const2661     void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
2662                             const VkSubpassBeginInfo * pSubpassBeginInfo,
2663                             const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2664     {
2665       return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
2666     }
2667 
vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const2668     void vkCmdEndRenderPass2( VkCommandBuffer          commandBuffer,
2669                               const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2670     {
2671       return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
2672     }
2673 
vkResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2674     void vkResetQueryPool( VkDevice    device,
2675                            VkQueryPool queryPool,
2676                            uint32_t    firstQuery,
2677                            uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
2678     {
2679       return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
2680     }
2681 
2682     VkResult
vkGetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const2683       vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
2684     {
2685       return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
2686     }
2687 
vkWaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const2688     VkResult vkWaitSemaphores( VkDevice                    device,
2689                                const VkSemaphoreWaitInfo * pWaitInfo,
2690                                uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
2691     {
2692       return ::vkWaitSemaphores( device, pWaitInfo, timeout );
2693     }
2694 
vkSignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const2695     VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
2696     {
2697       return ::vkSignalSemaphore( device, pSignalInfo );
2698     }
2699 
vkGetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2700     VkDeviceAddress vkGetBufferDeviceAddress( VkDevice                          device,
2701                                               const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2702     {
2703       return ::vkGetBufferDeviceAddress( device, pInfo );
2704     }
2705 
vkGetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2706     uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice                          device,
2707                                               const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2708     {
2709       return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
2710     }
2711 
vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const2712     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress(
2713       VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2714     {
2715       return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
2716     }
2717 
2718     //=== VK_KHR_surface ===
2719 
vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator) const2720     void vkDestroySurfaceKHR( VkInstance                    instance,
2721                               VkSurfaceKHR                  surface,
2722                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2723     {
2724       return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
2725     }
2726 
vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported) const2727     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
2728                                                    uint32_t         queueFamilyIndex,
2729                                                    VkSurfaceKHR     surface,
2730                                                    VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
2731     {
2732       return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
2733     }
2734 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities) const2735     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
2736                                                         VkSurfaceKHR               surface,
2737                                                         VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const
2738       VULKAN_HPP_NOEXCEPT
2739     {
2740       return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
2741     }
2742 
vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats) const2743     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
2744                                                    VkSurfaceKHR         surface,
2745                                                    uint32_t *           pSurfaceFormatCount,
2746                                                    VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
2747     {
2748       return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
2749     }
2750 
vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const2751     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
2752                                                         VkSurfaceKHR       surface,
2753                                                         uint32_t *         pPresentModeCount,
2754                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
2755     {
2756       return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
2757     }
2758 
2759     //=== VK_KHR_swapchain ===
2760 
vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain) const2761     VkResult vkCreateSwapchainKHR( VkDevice                         device,
2762                                    const VkSwapchainCreateInfoKHR * pCreateInfo,
2763                                    const VkAllocationCallbacks *    pAllocator,
2764                                    VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
2765     {
2766       return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
2767     }
2768 
vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator) const2769     void vkDestroySwapchainKHR( VkDevice                      device,
2770                                 VkSwapchainKHR                swapchain,
2771                                 const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2772     {
2773       return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
2774     }
2775 
vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages) const2776     VkResult vkGetSwapchainImagesKHR( VkDevice       device,
2777                                       VkSwapchainKHR swapchain,
2778                                       uint32_t *     pSwapchainImageCount,
2779                                       VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
2780     {
2781       return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
2782     }
2783 
vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex) const2784     VkResult vkAcquireNextImageKHR( VkDevice       device,
2785                                     VkSwapchainKHR swapchain,
2786                                     uint64_t       timeout,
2787                                     VkSemaphore    semaphore,
2788                                     VkFence        fence,
2789                                     uint32_t *     pImageIndex ) const VULKAN_HPP_NOEXCEPT
2790     {
2791       return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
2792     }
2793 
vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo) const2794     VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
2795     {
2796       return ::vkQueuePresentKHR( queue, pPresentInfo );
2797     }
2798 
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) const2799     VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
2800       VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
2801     {
2802       return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
2803     }
2804 
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes) const2805     VkResult vkGetDeviceGroupSurfacePresentModesKHR(
2806       VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
2807     {
2808       return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
2809     }
2810 
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects) const2811     VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
2812                                                       VkSurfaceKHR     surface,
2813                                                       uint32_t *       pRectCount,
2814                                                       VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
2815     {
2816       return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
2817     }
2818 
vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex) const2819     VkResult vkAcquireNextImage2KHR( VkDevice                          device,
2820                                      const VkAcquireNextImageInfoKHR * pAcquireInfo,
2821                                      uint32_t *                        pImageIndex ) const VULKAN_HPP_NOEXCEPT
2822     {
2823       return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
2824     }
2825 
2826     //=== VK_KHR_display ===
2827 
vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties) const2828     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
2829                                                       uint32_t *               pPropertyCount,
2830                                                       VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2831     {
2832       return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2833     }
2834 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties) const2835     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
2836                                                            uint32_t *                    pPropertyCount,
2837                                                            VkDisplayPlanePropertiesKHR * pProperties ) const
2838       VULKAN_HPP_NOEXCEPT
2839     {
2840       return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2841     }
2842 
vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays) const2843     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
2844                                                     uint32_t         planeIndex,
2845                                                     uint32_t *       pDisplayCount,
2846                                                     VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
2847     {
2848       return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
2849     }
2850 
vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties) const2851     VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
2852                                             VkDisplayKHR                 display,
2853                                             uint32_t *                   pPropertyCount,
2854                                             VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2855     {
2856       return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
2857     }
2858 
vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode) const2859     VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
2860                                      VkDisplayKHR                       display,
2861                                      const VkDisplayModeCreateInfoKHR * pCreateInfo,
2862                                      const VkAllocationCallbacks *      pAllocator,
2863                                      VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
2864     {
2865       return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
2866     }
2867 
vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities) const2868     VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
2869                                                VkDisplayModeKHR                mode,
2870                                                uint32_t                        planeIndex,
2871                                                VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
2872     {
2873       return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
2874     }
2875 
vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2876     VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
2877                                              const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
2878                                              const VkAllocationCallbacks *         pAllocator,
2879                                              VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2880     {
2881       return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2882     }
2883 
2884     //=== VK_KHR_display_swapchain ===
2885 
vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains) const2886     VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
2887                                           uint32_t                         swapchainCount,
2888                                           const VkSwapchainCreateInfoKHR * pCreateInfos,
2889                                           const VkAllocationCallbacks *    pAllocator,
2890                                           VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
2891     {
2892       return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
2893     }
2894 
2895 #  if defined( VK_USE_PLATFORM_XLIB_KHR )
2896     //=== VK_KHR_xlib_surface ===
2897 
vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2898     VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
2899                                      const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
2900                                      const VkAllocationCallbacks *      pAllocator,
2901                                      VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
2902     {
2903       return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2904     }
2905 
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID) const2906     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
2907                                                             uint32_t         queueFamilyIndex,
2908                                                             Display *        dpy,
2909                                                             VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
2910     {
2911       return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
2912     }
2913 #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
2914 
2915 #  if defined( VK_USE_PLATFORM_XCB_KHR )
2916     //=== VK_KHR_xcb_surface ===
2917 
vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2918     VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
2919                                     const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
2920                                     const VkAllocationCallbacks *     pAllocator,
2921                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
2922     {
2923       return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2924     }
2925 
vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id) const2926     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
2927                                                            uint32_t           queueFamilyIndex,
2928                                                            xcb_connection_t * connection,
2929                                                            xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
2930     {
2931       return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
2932     }
2933 #  endif /*VK_USE_PLATFORM_XCB_KHR*/
2934 
2935 #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
2936     //=== VK_KHR_wayland_surface ===
2937 
vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2938     VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
2939                                         const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
2940                                         const VkAllocationCallbacks *         pAllocator,
2941                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2942     {
2943       return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2944     }
2945 
vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct wl_display * display) const2946     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
2947                                                                uint32_t            queueFamilyIndex,
2948                                                                struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
2949     {
2950       return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
2951     }
2952 #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2953 
2954 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
2955     //=== VK_KHR_android_surface ===
2956 
vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2957     VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
2958                                         const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
2959                                         const VkAllocationCallbacks *         pAllocator,
2960                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2961     {
2962       return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2963     }
2964 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2965 
2966 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
2967     //=== VK_KHR_win32_surface ===
2968 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2969     VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2970                                       const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2971                                       const VkAllocationCallbacks *       pAllocator,
2972                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2973     {
2974       return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2975     }
2976 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2977     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice,
2978                                                              uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2979     {
2980       return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2981     }
2982 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2983 
2984     //=== VK_EXT_debug_report ===
2985 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2986     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2987                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2988                                              const VkAllocationCallbacks *              pAllocator,
2989                                              VkDebugReportCallbackEXT * pCallback ) const VULKAN_HPP_NOEXCEPT
2990     {
2991       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2992     }
2993 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2994     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2995                                           VkDebugReportCallbackEXT      callback,
2996                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2997     {
2998       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2999     }
3000 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const3001     void vkDebugReportMessageEXT( VkInstance                 instance,
3002                                   VkDebugReportFlagsEXT      flags,
3003                                   VkDebugReportObjectTypeEXT objectType,
3004                                   uint64_t                   object,
3005                                   size_t                     location,
3006                                   int32_t                    messageCode,
3007                                   const char *               pLayerPrefix,
3008                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
3009     {
3010       return ::vkDebugReportMessageEXT(
3011         instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
3012     }
3013 
3014     //=== VK_EXT_debug_marker ===
3015 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const3016     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice                              device,
3017                                            const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3018     {
3019       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
3020     }
3021 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const3022     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice                               device,
3023                                             const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3024     {
3025       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
3026     }
3027 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const3028     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer                    commandBuffer,
3029                                    const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
3030     {
3031       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
3032     }
3033 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const3034     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3035     {
3036       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
3037     }
3038 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const3039     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer                    commandBuffer,
3040                                     const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
3041     {
3042       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
3043     }
3044 
3045 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3046     //=== VK_KHR_video_queue ===
3047 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const3048     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice          physicalDevice,
3049                                                       const VkVideoProfileKHR * pVideoProfile,
3050                                                       VkVideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3051     {
3052       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
3053     }
3054 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const3055     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3056                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
3057                                                           uint32_t *                   pVideoFormatPropertyCount,
3058                                                           VkVideoFormatPropertiesKHR * pVideoFormatProperties ) const
3059       VULKAN_HPP_NOEXCEPT
3060     {
3061       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR(
3062         physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
3063     }
3064 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const3065     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
3066                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
3067                                       const VkAllocationCallbacks *       pAllocator,
3068                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
3069     {
3070       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
3071     }
3072 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const3073     void vkDestroyVideoSessionKHR( VkDevice                      device,
3074                                    VkVideoSessionKHR             videoSession,
3075                                    const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3076     {
3077       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
3078     }
3079 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pVideoSessionMemoryRequirementsCount,VkVideoGetMemoryPropertiesKHR * pVideoSessionMemoryRequirements) const3080     VkResult vkGetVideoSessionMemoryRequirementsKHR(
3081       VkDevice                        device,
3082       VkVideoSessionKHR               videoSession,
3083       uint32_t *                      pVideoSessionMemoryRequirementsCount,
3084       VkVideoGetMemoryPropertiesKHR * pVideoSessionMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3085     {
3086       return ::vkGetVideoSessionMemoryRequirementsKHR(
3087         device, videoSession, pVideoSessionMemoryRequirementsCount, pVideoSessionMemoryRequirements );
3088     }
3089 
3090     VkResult
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t videoSessionBindMemoryCount,const VkVideoBindMemoryKHR * pVideoSessionBindMemories) const3091       vkBindVideoSessionMemoryKHR( VkDevice                     device,
3092                                    VkVideoSessionKHR            videoSession,
3093                                    uint32_t                     videoSessionBindMemoryCount,
3094                                    const VkVideoBindMemoryKHR * pVideoSessionBindMemories ) const VULKAN_HPP_NOEXCEPT
3095     {
3096       return ::vkBindVideoSessionMemoryKHR(
3097         device, videoSession, videoSessionBindMemoryCount, pVideoSessionBindMemories );
3098     }
3099 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const3100     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
3101                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
3102                                                 const VkAllocationCallbacks *                 pAllocator,
3103                                                 VkVideoSessionParametersKHR * pVideoSessionParameters ) const
3104       VULKAN_HPP_NOEXCEPT
3105     {
3106       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
3107     }
3108 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const3109     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
3110                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
3111                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const
3112       VULKAN_HPP_NOEXCEPT
3113     {
3114       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
3115     }
3116 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const3117     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
3118                                              VkVideoSessionParametersKHR   videoSessionParameters,
3119                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3120     {
3121       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
3122     }
3123 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const3124     void vkCmdBeginVideoCodingKHR( VkCommandBuffer                   commandBuffer,
3125                                    const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
3126     {
3127       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
3128     }
3129 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const3130     void vkCmdEndVideoCodingKHR( VkCommandBuffer                 commandBuffer,
3131                                  const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
3132     {
3133       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
3134     }
3135 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const3136     void vkCmdControlVideoCodingKHR( VkCommandBuffer                     commandBuffer,
3137                                      const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
3138     {
3139       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
3140     }
3141 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3142 
3143 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3144     //=== VK_KHR_video_decode_queue ===
3145 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pFrameInfo) const3146     void vkCmdDecodeVideoKHR( VkCommandBuffer              commandBuffer,
3147                               const VkVideoDecodeInfoKHR * pFrameInfo ) const VULKAN_HPP_NOEXCEPT
3148     {
3149       return ::vkCmdDecodeVideoKHR( commandBuffer, pFrameInfo );
3150     }
3151 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3152 
3153     //=== VK_EXT_transform_feedback ===
3154 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const3155     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
3156                                                uint32_t             firstBinding,
3157                                                uint32_t             bindingCount,
3158                                                const VkBuffer *     pBuffers,
3159                                                const VkDeviceSize * pOffsets,
3160                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
3161     {
3162       return ::vkCmdBindTransformFeedbackBuffersEXT(
3163         commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
3164     }
3165 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const3166     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
3167                                          uint32_t             firstCounterBuffer,
3168                                          uint32_t             counterBufferCount,
3169                                          const VkBuffer *     pCounterBuffers,
3170                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
3171     {
3172       return ::vkCmdBeginTransformFeedbackEXT(
3173         commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
3174     }
3175 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const3176     void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
3177                                        uint32_t             firstCounterBuffer,
3178                                        uint32_t             counterBufferCount,
3179                                        const VkBuffer *     pCounterBuffers,
3180                                        const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
3181     {
3182       return ::vkCmdEndTransformFeedbackEXT(
3183         commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
3184     }
3185 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const3186     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer     commandBuffer,
3187                                     VkQueryPool         queryPool,
3188                                     uint32_t            query,
3189                                     VkQueryControlFlags flags,
3190                                     uint32_t            index ) const VULKAN_HPP_NOEXCEPT
3191     {
3192       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
3193     }
3194 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const3195     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer,
3196                                   VkQueryPool     queryPool,
3197                                   uint32_t        query,
3198                                   uint32_t        index ) const VULKAN_HPP_NOEXCEPT
3199     {
3200       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
3201     }
3202 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const3203     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
3204                                         uint32_t        instanceCount,
3205                                         uint32_t        firstInstance,
3206                                         VkBuffer        counterBuffer,
3207                                         VkDeviceSize    counterBufferOffset,
3208                                         uint32_t        counterOffset,
3209                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
3210     {
3211       return ::vkCmdDrawIndirectByteCountEXT(
3212         commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
3213     }
3214 
3215     //=== VK_NVX_binary_import ===
3216 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const3217     VkResult vkCreateCuModuleNVX( VkDevice                        device,
3218                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
3219                                   const VkAllocationCallbacks *   pAllocator,
3220                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
3221     {
3222       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
3223     }
3224 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const3225     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
3226                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
3227                                     const VkAllocationCallbacks *     pAllocator,
3228                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
3229     {
3230       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
3231     }
3232 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const3233     void vkDestroyCuModuleNVX( VkDevice                      device,
3234                                VkCuModuleNVX                 module,
3235                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3236     {
3237       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
3238     }
3239 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const3240     void vkDestroyCuFunctionNVX( VkDevice                      device,
3241                                  VkCuFunctionNVX               function,
3242                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3243     {
3244       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
3245     }
3246 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const3247     void vkCmdCuLaunchKernelNVX( VkCommandBuffer           commandBuffer,
3248                                  const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
3249     {
3250       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
3251     }
3252 
3253     //=== VK_NVX_image_view_handle ===
3254 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3255     uint32_t vkGetImageViewHandleNVX( VkDevice                         device,
3256                                       const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3257     {
3258       return ::vkGetImageViewHandleNVX( device, pInfo );
3259     }
3260 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const3261     VkResult vkGetImageViewAddressNVX( VkDevice                          device,
3262                                        VkImageView                       imageView,
3263                                        VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
3264     {
3265       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
3266     }
3267 
3268     //=== VK_AMD_draw_indirect_count ===
3269 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3270     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
3271                                     VkBuffer        buffer,
3272                                     VkDeviceSize    offset,
3273                                     VkBuffer        countBuffer,
3274                                     VkDeviceSize    countBufferOffset,
3275                                     uint32_t        maxDrawCount,
3276                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3277     {
3278       return ::vkCmdDrawIndirectCountAMD(
3279         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3280     }
3281 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3282     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
3283                                            VkBuffer        buffer,
3284                                            VkDeviceSize    offset,
3285                                            VkBuffer        countBuffer,
3286                                            VkDeviceSize    countBufferOffset,
3287                                            uint32_t        maxDrawCount,
3288                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3289     {
3290       return ::vkCmdDrawIndexedIndirectCountAMD(
3291         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3292     }
3293 
3294     //=== VK_AMD_shader_info ===
3295 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const3296     VkResult vkGetShaderInfoAMD( VkDevice              device,
3297                                  VkPipeline            pipeline,
3298                                  VkShaderStageFlagBits shaderStage,
3299                                  VkShaderInfoTypeAMD   infoType,
3300                                  size_t *              pInfoSize,
3301                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
3302     {
3303       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
3304     }
3305 
3306 #  if defined( VK_USE_PLATFORM_GGP )
3307     //=== VK_GGP_stream_descriptor_surface ===
3308 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3309     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3310                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3311                                                  const VkAllocationCallbacks *                  pAllocator,
3312                                                  VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
3313     {
3314       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3315     }
3316 #  endif /*VK_USE_PLATFORM_GGP*/
3317 
3318     //=== VK_NV_external_memory_capabilities ===
3319 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3320     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3321       VkPhysicalDevice                    physicalDevice,
3322       VkFormat                            format,
3323       VkImageType                         type,
3324       VkImageTiling                       tiling,
3325       VkImageUsageFlags                   usage,
3326       VkImageCreateFlags                  flags,
3327       VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3328       VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3329     {
3330       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3331         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3332     }
3333 
3334 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3335     //=== VK_NV_external_memory_win32 ===
3336 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3337     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3338                                        VkDeviceMemory                    memory,
3339                                        VkExternalMemoryHandleTypeFlagsNV handleType,
3340                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3341     {
3342       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3343     }
3344 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3345 
3346     //=== VK_KHR_get_physical_device_properties2 ===
3347 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3348     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice            physicalDevice,
3349                                           VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3350     {
3351       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3352     }
3353 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3354     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice              physicalDevice,
3355                                             VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3356     {
3357       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3358     }
3359 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3360     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3361                                                   VkFormat              format,
3362                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3363     {
3364       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3365     }
3366 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3367     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3368                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3369                                                            VkImageFormatProperties2 * pImageFormatProperties ) const
3370       VULKAN_HPP_NOEXCEPT
3371     {
3372       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3373     }
3374 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3375     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3376                                                        uint32_t *                 pQueueFamilyPropertyCount,
3377                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
3378       VULKAN_HPP_NOEXCEPT
3379     {
3380       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
3381         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3382     }
3383 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3384     void vkGetPhysicalDeviceMemoryProperties2KHR(
3385       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3386     {
3387       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3388     }
3389 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3390     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice,
3391                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3392                                                              uint32_t *                       pPropertyCount,
3393                                                              VkSparseImageFormatProperties2 * pProperties ) const
3394       VULKAN_HPP_NOEXCEPT
3395     {
3396       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
3397         physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3398     }
3399 
3400     //=== VK_KHR_device_group ===
3401 
3402     void
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3403       vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3404                                              uint32_t                   heapIndex,
3405                                              uint32_t                   localDeviceIndex,
3406                                              uint32_t                   remoteDeviceIndex,
3407                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3408     {
3409       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR(
3410         device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3411     }
3412 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3413     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3414     {
3415       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3416     }
3417 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3418     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3419                                uint32_t        baseGroupX,
3420                                uint32_t        baseGroupY,
3421                                uint32_t        baseGroupZ,
3422                                uint32_t        groupCountX,
3423                                uint32_t        groupCountY,
3424                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3425     {
3426       return ::vkCmdDispatchBaseKHR(
3427         commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3428     }
3429 
3430 #  if defined( VK_USE_PLATFORM_VI_NN )
3431     //=== VK_NN_vi_surface ===
3432 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3433     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3434                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
3435                                   const VkAllocationCallbacks *   pAllocator,
3436                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3437     {
3438       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3439     }
3440 #  endif /*VK_USE_PLATFORM_VI_NN*/
3441 
3442     //=== VK_KHR_maintenance1 ===
3443 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3444     void vkTrimCommandPoolKHR( VkDevice               device,
3445                                VkCommandPool          commandPool,
3446                                VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3447     {
3448       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3449     }
3450 
3451     //=== VK_KHR_device_group_creation ===
3452 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3453     VkResult vkEnumeratePhysicalDeviceGroupsKHR(
3454       VkInstance                        instance,
3455       uint32_t *                        pPhysicalDeviceGroupCount,
3456       VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3457     {
3458       return ::vkEnumeratePhysicalDeviceGroupsKHR(
3459         instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3460     }
3461 
3462     //=== VK_KHR_external_memory_capabilities ===
3463 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3464     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3465                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3466                                                          VkExternalBufferProperties * pExternalBufferProperties ) const
3467       VULKAN_HPP_NOEXCEPT
3468     {
3469       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
3470         physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3471     }
3472 
3473 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3474     //=== VK_KHR_external_memory_win32 ===
3475 
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3476     VkResult vkGetMemoryWin32HandleKHR( VkDevice                              device,
3477                                         const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
3478                                         HANDLE *                              pHandle ) const VULKAN_HPP_NOEXCEPT
3479     {
3480       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3481     }
3482 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3483     VkResult vkGetMemoryWin32HandlePropertiesKHR(
3484       VkDevice                           device,
3485       VkExternalMemoryHandleTypeFlagBits handleType,
3486       HANDLE                             handle,
3487       VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3488     {
3489       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3490     }
3491 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3492 
3493     //=== VK_KHR_external_memory_fd ===
3494 
3495     VkResult
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3496       vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3497     {
3498       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3499     }
3500 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3501     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3502                                          VkExternalMemoryHandleTypeFlagBits handleType,
3503                                          int                                fd,
3504                                          VkMemoryFdPropertiesKHR * pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3505     {
3506       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3507     }
3508 
3509     //=== VK_KHR_external_semaphore_capabilities ===
3510 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3511     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
3512       VkPhysicalDevice                              physicalDevice,
3513       const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3514       VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3515     {
3516       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
3517         physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3518     }
3519 
3520 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3521     //=== VK_KHR_external_semaphore_win32 ===
3522 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3523     VkResult vkImportSemaphoreWin32HandleKHR(
3524       VkDevice                                    device,
3525       const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3526     {
3527       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3528     }
3529 
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3530     VkResult vkGetSemaphoreWin32HandleKHR( VkDevice                                 device,
3531                                            const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
3532                                            HANDLE *                                 pHandle ) const VULKAN_HPP_NOEXCEPT
3533     {
3534       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3535     }
3536 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3537 
3538     //=== VK_KHR_external_semaphore_fd ===
3539 
3540     VkResult
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3541       vkImportSemaphoreFdKHR( VkDevice                           device,
3542                               const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3543     {
3544       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3545     }
3546 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3547     VkResult vkGetSemaphoreFdKHR( VkDevice                        device,
3548                                   const VkSemaphoreGetFdInfoKHR * pGetFdInfo,
3549                                   int *                           pFd ) const VULKAN_HPP_NOEXCEPT
3550     {
3551       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3552     }
3553 
3554     //=== VK_KHR_push_descriptor ===
3555 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3556     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3557                                     VkPipelineBindPoint          pipelineBindPoint,
3558                                     VkPipelineLayout             layout,
3559                                     uint32_t                     set,
3560                                     uint32_t                     descriptorWriteCount,
3561                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3562     {
3563       return ::vkCmdPushDescriptorSetKHR(
3564         commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3565     }
3566 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3567     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3568                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3569                                                 VkPipelineLayout           layout,
3570                                                 uint32_t                   set,
3571                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
3572     {
3573       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3574     }
3575 
3576     //=== VK_EXT_conditional_rendering ===
3577 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3578     void vkCmdBeginConditionalRenderingEXT(
3579       VkCommandBuffer                            commandBuffer,
3580       const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3581     {
3582       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3583     }
3584 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3585     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3586     {
3587       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3588     }
3589 
3590     //=== VK_KHR_descriptor_update_template ===
3591 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3592     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3593                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3594                                                   const VkAllocationCallbacks *                pAllocator,
3595                                                   VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
3596       VULKAN_HPP_NOEXCEPT
3597     {
3598       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3599     }
3600 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3601     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3602                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3603                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3604     {
3605       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3606     }
3607 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3608     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3609                                                VkDescriptorSet            descriptorSet,
3610                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3611                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
3612     {
3613       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3614     }
3615 
3616     //=== VK_NV_clip_space_w_scaling ===
3617 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3618     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3619                                      uint32_t                     firstViewport,
3620                                      uint32_t                     viewportCount,
3621                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3622     {
3623       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3624     }
3625 
3626     //=== VK_EXT_direct_mode_display ===
3627 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3628     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3629     {
3630       return ::vkReleaseDisplayEXT( physicalDevice, display );
3631     }
3632 
3633 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3634     //=== VK_EXT_acquire_xlib_display ===
3635 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3636     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice,
3637                                       Display *        dpy,
3638                                       VkDisplayKHR     display ) const VULKAN_HPP_NOEXCEPT
3639     {
3640       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3641     }
3642 
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3643     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice,
3644                                          Display *        dpy,
3645                                          RROutput         rrOutput,
3646                                          VkDisplayKHR *   pDisplay ) const VULKAN_HPP_NOEXCEPT
3647     {
3648       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3649     }
3650 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3651 
3652     //=== VK_EXT_display_surface_counter ===
3653 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3654     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3655                                                          VkSurfaceKHR                surface,
3656                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const
3657       VULKAN_HPP_NOEXCEPT
3658     {
3659       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3660     }
3661 
3662     //=== VK_EXT_display_control ===
3663 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3664     VkResult vkDisplayPowerControlEXT( VkDevice                      device,
3665                                        VkDisplayKHR                  display,
3666                                        const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3667     {
3668       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3669     }
3670 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3671     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3672                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3673                                        const VkAllocationCallbacks * pAllocator,
3674                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3675     {
3676       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3677     }
3678 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3679     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3680                                         VkDisplayKHR                  display,
3681                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
3682                                         const VkAllocationCallbacks * pAllocator,
3683                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3684     {
3685       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3686     }
3687 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3688     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3689                                        VkSwapchainKHR              swapchain,
3690                                        VkSurfaceCounterFlagBitsEXT counter,
3691                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3692     {
3693       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3694     }
3695 
3696     //=== VK_GOOGLE_display_timing ===
3697 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3698     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3699                                               VkSwapchainKHR                 swapchain,
3700                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const
3701       VULKAN_HPP_NOEXCEPT
3702     {
3703       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3704     }
3705 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3706     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3707                                                 VkSwapchainKHR                   swapchain,
3708                                                 uint32_t *                       pPresentationTimingCount,
3709                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const
3710       VULKAN_HPP_NOEXCEPT
3711     {
3712       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3713     }
3714 
3715     //=== VK_EXT_discard_rectangles ===
3716 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3717     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3718                                       uint32_t         firstDiscardRectangle,
3719                                       uint32_t         discardRectangleCount,
3720                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3721     {
3722       return ::vkCmdSetDiscardRectangleEXT(
3723         commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3724     }
3725 
3726     //=== VK_EXT_hdr_metadata ===
3727 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3728     void vkSetHdrMetadataEXT( VkDevice                 device,
3729                               uint32_t                 swapchainCount,
3730                               const VkSwapchainKHR *   pSwapchains,
3731                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3732     {
3733       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3734     }
3735 
3736     //=== VK_KHR_create_renderpass2 ===
3737 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3738     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3739                                      const VkRenderPassCreateInfo2 * pCreateInfo,
3740                                      const VkAllocationCallbacks *   pAllocator,
3741                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3742     {
3743       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3744     }
3745 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3746     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3747                                    const VkRenderPassBeginInfo * pRenderPassBegin,
3748                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3749     {
3750       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3751     }
3752 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3753     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3754                                const VkSubpassBeginInfo * pSubpassBeginInfo,
3755                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3756     {
3757       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3758     }
3759 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3760     void vkCmdEndRenderPass2KHR( VkCommandBuffer          commandBuffer,
3761                                  const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3762     {
3763       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3764     }
3765 
3766     //=== VK_KHR_shared_presentable_image ===
3767 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3768     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3769     {
3770       return ::vkGetSwapchainStatusKHR( device, swapchain );
3771     }
3772 
3773     //=== VK_KHR_external_fence_capabilities ===
3774 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3775     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3776                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3777                                                         VkExternalFenceProperties * pExternalFenceProperties ) const
3778       VULKAN_HPP_NOEXCEPT
3779     {
3780       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR(
3781         physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3782     }
3783 
3784 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3785     //=== VK_KHR_external_fence_win32 ===
3786 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3787     VkResult vkImportFenceWin32HandleKHR(
3788       VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3789     {
3790       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3791     }
3792 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3793     VkResult vkGetFenceWin32HandleKHR( VkDevice                             device,
3794                                        const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
3795                                        HANDLE *                             pHandle ) const VULKAN_HPP_NOEXCEPT
3796     {
3797       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3798     }
3799 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3800 
3801     //=== VK_KHR_external_fence_fd ===
3802 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3803     VkResult vkImportFenceFdKHR( VkDevice                       device,
3804                                  const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3805     {
3806       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3807     }
3808 
3809     VkResult
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3810       vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3811     {
3812       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3813     }
3814 
3815     //=== VK_KHR_performance_query ===
3816 
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3817     VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3818       VkPhysicalDevice                     physicalDevice,
3819       uint32_t                             queueFamilyIndex,
3820       uint32_t *                           pCounterCount,
3821       VkPerformanceCounterKHR *            pCounters,
3822       VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3823     {
3824       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3825         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3826     }
3827 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3828     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
3829       VkPhysicalDevice                            physicalDevice,
3830       const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3831       uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3832     {
3833       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
3834         physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3835     }
3836 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3837     VkResult vkAcquireProfilingLockKHR( VkDevice                              device,
3838                                         const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3839     {
3840       return ::vkAcquireProfilingLockKHR( device, pInfo );
3841     }
3842 
vkReleaseProfilingLockKHR(VkDevice device) const3843     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3844     {
3845       return ::vkReleaseProfilingLockKHR( device );
3846     }
3847 
3848     //=== VK_KHR_get_surface_capabilities2 ===
3849 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3850     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3851                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3852                                                          VkSurfaceCapabilities2KHR * pSurfaceCapabilities ) const
3853       VULKAN_HPP_NOEXCEPT
3854     {
3855       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3856     }
3857 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3858     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3859                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3860                                                     uint32_t *                              pSurfaceFormatCount,
3861                                                     VkSurfaceFormat2KHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3862     {
3863       return ::vkGetPhysicalDeviceSurfaceFormats2KHR(
3864         physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3865     }
3866 
3867     //=== VK_KHR_get_display_properties2 ===
3868 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3869     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3870                                                        uint32_t *                pPropertyCount,
3871                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3872     {
3873       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3874     }
3875 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3876     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3877                                                             uint32_t *                     pPropertyCount,
3878                                                             VkDisplayPlaneProperties2KHR * pProperties ) const
3879       VULKAN_HPP_NOEXCEPT
3880     {
3881       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3882     }
3883 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3884     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3885                                              VkDisplayKHR                  display,
3886                                              uint32_t *                    pPropertyCount,
3887                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3888     {
3889       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3890     }
3891 
3892     VkResult
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3893       vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3894                                          const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3895                                          VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3896     {
3897       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3898     }
3899 
3900 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3901     //=== VK_MVK_ios_surface ===
3902 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3903     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3904                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3905                                     const VkAllocationCallbacks *     pAllocator,
3906                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3907     {
3908       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3909     }
3910 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3911 
3912 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3913     //=== VK_MVK_macos_surface ===
3914 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3915     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3916                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3917                                       const VkAllocationCallbacks *       pAllocator,
3918                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3919     {
3920       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3921     }
3922 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3923 
3924     //=== VK_EXT_debug_utils ===
3925 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3926     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice                              device,
3927                                            const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3928     {
3929       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3930     }
3931 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3932     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice                             device,
3933                                           const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3934     {
3935       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3936     }
3937 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3938     void vkQueueBeginDebugUtilsLabelEXT( VkQueue                      queue,
3939                                          const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3940     {
3941       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3942     }
3943 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3944     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3945     {
3946       return ::vkQueueEndDebugUtilsLabelEXT( queue );
3947     }
3948 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3949     void vkQueueInsertDebugUtilsLabelEXT( VkQueue                      queue,
3950                                           const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3951     {
3952       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3953     }
3954 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3955     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
3956                                        const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3957     {
3958       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3959     }
3960 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3961     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3962     {
3963       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3964     }
3965 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3966     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
3967                                         const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3968     {
3969       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3970     }
3971 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3972     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3973                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3974                                              const VkAllocationCallbacks *              pAllocator,
3975                                              VkDebugUtilsMessengerEXT * pMessenger ) const VULKAN_HPP_NOEXCEPT
3976     {
3977       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3978     }
3979 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3980     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3981                                           VkDebugUtilsMessengerEXT      messenger,
3982                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3983     {
3984       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3985     }
3986 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3987     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3988                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3989                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3990                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const
3991       VULKAN_HPP_NOEXCEPT
3992     {
3993       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3994     }
3995 
3996 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3997     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3998 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3999     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
4000                                                           const struct AHardwareBuffer *             buffer,
4001                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const
4002       VULKAN_HPP_NOEXCEPT
4003     {
4004       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
4005     }
4006 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const4007     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
4008                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
4009                                                       struct AHardwareBuffer ** pBuffer ) const VULKAN_HPP_NOEXCEPT
4010     {
4011       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
4012     }
4013 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
4014 
4015     //=== VK_EXT_sample_locations ===
4016 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const4017     void vkCmdSetSampleLocationsEXT( VkCommandBuffer                  commandBuffer,
4018                                      const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
4019     {
4020       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
4021     }
4022 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const4023     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
4024                                                       VkSampleCountFlagBits        samples,
4025                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const
4026       VULKAN_HPP_NOEXCEPT
4027     {
4028       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
4029     }
4030 
4031     //=== VK_KHR_get_memory_requirements2 ===
4032 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4033     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
4034                                            const VkImageMemoryRequirementsInfo2 * pInfo,
4035                                            VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4036     {
4037       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
4038     }
4039 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4040     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
4041                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
4042                                             VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4043     {
4044       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
4045     }
4046 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const4047     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
4048                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
4049                                                  uint32_t *                         pSparseMemoryRequirementCount,
4050                                                  VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
4051       VULKAN_HPP_NOEXCEPT
4052     {
4053       return ::vkGetImageSparseMemoryRequirements2KHR(
4054         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
4055     }
4056 
4057     //=== VK_KHR_acceleration_structure ===
4058 
4059     VkResult
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const4060       vkCreateAccelerationStructureKHR( VkDevice                                     device,
4061                                         const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
4062                                         const VkAllocationCallbacks *                pAllocator,
4063                                         VkAccelerationStructureKHR * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4064     {
4065       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
4066     }
4067 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const4068     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
4069                                             VkAccelerationStructureKHR    accelerationStructure,
4070                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4071     {
4072       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
4073     }
4074 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const4075     void vkCmdBuildAccelerationStructuresKHR(
4076       VkCommandBuffer                                          commandBuffer,
4077       uint32_t                                                 infoCount,
4078       const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
4079       const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
4080     {
4081       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
4082     }
4083 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const4084     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
4085                                                       uint32_t                                            infoCount,
4086                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
4087                                                       const VkDeviceAddress *  pIndirectDeviceAddresses,
4088                                                       const uint32_t *         pIndirectStrides,
4089                                                       const uint32_t * const * ppMaxPrimitiveCounts ) const
4090       VULKAN_HPP_NOEXCEPT
4091     {
4092       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
4093         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
4094     }
4095 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const4096     VkResult vkBuildAccelerationStructuresKHR(
4097       VkDevice                                                 device,
4098       VkDeferredOperationKHR                                   deferredOperation,
4099       uint32_t                                                 infoCount,
4100       const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
4101       const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
4102     {
4103       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
4104     }
4105 
4106     VkResult
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const4107       vkCopyAccelerationStructureKHR( VkDevice                                   device,
4108                                       VkDeferredOperationKHR                     deferredOperation,
4109                                       const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
4110     {
4111       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
4112     }
4113 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const4114     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice               device,
4115                                                      VkDeferredOperationKHR deferredOperation,
4116                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const
4117       VULKAN_HPP_NOEXCEPT
4118     {
4119       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
4120     }
4121 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const4122     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice               device,
4123                                                      VkDeferredOperationKHR deferredOperation,
4124                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const
4125       VULKAN_HPP_NOEXCEPT
4126     {
4127       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
4128     }
4129 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const4130     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
4131                                                          uint32_t                           accelerationStructureCount,
4132                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
4133                                                          VkQueryType                        queryType,
4134                                                          size_t                             dataSize,
4135                                                          void *                             pData,
4136                                                          size_t stride ) const VULKAN_HPP_NOEXCEPT
4137     {
4138       return ::vkWriteAccelerationStructuresPropertiesKHR(
4139         device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
4140     }
4141 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const4142     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer                            commandBuffer,
4143                                             const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
4144     {
4145       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
4146     }
4147 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const4148     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
4149                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const
4150       VULKAN_HPP_NOEXCEPT
4151     {
4152       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
4153     }
4154 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const4155     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
4156                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const
4157       VULKAN_HPP_NOEXCEPT
4158     {
4159       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
4160     }
4161 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const4162     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR(
4163       VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
4164     {
4165       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
4166     }
4167 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4168     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
4169                                                         uint32_t                           accelerationStructureCount,
4170                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
4171                                                         VkQueryType                        queryType,
4172                                                         VkQueryPool                        queryPool,
4173                                                         uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
4174     {
4175       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
4176         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4177     }
4178 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const4179     void vkGetDeviceAccelerationStructureCompatibilityKHR(
4180       VkDevice                                      device,
4181       const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
4182       VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
4183     {
4184       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
4185     }
4186 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const4187     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
4188                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
4189                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
4190                                                   const uint32_t *                           pMaxPrimitiveCounts,
4191                                                   VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo ) const
4192       VULKAN_HPP_NOEXCEPT
4193     {
4194       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
4195     }
4196 
4197     //=== VK_KHR_sampler_ycbcr_conversion ===
4198 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const4199     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
4200                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
4201                                                 const VkAllocationCallbacks *              pAllocator,
4202                                                 VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
4203     {
4204       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
4205     }
4206 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const4207     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
4208                                              VkSamplerYcbcrConversion      ycbcrConversion,
4209                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4210     {
4211       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
4212     }
4213 
4214     //=== VK_KHR_bind_memory2 ===
4215 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const4216     VkResult vkBindBufferMemory2KHR( VkDevice                       device,
4217                                      uint32_t                       bindInfoCount,
4218                                      const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4219     {
4220       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
4221     }
4222 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const4223     VkResult vkBindImageMemory2KHR( VkDevice                      device,
4224                                     uint32_t                      bindInfoCount,
4225                                     const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4226     {
4227       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
4228     }
4229 
4230     //=== VK_EXT_image_drm_format_modifier ===
4231 
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const4232     VkResult vkGetImageDrmFormatModifierPropertiesEXT(
4233       VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
4234     {
4235       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
4236     }
4237 
4238     //=== VK_EXT_validation_cache ===
4239 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const4240     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
4241                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
4242                                          const VkAllocationCallbacks *          pAllocator,
4243                                          VkValidationCacheEXT * pValidationCache ) const VULKAN_HPP_NOEXCEPT
4244     {
4245       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
4246     }
4247 
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const4248     void vkDestroyValidationCacheEXT( VkDevice                      device,
4249                                       VkValidationCacheEXT          validationCache,
4250                                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4251     {
4252       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
4253     }
4254 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const4255     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
4256                                          VkValidationCacheEXT         dstCache,
4257                                          uint32_t                     srcCacheCount,
4258                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
4259     {
4260       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
4261     }
4262 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const4263     VkResult vkGetValidationCacheDataEXT( VkDevice             device,
4264                                           VkValidationCacheEXT validationCache,
4265                                           size_t *             pDataSize,
4266                                           void *               pData ) const VULKAN_HPP_NOEXCEPT
4267     {
4268       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
4269     }
4270 
4271     //=== VK_NV_shading_rate_image ===
4272 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4273     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer,
4274                                       VkImageView     imageView,
4275                                       VkImageLayout   imageLayout ) const VULKAN_HPP_NOEXCEPT
4276     {
4277       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4278     }
4279 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4280     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4281                                                uint32_t                       firstViewport,
4282                                                uint32_t                       viewportCount,
4283                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const
4284       VULKAN_HPP_NOEXCEPT
4285     {
4286       return ::vkCmdSetViewportShadingRatePaletteNV(
4287         commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4288     }
4289 
4290     void
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4291       vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4292                                    VkCoarseSampleOrderTypeNV           sampleOrderType,
4293                                    uint32_t                            customSampleOrderCount,
4294                                    const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4295     {
4296       return ::vkCmdSetCoarseSampleOrderNV(
4297         commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4298     }
4299 
4300     //=== VK_NV_ray_tracing ===
4301 
4302     VkResult
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4303       vkCreateAccelerationStructureNV( VkDevice                                    device,
4304                                        const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4305                                        const VkAllocationCallbacks *               pAllocator,
4306                                        VkAccelerationStructureNV * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4307     {
4308       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4309     }
4310 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4311     void vkDestroyAccelerationStructureNV( VkDevice                      device,
4312                                            VkAccelerationStructureNV     accelerationStructure,
4313                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4314     {
4315       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4316     }
4317 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4318     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4319                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4320                                                          VkMemoryRequirements2KHR * pMemoryRequirements ) const
4321       VULKAN_HPP_NOEXCEPT
4322     {
4323       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4324     }
4325 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4326     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4327                                                   uint32_t                                        bindInfoCount,
4328                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const
4329       VULKAN_HPP_NOEXCEPT
4330     {
4331       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4332     }
4333 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4334     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4335                                             const VkAccelerationStructureInfoNV * pInfo,
4336                                             VkBuffer                              instanceData,
4337                                             VkDeviceSize                          instanceOffset,
4338                                             VkBool32                              update,
4339                                             VkAccelerationStructureNV             dst,
4340                                             VkAccelerationStructureNV             src,
4341                                             VkBuffer                              scratch,
4342                                             VkDeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT
4343     {
4344       return ::vkCmdBuildAccelerationStructureNV(
4345         commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4346     }
4347 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4348     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4349                                            VkAccelerationStructureNV          dst,
4350                                            VkAccelerationStructureNV          src,
4351                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4352     {
4353       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4354     }
4355 
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) const4356     void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4357                            VkBuffer        raygenShaderBindingTableBuffer,
4358                            VkDeviceSize    raygenShaderBindingOffset,
4359                            VkBuffer        missShaderBindingTableBuffer,
4360                            VkDeviceSize    missShaderBindingOffset,
4361                            VkDeviceSize    missShaderBindingStride,
4362                            VkBuffer        hitShaderBindingTableBuffer,
4363                            VkDeviceSize    hitShaderBindingOffset,
4364                            VkDeviceSize    hitShaderBindingStride,
4365                            VkBuffer        callableShaderBindingTableBuffer,
4366                            VkDeviceSize    callableShaderBindingOffset,
4367                            VkDeviceSize    callableShaderBindingStride,
4368                            uint32_t        width,
4369                            uint32_t        height,
4370                            uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4371     {
4372       return ::vkCmdTraceRaysNV( commandBuffer,
4373                                  raygenShaderBindingTableBuffer,
4374                                  raygenShaderBindingOffset,
4375                                  missShaderBindingTableBuffer,
4376                                  missShaderBindingOffset,
4377                                  missShaderBindingStride,
4378                                  hitShaderBindingTableBuffer,
4379                                  hitShaderBindingOffset,
4380                                  hitShaderBindingStride,
4381                                  callableShaderBindingTableBuffer,
4382                                  callableShaderBindingOffset,
4383                                  callableShaderBindingStride,
4384                                  width,
4385                                  height,
4386                                  depth );
4387     }
4388 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4389     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4390                                             VkPipelineCache                          pipelineCache,
4391                                             uint32_t                                 createInfoCount,
4392                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4393                                             const VkAllocationCallbacks *            pAllocator,
4394                                             VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
4395     {
4396       return ::vkCreateRayTracingPipelinesNV(
4397         device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4398     }
4399 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4400     VkResult vkGetRayTracingShaderGroupHandlesNV( VkDevice   device,
4401                                                   VkPipeline pipeline,
4402                                                   uint32_t   firstGroup,
4403                                                   uint32_t   groupCount,
4404                                                   size_t     dataSize,
4405                                                   void *     pData ) const VULKAN_HPP_NOEXCEPT
4406     {
4407       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4408     }
4409 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4410     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4411                                                  VkAccelerationStructureNV accelerationStructure,
4412                                                  size_t                    dataSize,
4413                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
4414     {
4415       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4416     }
4417 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4418     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4419                                                        uint32_t                          accelerationStructureCount,
4420                                                        const VkAccelerationStructureNV * pAccelerationStructures,
4421                                                        VkQueryType                       queryType,
4422                                                        VkQueryPool                       queryPool,
4423                                                        uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
4424     {
4425       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4426         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4427     }
4428 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4429     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4430     {
4431       return ::vkCompileDeferredNV( device, pipeline, shader );
4432     }
4433 
4434     //=== VK_KHR_maintenance3 ===
4435 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4436     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4437                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4438                                              VkDescriptorSetLayoutSupport * pSupport ) const VULKAN_HPP_NOEXCEPT
4439     {
4440       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4441     }
4442 
4443     //=== VK_KHR_draw_indirect_count ===
4444 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4445     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4446                                     VkBuffer        buffer,
4447                                     VkDeviceSize    offset,
4448                                     VkBuffer        countBuffer,
4449                                     VkDeviceSize    countBufferOffset,
4450                                     uint32_t        maxDrawCount,
4451                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4452     {
4453       return ::vkCmdDrawIndirectCountKHR(
4454         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4455     }
4456 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4457     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4458                                            VkBuffer        buffer,
4459                                            VkDeviceSize    offset,
4460                                            VkBuffer        countBuffer,
4461                                            VkDeviceSize    countBufferOffset,
4462                                            uint32_t        maxDrawCount,
4463                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4464     {
4465       return ::vkCmdDrawIndexedIndirectCountKHR(
4466         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4467     }
4468 
4469     //=== VK_EXT_external_memory_host ===
4470 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4471     VkResult vkGetMemoryHostPointerPropertiesEXT(
4472       VkDevice                           device,
4473       VkExternalMemoryHandleTypeFlagBits handleType,
4474       const void *                       pHostPointer,
4475       VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4476     {
4477       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4478     }
4479 
4480     //=== VK_AMD_buffer_marker ===
4481 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4482     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4483                                     VkPipelineStageFlagBits pipelineStage,
4484                                     VkBuffer                dstBuffer,
4485                                     VkDeviceSize            dstOffset,
4486                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4487     {
4488       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4489     }
4490 
4491     //=== VK_EXT_calibrated_timestamps ===
4492 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainEXT * pTimeDomains) const4493     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4494                                                              uint32_t *        pTimeDomainCount,
4495                                                              VkTimeDomainEXT * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4496     {
4497       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4498     }
4499 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoEXT * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4500     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4501                                            uint32_t                             timestampCount,
4502                                            const VkCalibratedTimestampInfoEXT * pTimestampInfos,
4503                                            uint64_t *                           pTimestamps,
4504                                            uint64_t * pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4505     {
4506       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4507     }
4508 
4509     //=== VK_NV_mesh_shader ===
4510 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4511     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer,
4512                                uint32_t        taskCount,
4513                                uint32_t        firstTask ) const VULKAN_HPP_NOEXCEPT
4514     {
4515       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4516     }
4517 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4518     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer,
4519                                        VkBuffer        buffer,
4520                                        VkDeviceSize    offset,
4521                                        uint32_t        drawCount,
4522                                        uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4523     {
4524       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4525     }
4526 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4527     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4528                                             VkBuffer        buffer,
4529                                             VkDeviceSize    offset,
4530                                             VkBuffer        countBuffer,
4531                                             VkDeviceSize    countBufferOffset,
4532                                             uint32_t        maxDrawCount,
4533                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4534     {
4535       return ::vkCmdDrawMeshTasksIndirectCountNV(
4536         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4537     }
4538 
4539     //=== VK_NV_scissor_exclusive ===
4540 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4541     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4542                                      uint32_t         firstExclusiveScissor,
4543                                      uint32_t         exclusiveScissorCount,
4544                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4545     {
4546       return ::vkCmdSetExclusiveScissorNV(
4547         commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4548     }
4549 
4550     //=== VK_NV_device_diagnostic_checkpoints ===
4551 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4552     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4553     {
4554       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4555     }
4556 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4557     void vkGetQueueCheckpointDataNV( VkQueue              queue,
4558                                      uint32_t *           pCheckpointDataCount,
4559                                      VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4560     {
4561       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4562     }
4563 
4564     //=== VK_KHR_timeline_semaphore ===
4565 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4566     VkResult vkGetSemaphoreCounterValueKHR( VkDevice    device,
4567                                             VkSemaphore semaphore,
4568                                             uint64_t *  pValue ) const VULKAN_HPP_NOEXCEPT
4569     {
4570       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4571     }
4572 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4573     VkResult vkWaitSemaphoresKHR( VkDevice                    device,
4574                                   const VkSemaphoreWaitInfo * pWaitInfo,
4575                                   uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
4576     {
4577       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4578     }
4579 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4580     VkResult vkSignalSemaphoreKHR( VkDevice                      device,
4581                                    const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4582     {
4583       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4584     }
4585 
4586     //=== VK_INTEL_performance_query ===
4587 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4588     VkResult vkInitializePerformanceApiINTEL(
4589       VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4590     {
4591       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4592     }
4593 
vkUninitializePerformanceApiINTEL(VkDevice device) const4594     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4595     {
4596       return ::vkUninitializePerformanceApiINTEL( device );
4597     }
4598 
4599     VkResult
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4600       vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer                      commandBuffer,
4601                                       const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4602     {
4603       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4604     }
4605 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4606     VkResult vkCmdSetPerformanceStreamMarkerINTEL(
4607       VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4608     {
4609       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4610     }
4611 
4612     VkResult
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4613       vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer                        commandBuffer,
4614                                         const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4615     {
4616       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4617     }
4618 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4619     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4620                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4621                                                      VkPerformanceConfigurationINTEL * pConfiguration ) const
4622       VULKAN_HPP_NOEXCEPT
4623     {
4624       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4625     }
4626 
4627     VkResult
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4628       vkReleasePerformanceConfigurationINTEL( VkDevice                        device,
4629                                               VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4630     {
4631       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4632     }
4633 
4634     VkResult
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4635       vkQueueSetPerformanceConfigurationINTEL( VkQueue                         queue,
4636                                                VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4637     {
4638       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4639     }
4640 
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4641     VkResult vkGetPerformanceParameterINTEL( VkDevice                        device,
4642                                              VkPerformanceParameterTypeINTEL parameter,
4643                                              VkPerformanceValueINTEL *       pValue ) const VULKAN_HPP_NOEXCEPT
4644     {
4645       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4646     }
4647 
4648     //=== VK_AMD_display_native_hdr ===
4649 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4650     void vkSetLocalDimmingAMD( VkDevice       device,
4651                                VkSwapchainKHR swapChain,
4652                                VkBool32       localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4653     {
4654       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4655     }
4656 
4657 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4658     //=== VK_FUCHSIA_imagepipe_surface ===
4659 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4660     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4661                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4662                                               const VkAllocationCallbacks *               pAllocator,
4663                                               VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
4664     {
4665       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4666     }
4667 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4668 
4669 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4670     //=== VK_EXT_metal_surface ===
4671 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4672     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4673                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4674                                       const VkAllocationCallbacks *       pAllocator,
4675                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4676     {
4677       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4678     }
4679 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4680 
4681     //=== VK_KHR_fragment_shading_rate ===
4682 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4683     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR(
4684       VkPhysicalDevice                         physicalDevice,
4685       uint32_t *                               pFragmentShadingRateCount,
4686       VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4687     {
4688       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR(
4689         physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4690     }
4691 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4692     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4693                                          const VkExtent2D *                       pFragmentSize,
4694                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const
4695       VULKAN_HPP_NOEXCEPT
4696     {
4697       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4698     }
4699 
4700     //=== VK_EXT_buffer_device_address ===
4701 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4702     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice                          device,
4703                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4704     {
4705       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4706     }
4707 
4708     //=== VK_EXT_tooling_info ===
4709 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolPropertiesEXT * pToolProperties) const4710     VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                    physicalDevice,
4711                                                    uint32_t *                          pToolCount,
4712                                                    VkPhysicalDeviceToolPropertiesEXT * pToolProperties ) const
4713       VULKAN_HPP_NOEXCEPT
4714     {
4715       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4716     }
4717 
4718     //=== VK_NV_cooperative_matrix ===
4719 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4720     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4721                                                                uint32_t *                        pPropertyCount,
4722                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const
4723       VULKAN_HPP_NOEXCEPT
4724     {
4725       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4726     }
4727 
4728     //=== VK_NV_coverage_reduction_mode ===
4729 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4730     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4731       VkPhysicalDevice                         physicalDevice,
4732       uint32_t *                               pCombinationCount,
4733       VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4734     {
4735       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4736         physicalDevice, pCombinationCount, pCombinations );
4737     }
4738 
4739 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4740     //=== VK_EXT_full_screen_exclusive ===
4741 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4742     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4743                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4744                                                          uint32_t *                              pPresentModeCount,
4745                                                          VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
4746     {
4747       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT(
4748         physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4749     }
4750 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4751     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4752     {
4753       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4754     }
4755 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4756     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4757     {
4758       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4759     }
4760 
4761     VkResult
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4762       vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4763                                                const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4764                                                VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
4765     {
4766       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4767     }
4768 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4769 
4770     //=== VK_EXT_headless_surface ===
4771 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4772     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4773                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4774                                          const VkAllocationCallbacks *          pAllocator,
4775                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4776     {
4777       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4778     }
4779 
4780     //=== VK_KHR_buffer_device_address ===
4781 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4782     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice                          device,
4783                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4784     {
4785       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4786     }
4787 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4788     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice                          device,
4789                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4790     {
4791       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4792     }
4793 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4794     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR(
4795       VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4796     {
4797       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4798     }
4799 
4800     //=== VK_EXT_line_rasterization ===
4801 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4802     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer,
4803                                  uint32_t        lineStippleFactor,
4804                                  uint16_t        lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4805     {
4806       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4807     }
4808 
4809     //=== VK_EXT_host_query_reset ===
4810 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4811     void vkResetQueryPoolEXT( VkDevice    device,
4812                               VkQueryPool queryPool,
4813                               uint32_t    firstQuery,
4814                               uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
4815     {
4816       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4817     }
4818 
4819     //=== VK_EXT_extended_dynamic_state ===
4820 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4821     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4822     {
4823       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4824     }
4825 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4826     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4827     {
4828       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4829     }
4830 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4831     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer     commandBuffer,
4832                                        VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4833     {
4834       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4835     }
4836 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4837     void vkCmdSetViewportWithCountEXT( VkCommandBuffer    commandBuffer,
4838                                        uint32_t           viewportCount,
4839                                        const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4840     {
4841       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4842     }
4843 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4844     void vkCmdSetScissorWithCountEXT( VkCommandBuffer  commandBuffer,
4845                                       uint32_t         scissorCount,
4846                                       const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4847     {
4848       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4849     }
4850 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4851     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4852                                      uint32_t             firstBinding,
4853                                      uint32_t             bindingCount,
4854                                      const VkBuffer *     pBuffers,
4855                                      const VkDeviceSize * pOffsets,
4856                                      const VkDeviceSize * pSizes,
4857                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4858     {
4859       return ::vkCmdBindVertexBuffers2EXT(
4860         commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4861     }
4862 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4863     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4864     {
4865       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4866     }
4867 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4868     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer,
4869                                       VkBool32        depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4870     {
4871       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4872     }
4873 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4874     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer,
4875                                     VkCompareOp     depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4876     {
4877       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4878     }
4879 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4880     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer,
4881                                            VkBool32        depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4882     {
4883       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4884     }
4885 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4886     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer,
4887                                        VkBool32        stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4888     {
4889       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4890     }
4891 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4892     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4893                                VkStencilFaceFlags faceMask,
4894                                VkStencilOp        failOp,
4895                                VkStencilOp        passOp,
4896                                VkStencilOp        depthFailOp,
4897                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4898     {
4899       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4900     }
4901 
4902     //=== VK_KHR_deferred_host_operations ===
4903 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4904     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4905                                            const VkAllocationCallbacks * pAllocator,
4906                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4907     {
4908       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4909     }
4910 
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4911     void vkDestroyDeferredOperationKHR( VkDevice                      device,
4912                                         VkDeferredOperationKHR        operation,
4913                                         const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4914     {
4915       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4916     }
4917 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4918     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice               device,
4919                                                       VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4920     {
4921       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4922     }
4923 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4924     VkResult vkGetDeferredOperationResultKHR( VkDevice               device,
4925                                               VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4926     {
4927       return ::vkGetDeferredOperationResultKHR( device, operation );
4928     }
4929 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4930     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4931     {
4932       return ::vkDeferredOperationJoinKHR( device, operation );
4933     }
4934 
4935     //=== VK_KHR_pipeline_executable_properties ===
4936 
4937     VkResult
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4938       vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4939                                             const VkPipelineInfoKHR *           pPipelineInfo,
4940                                             uint32_t *                          pExecutableCount,
4941                                             VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4942     {
4943       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4944     }
4945 
4946     VkResult
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4947       vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4948                                             const VkPipelineExecutableInfoKHR * pExecutableInfo,
4949                                             uint32_t *                          pStatisticCount,
4950                                             VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4951     {
4952       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4953     }
4954 
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4955     VkResult vkGetPipelineExecutableInternalRepresentationsKHR(
4956       VkDevice                                        device,
4957       const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4958       uint32_t *                                      pInternalRepresentationCount,
4959       VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4960     {
4961       return ::vkGetPipelineExecutableInternalRepresentationsKHR(
4962         device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4963     }
4964 
4965     //=== VK_NV_device_generated_commands ===
4966 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4967     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4968                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4969                                                      VkMemoryRequirements2 * pMemoryRequirements ) const
4970       VULKAN_HPP_NOEXCEPT
4971     {
4972       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4973     }
4974 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4975     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4976                                              const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
4977       VULKAN_HPP_NOEXCEPT
4978     {
4979       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4980     }
4981 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4982     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4983                                           VkBool32                          isPreprocessed,
4984                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
4985       VULKAN_HPP_NOEXCEPT
4986     {
4987       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4988     }
4989 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4990     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4991                                          VkPipelineBindPoint pipelineBindPoint,
4992                                          VkPipeline          pipeline,
4993                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4994     {
4995       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4996     }
4997 
4998     VkResult
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4999       vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
5000                                         const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
5001                                         const VkAllocationCallbacks *                pAllocator,
5002                                         VkIndirectCommandsLayoutNV * pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
5003     {
5004       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
5005     }
5006 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const5007     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
5008                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
5009                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5010     {
5011       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
5012     }
5013 
5014     //=== VK_EXT_acquire_drm_display ===
5015 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const5016     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice,
5017                                      int32_t          drmFd,
5018                                      VkDisplayKHR     display ) const VULKAN_HPP_NOEXCEPT
5019     {
5020       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
5021     }
5022 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const5023     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice,
5024                                  int32_t          drmFd,
5025                                  uint32_t         connectorId,
5026                                  VkDisplayKHR *   display ) const VULKAN_HPP_NOEXCEPT
5027     {
5028       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
5029     }
5030 
5031     //=== VK_EXT_private_data ===
5032 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlotEXT * pPrivateDataSlot) const5033     VkResult vkCreatePrivateDataSlotEXT( VkDevice                               device,
5034                                          const VkPrivateDataSlotCreateInfoEXT * pCreateInfo,
5035                                          const VkAllocationCallbacks *          pAllocator,
5036                                          VkPrivateDataSlotEXT * pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
5037     {
5038       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
5039     }
5040 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlotEXT privateDataSlot,const VkAllocationCallbacks * pAllocator) const5041     void vkDestroyPrivateDataSlotEXT( VkDevice                      device,
5042                                       VkPrivateDataSlotEXT          privateDataSlot,
5043                                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5044     {
5045       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
5046     }
5047 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlotEXT privateDataSlot,uint64_t data) const5048     VkResult vkSetPrivateDataEXT( VkDevice             device,
5049                                   VkObjectType         objectType,
5050                                   uint64_t             objectHandle,
5051                                   VkPrivateDataSlotEXT privateDataSlot,
5052                                   uint64_t             data ) const VULKAN_HPP_NOEXCEPT
5053     {
5054       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
5055     }
5056 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlotEXT privateDataSlot,uint64_t * pData) const5057     void vkGetPrivateDataEXT( VkDevice             device,
5058                               VkObjectType         objectType,
5059                               uint64_t             objectHandle,
5060                               VkPrivateDataSlotEXT privateDataSlot,
5061                               uint64_t *           pData ) const VULKAN_HPP_NOEXCEPT
5062     {
5063       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
5064     }
5065 
5066 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
5067     //=== VK_KHR_video_encode_queue ===
5068 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const5069     void vkCmdEncodeVideoKHR( VkCommandBuffer              commandBuffer,
5070                               const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
5071     {
5072       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
5073     }
5074 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
5075 
5076     //=== VK_KHR_synchronization2 ===
5077 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfoKHR * pDependencyInfo) const5078     void vkCmdSetEvent2KHR( VkCommandBuffer             commandBuffer,
5079                             VkEvent                     event,
5080                             const VkDependencyInfoKHR * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
5081     {
5082       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
5083     }
5084 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2KHR stageMask) const5085     void vkCmdResetEvent2KHR( VkCommandBuffer          commandBuffer,
5086                               VkEvent                  event,
5087                               VkPipelineStageFlags2KHR stageMask ) const VULKAN_HPP_NOEXCEPT
5088     {
5089       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
5090     }
5091 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfoKHR * pDependencyInfos) const5092     void vkCmdWaitEvents2KHR( VkCommandBuffer             commandBuffer,
5093                               uint32_t                    eventCount,
5094                               const VkEvent *             pEvents,
5095                               const VkDependencyInfoKHR * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
5096     {
5097       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
5098     }
5099 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfoKHR * pDependencyInfo) const5100     void vkCmdPipelineBarrier2KHR( VkCommandBuffer             commandBuffer,
5101                                    const VkDependencyInfoKHR * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
5102     {
5103       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
5104     }
5105 
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2KHR stage,VkQueryPool queryPool,uint32_t query) const5106     void vkCmdWriteTimestamp2KHR( VkCommandBuffer          commandBuffer,
5107                                   VkPipelineStageFlags2KHR stage,
5108                                   VkQueryPool              queryPool,
5109                                   uint32_t                 query ) const VULKAN_HPP_NOEXCEPT
5110     {
5111       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
5112     }
5113 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2KHR * pSubmits,VkFence fence) const5114     VkResult vkQueueSubmit2KHR( VkQueue                  queue,
5115                                 uint32_t                 submitCount,
5116                                 const VkSubmitInfo2KHR * pSubmits,
5117                                 VkFence                  fence ) const VULKAN_HPP_NOEXCEPT
5118     {
5119       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
5120     }
5121 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2KHR stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const5122     void vkCmdWriteBufferMarker2AMD( VkCommandBuffer          commandBuffer,
5123                                      VkPipelineStageFlags2KHR stage,
5124                                      VkBuffer                 dstBuffer,
5125                                      VkDeviceSize             dstOffset,
5126                                      uint32_t                 marker ) const VULKAN_HPP_NOEXCEPT
5127     {
5128       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
5129     }
5130 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const5131     void vkGetQueueCheckpointData2NV( VkQueue               queue,
5132                                       uint32_t *            pCheckpointDataCount,
5133                                       VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
5134     {
5135       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
5136     }
5137 
5138     //=== VK_NV_fragment_shading_rate_enums ===
5139 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const5140     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
5141                                             VkFragmentShadingRateNV                  shadingRate,
5142                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const
5143       VULKAN_HPP_NOEXCEPT
5144     {
5145       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
5146     }
5147 
5148     //=== VK_KHR_copy_commands2 ===
5149 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2KHR * pCopyBufferInfo) const5150     void vkCmdCopyBuffer2KHR( VkCommandBuffer              commandBuffer,
5151                               const VkCopyBufferInfo2KHR * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5152     {
5153       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5154     }
5155 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2KHR * pCopyImageInfo) const5156     void vkCmdCopyImage2KHR( VkCommandBuffer             commandBuffer,
5157                              const VkCopyImageInfo2KHR * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5158     {
5159       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5160     }
5161 
5162     void
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo) const5163       vkCmdCopyBufferToImage2KHR( VkCommandBuffer                     commandBuffer,
5164                                   const VkCopyBufferToImageInfo2KHR * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5165     {
5166       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5167     }
5168 
5169     void
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo) const5170       vkCmdCopyImageToBuffer2KHR( VkCommandBuffer                     commandBuffer,
5171                                   const VkCopyImageToBufferInfo2KHR * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5172     {
5173       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5174     }
5175 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2KHR * pBlitImageInfo) const5176     void vkCmdBlitImage2KHR( VkCommandBuffer             commandBuffer,
5177                              const VkBlitImageInfo2KHR * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5178     {
5179       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5180     }
5181 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2KHR * pResolveImageInfo) const5182     void vkCmdResolveImage2KHR( VkCommandBuffer                commandBuffer,
5183                                 const VkResolveImageInfo2KHR * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5184     {
5185       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5186     }
5187 
5188 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5189     //=== VK_NV_acquire_winrt_display ===
5190 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5191     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5192     {
5193       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5194     }
5195 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5196     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice,
5197                                   uint32_t         deviceRelativeId,
5198                                   VkDisplayKHR *   pDisplay ) const VULKAN_HPP_NOEXCEPT
5199     {
5200       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5201     }
5202 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5203 
5204 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5205     //=== VK_EXT_directfb_surface ===
5206 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5207     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5208                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5209                                          const VkAllocationCallbacks *          pAllocator,
5210                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5211     {
5212       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5213     }
5214 
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5215     VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice,
5216                                                                 uint32_t         queueFamilyIndex,
5217                                                                 IDirectFB *      dfb ) const VULKAN_HPP_NOEXCEPT
5218     {
5219       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5220     }
5221 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5222 
5223     //=== VK_KHR_ray_tracing_pipeline ===
5224 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const5225     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
5226                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
5227                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
5228                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
5229                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
5230                             uint32_t                                width,
5231                             uint32_t                                height,
5232                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
5233     {
5234       return ::vkCmdTraceRaysKHR( commandBuffer,
5235                                   pRaygenShaderBindingTable,
5236                                   pMissShaderBindingTable,
5237                                   pHitShaderBindingTable,
5238                                   pCallableShaderBindingTable,
5239                                   width,
5240                                   height,
5241                                   depth );
5242     }
5243 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const5244     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
5245                                              VkDeferredOperationKHR                    deferredOperation,
5246                                              VkPipelineCache                           pipelineCache,
5247                                              uint32_t                                  createInfoCount,
5248                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
5249                                              const VkAllocationCallbacks *             pAllocator,
5250                                              VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
5251     {
5252       return ::vkCreateRayTracingPipelinesKHR(
5253         device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
5254     }
5255 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const5256     VkResult vkGetRayTracingShaderGroupHandlesKHR( VkDevice   device,
5257                                                    VkPipeline pipeline,
5258                                                    uint32_t   firstGroup,
5259                                                    uint32_t   groupCount,
5260                                                    size_t     dataSize,
5261                                                    void *     pData ) const VULKAN_HPP_NOEXCEPT
5262     {
5263       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
5264     }
5265 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const5266     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( VkDevice   device,
5267                                                                 VkPipeline pipeline,
5268                                                                 uint32_t   firstGroup,
5269                                                                 uint32_t   groupCount,
5270                                                                 size_t     dataSize,
5271                                                                 void *     pData ) const VULKAN_HPP_NOEXCEPT
5272     {
5273       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
5274         device, pipeline, firstGroup, groupCount, dataSize, pData );
5275     }
5276 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const5277     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
5278                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
5279                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
5280                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
5281                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
5282                                     VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5283     {
5284       return ::vkCmdTraceRaysIndirectKHR( commandBuffer,
5285                                           pRaygenShaderBindingTable,
5286                                           pMissShaderBindingTable,
5287                                           pHitShaderBindingTable,
5288                                           pCallableShaderBindingTable,
5289                                           indirectDeviceAddress );
5290     }
5291 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const5292     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
5293                                                          VkPipeline             pipeline,
5294                                                          uint32_t               group,
5295                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
5296     {
5297       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
5298     }
5299 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const5300     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer,
5301                                                  uint32_t        pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
5302     {
5303       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
5304     }
5305 
5306     //=== VK_EXT_vertex_input_dynamic_state ===
5307 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5308     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5309                                  uint32_t                                      vertexBindingDescriptionCount,
5310                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5311                                  uint32_t                                      vertexAttributeDescriptionCount,
5312                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const
5313       VULKAN_HPP_NOEXCEPT
5314     {
5315       return ::vkCmdSetVertexInputEXT( commandBuffer,
5316                                        vertexBindingDescriptionCount,
5317                                        pVertexBindingDescriptions,
5318                                        vertexAttributeDescriptionCount,
5319                                        pVertexAttributeDescriptions );
5320     }
5321 
5322 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5323     //=== VK_FUCHSIA_external_memory ===
5324 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5325     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5326                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5327                                              zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5328     {
5329       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5330     }
5331 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5332     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA(
5333       VkDevice                                device,
5334       VkExternalMemoryHandleTypeFlagBits      handleType,
5335       zx_handle_t                             zirconHandle,
5336       VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5337     {
5338       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA(
5339         device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5340     }
5341 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5342 
5343 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5344     //=== VK_FUCHSIA_external_semaphore ===
5345 
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5346     VkResult vkImportSemaphoreZirconHandleFUCHSIA(
5347       VkDevice                                         device,
5348       const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5349     {
5350       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5351     }
5352 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5353     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5354                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5355                                                 zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5356     {
5357       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5358     }
5359 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5360 
5361     //=== VK_HUAWEI_subpass_shading ===
5362 
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5363     VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice     device,
5364                                                               VkRenderPass renderpass,
5365                                                               VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5366     {
5367       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5368     }
5369 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5370     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5371     {
5372       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5373     }
5374 
5375     //=== VK_NV_external_memory_rdma ===
5376 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * getMemoryRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5377     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5378                                          const VkMemoryGetRemoteAddressInfoNV * getMemoryRemoteAddressInfo,
5379                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5380     {
5381       return ::vkGetMemoryRemoteAddressNV( device, getMemoryRemoteAddressInfo, pAddress );
5382     }
5383 
5384     //=== VK_EXT_extended_dynamic_state2 ===
5385 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5386     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer,
5387                                         uint32_t        patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5388     {
5389       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5390     }
5391 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5392     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer,
5393                                              VkBool32        rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5394     {
5395       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5396     }
5397 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5398     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5399     {
5400       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5401     }
5402 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5403     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5404     {
5405       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5406     }
5407 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5408     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer,
5409                                             VkBool32        primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5410     {
5411       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5412     }
5413 
5414 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5415     //=== VK_QNX_screen_surface ===
5416 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5417     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5418                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5419                                        const VkAllocationCallbacks *        pAllocator,
5420                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5421     {
5422       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5423     }
5424 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5425     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5426                                                               uint32_t                queueFamilyIndex,
5427                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5428     {
5429       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5430     }
5431 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5432 
5433     //=== VK_EXT_color_write_enable ===
5434 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5435     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer  commandBuffer,
5436                                       uint32_t         attachmentCount,
5437                                       const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5438     {
5439       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5440     }
5441 
5442     //=== VK_EXT_multi_draw ===
5443 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5444     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5445                             uint32_t                   drawCount,
5446                             const VkMultiDrawInfoEXT * pVertexInfo,
5447                             uint32_t                   instanceCount,
5448                             uint32_t                   firstInstance,
5449                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5450     {
5451       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5452     }
5453 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5454     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5455                                    uint32_t                          drawCount,
5456                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5457                                    uint32_t                          instanceCount,
5458                                    uint32_t                          firstInstance,
5459                                    uint32_t                          stride,
5460                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5461     {
5462       return ::vkCmdDrawMultiIndexedEXT(
5463         commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5464     }
5465   };
5466 #endif
5467 
5468   class DispatchLoaderDynamic;
5469 #if !defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC )
5470 #  if defined( VK_NO_PROTOTYPES )
5471 #    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
5472 #  else
5473 #    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 0
5474 #  endif
5475 #endif
5476 
5477 #if !defined( VULKAN_HPP_STORAGE_API )
5478 #  if defined( VULKAN_HPP_STORAGE_SHARED )
5479 #    if defined( _MSC_VER )
5480 #      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
5481 #        define VULKAN_HPP_STORAGE_API __declspec( dllexport )
5482 #      else
5483 #        define VULKAN_HPP_STORAGE_API __declspec( dllimport )
5484 #      endif
5485 #    elif defined( __clang__ ) || defined( __GNUC__ )
5486 #      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
5487 #        define VULKAN_HPP_STORAGE_API __attribute__( ( visibility( "default" ) ) )
5488 #      else
5489 #        define VULKAN_HPP_STORAGE_API
5490 #      endif
5491 #    else
5492 #      define VULKAN_HPP_STORAGE_API
5493 #      pragma warning Unknown import / export semantics
5494 #    endif
5495 #  else
5496 #    define VULKAN_HPP_STORAGE_API
5497 #  endif
5498 #endif
5499 
5500 #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
5501 #  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
5502 #    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::defaultDispatchLoaderDynamic
5503 #    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE                     \
5504       namespace VULKAN_HPP_NAMESPACE                                               \
5505       {                                                                            \
5506         VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic; \
5507       }
5508   extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic;
5509 #  else
5510 #    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic()
5511 #    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
5512 #  endif
5513 #endif
5514 
5515 #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
5516 #  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
5517 #    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic
5518 #  else
5519 #    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic
5520 #  endif
5521 #endif
5522 
5523 #if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
5524 #  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT
5525 #  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT
5526 #  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
5527 #else
5528 #  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT = {}
5529 #  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT = nullptr
5530 #  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT = VULKAN_HPP_DEFAULT_DISPATCHER
5531 #endif
5532 
5533   struct AllocationCallbacks;
5534 
5535   template <typename OwnerType, typename Dispatch>
5536   class ObjectDestroy
5537   {
5538   public:
5539     ObjectDestroy() = default;
5540 
ObjectDestroy(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch=VULKAN_HPP_DEFAULT_DISPATCHER)5541     ObjectDestroy( OwnerType                           owner,
5542                    Optional<const AllocationCallbacks> allocationCallbacks
5543                                                        VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5544                    Dispatch const &                    dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
5545       : m_owner( owner )
5546       , m_allocationCallbacks( allocationCallbacks )
5547       , m_dispatch( &dispatch )
5548     {}
5549 
getOwner() const5550     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5551     {
5552       return m_owner;
5553     }
getAllocator() const5554     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5555     {
5556       return m_allocationCallbacks;
5557     }
5558 
5559   protected:
5560     template <typename T>
destroy(T t)5561     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5562     {
5563       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5564       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
5565     }
5566 
5567   private:
5568     OwnerType                           m_owner               = {};
5569     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5570     Dispatch const *                    m_dispatch            = nullptr;
5571   };
5572 
5573   class NoParent;
5574 
5575   template <typename Dispatch>
5576   class ObjectDestroy<NoParent, Dispatch>
5577   {
5578   public:
5579     ObjectDestroy() = default;
5580 
ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch=VULKAN_HPP_DEFAULT_DISPATCHER)5581     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
5582                    Dispatch const &                    dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
5583       : m_allocationCallbacks( allocationCallbacks )
5584       , m_dispatch( &dispatch )
5585     {}
5586 
getAllocator() const5587     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5588     {
5589       return m_allocationCallbacks;
5590     }
5591 
5592   protected:
5593     template <typename T>
destroy(T t)5594     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5595     {
5596       VULKAN_HPP_ASSERT( m_dispatch );
5597       t.destroy( m_allocationCallbacks, *m_dispatch );
5598     }
5599 
5600   private:
5601     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5602     Dispatch const *                    m_dispatch            = nullptr;
5603   };
5604 
5605   template <typename OwnerType, typename Dispatch>
5606   class ObjectFree
5607   {
5608   public:
5609     ObjectFree() = default;
5610 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch=VULKAN_HPP_DEFAULT_DISPATCHER)5611     ObjectFree( OwnerType                           owner,
5612                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5613                 Dispatch const & dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
5614       : m_owner( owner )
5615       , m_allocationCallbacks( allocationCallbacks )
5616       , m_dispatch( &dispatch )
5617     {}
5618 
getOwner() const5619     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5620     {
5621       return m_owner;
5622     }
5623 
getAllocator() const5624     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5625     {
5626       return m_allocationCallbacks;
5627     }
5628 
5629   protected:
5630     template <typename T>
destroy(T t)5631     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5632     {
5633       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5634       m_owner.free( t, m_allocationCallbacks, *m_dispatch );
5635     }
5636 
5637   private:
5638     OwnerType                           m_owner               = {};
5639     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5640     Dispatch const *                    m_dispatch            = nullptr;
5641   };
5642 
5643   template <typename OwnerType, typename Dispatch>
5644   class ObjectRelease
5645   {
5646   public:
5647     ObjectRelease() = default;
5648 
ObjectRelease(OwnerType owner,Dispatch const & dispatch=VULKAN_HPP_DEFAULT_DISPATCHER)5649     ObjectRelease( OwnerType owner, Dispatch const & dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
5650       : m_owner( owner )
5651       , m_dispatch( &dispatch )
5652     {}
5653 
getOwner() const5654     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5655     {
5656       return m_owner;
5657     }
5658 
5659   protected:
5660     template <typename T>
destroy(T t)5661     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5662     {
5663       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5664       m_owner.release( t, *m_dispatch );
5665     }
5666 
5667   private:
5668     OwnerType        m_owner    = {};
5669     Dispatch const * m_dispatch = nullptr;
5670   };
5671 
5672   template <typename OwnerType, typename PoolType, typename Dispatch>
5673   class PoolFree
5674   {
5675   public:
5676     PoolFree() = default;
5677 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch=VULKAN_HPP_DEFAULT_DISPATCHER)5678     PoolFree( OwnerType        owner,
5679               PoolType         pool,
5680               Dispatch const & dispatch = VULKAN_HPP_DEFAULT_DISPATCHER ) VULKAN_HPP_NOEXCEPT
5681       : m_owner( owner )
5682       , m_pool( pool )
5683       , m_dispatch( &dispatch )
5684     {}
5685 
getOwner() const5686     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5687     {
5688       return m_owner;
5689     }
getPool() const5690     PoolType getPool() const VULKAN_HPP_NOEXCEPT
5691     {
5692       return m_pool;
5693     }
5694 
5695   protected:
5696     template <typename T>
destroy(T t)5697     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5698     {
5699       m_owner.free( m_pool, t, *m_dispatch );
5700     }
5701 
5702   private:
5703     OwnerType        m_owner    = OwnerType();
5704     PoolType         m_pool     = PoolType();
5705     Dispatch const * m_dispatch = nullptr;
5706   };
5707 
5708   using Bool32          = uint32_t;
5709   using DeviceAddress   = uint64_t;
5710   using DeviceSize      = uint64_t;
5711   using RemoteAddressNV = void *;
5712   using SampleMask      = uint32_t;
5713 }  // namespace VULKAN_HPP_NAMESPACE
5714 
5715 #include <vulkan/vulkan_enums.hpp>
5716 
5717 #ifndef VULKAN_HPP_NO_EXCEPTIONS
5718 namespace std
5719 {
5720   template <>
5721   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
5722   {};
5723 }  // namespace std
5724 #endif
5725 
5726 namespace VULKAN_HPP_NAMESPACE
5727 {
5728 #ifndef VULKAN_HPP_NO_EXCEPTIONS
5729 
5730   class ErrorCategoryImpl : public std::error_category
5731   {
5732   public:
name() const5733     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
5734     {
5735       return VULKAN_HPP_NAMESPACE_STRING "::Result";
5736     }
message(int ev) const5737     virtual std::string message( int ev ) const override
5738     {
5739       return to_string( static_cast<Result>( ev ) );
5740     }
5741   };
5742 
5743   class Error
5744   {
5745   public:
5746     Error() VULKAN_HPP_NOEXCEPT                = default;
5747     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
5748     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
5749 
5750     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
5751   };
5752 
5753   class LogicError
5754     : public Error
5755     , public std::logic_error
5756   {
5757   public:
LogicError(const std::string & what)5758     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
LogicError(char const * what)5759     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
5760 
what() const5761     virtual const char * what() const VULKAN_HPP_NOEXCEPT
5762     {
5763       return std::logic_error::what();
5764     }
5765   };
5766 
5767   class SystemError
5768     : public Error
5769     , public std::system_error
5770   {
5771   public:
SystemError(std::error_code ec)5772     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
SystemError(std::error_code ec,std::string const & what)5773     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
SystemError(std::error_code ec,char const * what)5774     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
SystemError(int ev,std::error_category const & ecat)5775     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)5776     SystemError( int ev, std::error_category const & ecat, std::string const & what )
5777       : Error(), std::system_error( ev, ecat, what )
5778     {}
SystemError(int ev,std::error_category const & ecat,char const * what)5779     SystemError( int ev, std::error_category const & ecat, char const * what )
5780       : Error(), std::system_error( ev, ecat, what )
5781     {}
5782 
what() const5783     virtual const char * what() const VULKAN_HPP_NOEXCEPT
5784     {
5785       return std::system_error::what();
5786     }
5787   };
5788 
errorCategory()5789   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
5790   {
5791     static ErrorCategoryImpl instance;
5792     return instance;
5793   }
5794 
make_error_code(Result e)5795   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
5796   {
5797     return std::error_code( static_cast<int>( e ), errorCategory() );
5798   }
5799 
make_error_condition(Result e)5800   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
5801   {
5802     return std::error_condition( static_cast<int>( e ), errorCategory() );
5803   }
5804 
5805   class OutOfHostMemoryError : public SystemError
5806   {
5807   public:
OutOfHostMemoryError(std::string const & message)5808     OutOfHostMemoryError( std::string const & message )
5809       : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
5810     {}
OutOfHostMemoryError(char const * message)5811     OutOfHostMemoryError( char const * message )
5812       : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
5813     {}
5814   };
5815 
5816   class OutOfDeviceMemoryError : public SystemError
5817   {
5818   public:
OutOfDeviceMemoryError(std::string const & message)5819     OutOfDeviceMemoryError( std::string const & message )
5820       : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
5821     {}
OutOfDeviceMemoryError(char const * message)5822     OutOfDeviceMemoryError( char const * message )
5823       : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
5824     {}
5825   };
5826 
5827   class InitializationFailedError : public SystemError
5828   {
5829   public:
InitializationFailedError(std::string const & message)5830     InitializationFailedError( std::string const & message )
5831       : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
5832     {}
InitializationFailedError(char const * message)5833     InitializationFailedError( char const * message )
5834       : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
5835     {}
5836   };
5837 
5838   class DeviceLostError : public SystemError
5839   {
5840   public:
DeviceLostError(std::string const & message)5841     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message )
5842     {}
DeviceLostError(char const * message)5843     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
5844   };
5845 
5846   class MemoryMapFailedError : public SystemError
5847   {
5848   public:
MemoryMapFailedError(std::string const & message)5849     MemoryMapFailedError( std::string const & message )
5850       : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
5851     {}
MemoryMapFailedError(char const * message)5852     MemoryMapFailedError( char const * message )
5853       : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
5854     {}
5855   };
5856 
5857   class LayerNotPresentError : public SystemError
5858   {
5859   public:
LayerNotPresentError(std::string const & message)5860     LayerNotPresentError( std::string const & message )
5861       : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
5862     {}
LayerNotPresentError(char const * message)5863     LayerNotPresentError( char const * message )
5864       : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
5865     {}
5866   };
5867 
5868   class ExtensionNotPresentError : public SystemError
5869   {
5870   public:
ExtensionNotPresentError(std::string const & message)5871     ExtensionNotPresentError( std::string const & message )
5872       : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
5873     {}
ExtensionNotPresentError(char const * message)5874     ExtensionNotPresentError( char const * message )
5875       : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
5876     {}
5877   };
5878 
5879   class FeatureNotPresentError : public SystemError
5880   {
5881   public:
FeatureNotPresentError(std::string const & message)5882     FeatureNotPresentError( std::string const & message )
5883       : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
5884     {}
FeatureNotPresentError(char const * message)5885     FeatureNotPresentError( char const * message )
5886       : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
5887     {}
5888   };
5889 
5890   class IncompatibleDriverError : public SystemError
5891   {
5892   public:
IncompatibleDriverError(std::string const & message)5893     IncompatibleDriverError( std::string const & message )
5894       : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
5895     {}
IncompatibleDriverError(char const * message)5896     IncompatibleDriverError( char const * message )
5897       : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
5898     {}
5899   };
5900 
5901   class TooManyObjectsError : public SystemError
5902   {
5903   public:
TooManyObjectsError(std::string const & message)5904     TooManyObjectsError( std::string const & message )
5905       : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
5906     {}
TooManyObjectsError(char const * message)5907     TooManyObjectsError( char const * message )
5908       : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
5909     {}
5910   };
5911 
5912   class FormatNotSupportedError : public SystemError
5913   {
5914   public:
FormatNotSupportedError(std::string const & message)5915     FormatNotSupportedError( std::string const & message )
5916       : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
5917     {}
FormatNotSupportedError(char const * message)5918     FormatNotSupportedError( char const * message )
5919       : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
5920     {}
5921   };
5922 
5923   class FragmentedPoolError : public SystemError
5924   {
5925   public:
FragmentedPoolError(std::string const & message)5926     FragmentedPoolError( std::string const & message )
5927       : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
5928     {}
FragmentedPoolError(char const * message)5929     FragmentedPoolError( char const * message )
5930       : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
5931     {}
5932   };
5933 
5934   class UnknownError : public SystemError
5935   {
5936   public:
UnknownError(std::string const & message)5937     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
UnknownError(char const * message)5938     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
5939   };
5940 
5941   class OutOfPoolMemoryError : public SystemError
5942   {
5943   public:
OutOfPoolMemoryError(std::string const & message)5944     OutOfPoolMemoryError( std::string const & message )
5945       : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
5946     {}
OutOfPoolMemoryError(char const * message)5947     OutOfPoolMemoryError( char const * message )
5948       : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
5949     {}
5950   };
5951 
5952   class InvalidExternalHandleError : public SystemError
5953   {
5954   public:
InvalidExternalHandleError(std::string const & message)5955     InvalidExternalHandleError( std::string const & message )
5956       : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
5957     {}
InvalidExternalHandleError(char const * message)5958     InvalidExternalHandleError( char const * message )
5959       : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
5960     {}
5961   };
5962 
5963   class FragmentationError : public SystemError
5964   {
5965   public:
FragmentationError(std::string const & message)5966     FragmentationError( std::string const & message )
5967       : SystemError( make_error_code( Result::eErrorFragmentation ), message )
5968     {}
FragmentationError(char const * message)5969     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message )
5970     {}
5971   };
5972 
5973   class InvalidOpaqueCaptureAddressError : public SystemError
5974   {
5975   public:
InvalidOpaqueCaptureAddressError(std::string const & message)5976     InvalidOpaqueCaptureAddressError( std::string const & message )
5977       : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
5978     {}
InvalidOpaqueCaptureAddressError(char const * message)5979     InvalidOpaqueCaptureAddressError( char const * message )
5980       : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
5981     {}
5982   };
5983 
5984   class SurfaceLostKHRError : public SystemError
5985   {
5986   public:
SurfaceLostKHRError(std::string const & message)5987     SurfaceLostKHRError( std::string const & message )
5988       : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
5989     {}
SurfaceLostKHRError(char const * message)5990     SurfaceLostKHRError( char const * message )
5991       : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
5992     {}
5993   };
5994 
5995   class NativeWindowInUseKHRError : public SystemError
5996   {
5997   public:
NativeWindowInUseKHRError(std::string const & message)5998     NativeWindowInUseKHRError( std::string const & message )
5999       : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
6000     {}
NativeWindowInUseKHRError(char const * message)6001     NativeWindowInUseKHRError( char const * message )
6002       : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
6003     {}
6004   };
6005 
6006   class OutOfDateKHRError : public SystemError
6007   {
6008   public:
OutOfDateKHRError(std::string const & message)6009     OutOfDateKHRError( std::string const & message )
6010       : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message )
6011     {}
OutOfDateKHRError(char const * message)6012     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6013   };
6014 
6015   class IncompatibleDisplayKHRError : public SystemError
6016   {
6017   public:
IncompatibleDisplayKHRError(std::string const & message)6018     IncompatibleDisplayKHRError( std::string const & message )
6019       : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
6020     {}
IncompatibleDisplayKHRError(char const * message)6021     IncompatibleDisplayKHRError( char const * message )
6022       : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
6023     {}
6024   };
6025 
6026   class ValidationFailedEXTError : public SystemError
6027   {
6028   public:
ValidationFailedEXTError(std::string const & message)6029     ValidationFailedEXTError( std::string const & message )
6030       : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
6031     {}
ValidationFailedEXTError(char const * message)6032     ValidationFailedEXTError( char const * message )
6033       : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
6034     {}
6035   };
6036 
6037   class InvalidShaderNVError : public SystemError
6038   {
6039   public:
InvalidShaderNVError(std::string const & message)6040     InvalidShaderNVError( std::string const & message )
6041       : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
6042     {}
InvalidShaderNVError(char const * message)6043     InvalidShaderNVError( char const * message )
6044       : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
6045     {}
6046   };
6047 
6048   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6049   {
6050   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6051     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6052       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6053     {}
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6054     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6055       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6056     {}
6057   };
6058 
6059   class NotPermittedEXTError : public SystemError
6060   {
6061   public:
NotPermittedEXTError(std::string const & message)6062     NotPermittedEXTError( std::string const & message )
6063       : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message )
6064     {}
NotPermittedEXTError(char const * message)6065     NotPermittedEXTError( char const * message )
6066       : SystemError( make_error_code( Result::eErrorNotPermittedEXT ), message )
6067     {}
6068   };
6069 
6070 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6071   class FullScreenExclusiveModeLostEXTError : public SystemError
6072   {
6073   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6074     FullScreenExclusiveModeLostEXTError( std::string const & message )
6075       : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6076     {}
FullScreenExclusiveModeLostEXTError(char const * message)6077     FullScreenExclusiveModeLostEXTError( char const * message )
6078       : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6079     {}
6080   };
6081 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6082 
throwResultException(Result result,char const * message)6083   [[noreturn]] static void throwResultException( Result result, char const * message )
6084   {
6085     switch ( result )
6086     {
6087       case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6088       case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6089       case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6090       case Result::eErrorDeviceLost: throw DeviceLostError( message );
6091       case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6092       case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6093       case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6094       case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6095       case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6096       case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6097       case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6098       case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6099       case Result::eErrorUnknown: throw UnknownError( message );
6100       case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6101       case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6102       case Result::eErrorFragmentation: throw FragmentationError( message );
6103       case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6104       case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6105       case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6106       case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6107       case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6108       case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6109       case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6110       case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
6111         throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6112       case Result::eErrorNotPermittedEXT: throw NotPermittedEXTError( message );
6113 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6114       case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6115 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6116       default: throw SystemError( make_error_code( result ) );
6117     }
6118   }
6119 #endif
6120 
6121   template <typename T>
ignore(T const &)6122   void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6123   {}
6124 
6125   template <typename T>
6126   struct ResultValue
6127   {
6128 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6129     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6130 #else
6131     ResultValue( Result r, T & v )
6132 #endif
6133       : result( r ), value( v )
6134     {}
6135 
6136 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6137     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6138 #else
6139     ResultValue( Result r, T && v )
6140 #endif
6141       : result( r ), value( std::move( v ) )
6142     {}
6143 
6144     Result result;
6145     T      value;
6146 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6147     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6148     {
6149       return std::tuple<Result &, T &>( result, value );
6150     }
6151 
6152 #if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
6153     VULKAN_HPP_DEPRECATED(
6154       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator T const&VULKAN_HPP_NAMESPACE::ResultValue6155     operator T const &() const & VULKAN_HPP_NOEXCEPT
6156     {
6157       return value;
6158     }
6159 
6160     VULKAN_HPP_DEPRECATED(
6161       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator T&VULKAN_HPP_NAMESPACE::ResultValue6162     operator T &() & VULKAN_HPP_NOEXCEPT
6163     {
6164       return value;
6165     }
6166 
6167     VULKAN_HPP_DEPRECATED(
6168       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator T const&&VULKAN_HPP_NAMESPACE::ResultValue6169     operator T const &&() const && VULKAN_HPP_NOEXCEPT
6170     {
6171       return std::move( value );
6172     }
6173 
6174     VULKAN_HPP_DEPRECATED(
6175       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator T&&VULKAN_HPP_NAMESPACE::ResultValue6176     operator T &&() && VULKAN_HPP_NOEXCEPT
6177     {
6178       return std::move( value );
6179     }
6180 #endif
6181   };
6182 
6183 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6184   template <typename Type, typename Dispatch>
6185   struct ResultValue<UniqueHandle<Type, Dispatch>>
6186   {
6187 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6188     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6189 #  else
6190     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6191 #  endif
6192       : result( r )
6193       , value( std::move( v ) )
6194     {}
6195 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6196     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple()
6197     {
6198       return std::make_tuple( result, std::move( value ) );
6199     }
6200 
6201 #  if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
6202     VULKAN_HPP_DEPRECATED(
6203       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator UniqueHandle<Type,Dispatch>&VULKAN_HPP_NAMESPACE::ResultValue6204     operator UniqueHandle<Type, Dispatch> &() & VULKAN_HPP_NOEXCEPT
6205     {
6206       return value;
6207     }
6208 
6209     VULKAN_HPP_DEPRECATED(
6210       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
operator UniqueHandle<Type,Dispatch>VULKAN_HPP_NAMESPACE::ResultValue6211     operator UniqueHandle<Type, Dispatch>() VULKAN_HPP_NOEXCEPT
6212     {
6213       return std::move( value );
6214     }
6215 #  endif
6216 
6217     Result                       result;
6218     UniqueHandle<Type, Dispatch> value;
6219   };
6220 
6221   template <typename Type, typename Dispatch>
6222   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6223   {
6224 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6225     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6226 #  else
6227     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6228 #  endif
6229       : result( r )
6230       , value( std::move( v ) )
6231     {}
6232 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6233     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple()
6234     {
6235       return std::make_tuple( result, std::move( value ) );
6236     }
6237 
6238     Result                                    result;
6239     std::vector<UniqueHandle<Type, Dispatch>> value;
6240 
6241 #  if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
6242     VULKAN_HPP_DEPRECATED(
6243       "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_NAMESPACE::ResultValue6244     operator std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>() VULKAN_HPP_NOEXCEPT
6245     {
6246       return std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>( result, value );
6247     }
6248 #  endif
6249   };
6250 #endif
6251 
6252   template <typename T>
6253   struct ResultValueType
6254   {
6255 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6256     typedef ResultValue<T> type;
6257 #else
6258     typedef T    type;
6259 #endif
6260   };
6261 
6262   template <>
6263   struct ResultValueType<void>
6264   {
6265 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6266     typedef Result type;
6267 #else
6268     typedef void type;
6269 #endif
6270   };
6271 
createResultValue(Result result,char const * message)6272   VULKAN_HPP_INLINE ResultValueType<void>::type createResultValue( Result result, char const * message )
6273   {
6274 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6275     ignore( message );
6276     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6277     return result;
6278 #else
6279     if ( result != Result::eSuccess )
6280     {
6281       throwResultException( result, message );
6282     }
6283 #endif
6284   }
6285 
6286   template <typename T>
createResultValue(Result result,T & data,char const * message)6287   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValue( Result result, T & data, char const * message )
6288   {
6289 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6290     ignore( message );
6291     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6292     return ResultValue<T>( result, std::move( data ) );
6293 #else
6294     if ( result != Result::eSuccess )
6295     {
6296       throwResultException( result, message );
6297     }
6298     return std::move( data );
6299 #endif
6300   }
6301 
createResultValue(Result result,char const * message,std::initializer_list<Result> successCodes)6302   VULKAN_HPP_INLINE Result createResultValue( Result                        result,
6303                                               char const *                  message,
6304                                               std::initializer_list<Result> successCodes )
6305   {
6306 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6307     ignore( message );
6308     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6309     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6310 #else
6311     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6312     {
6313       throwResultException( result, message );
6314     }
6315 #endif
6316     return result;
6317   }
6318 
6319   template <typename T>
6320   VULKAN_HPP_INLINE ResultValue<T>
createResultValue(Result result,T & data,char const * message,std::initializer_list<Result> successCodes)6321                     createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
6322   {
6323 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6324     ignore( message );
6325     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6326     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6327 #else
6328     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6329     {
6330       throwResultException( result, message );
6331     }
6332 #endif
6333     return ResultValue<T>( result, std::move( data ) );
6334   }
6335 
6336 #ifndef VULKAN_HPP_NO_SMART_HANDLE
6337   template <typename T, typename D>
createResultValue(Result result,T & data,char const * message,typename UniqueHandleTraits<T,D>::deleter const & deleter)6338   VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<T, D>>::type createResultValue(
6339     Result result, T & data, char const * message, typename UniqueHandleTraits<T, D>::deleter const & deleter )
6340   {
6341 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
6342     ignore( message );
6343     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6344     return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
6345 #  else
6346     if ( result != Result::eSuccess )
6347     {
6348       throwResultException( result, message );
6349     }
6350     return UniqueHandle<T, D>( data, deleter );
6351 #  endif
6352   }
6353 
6354   template <typename T, typename D>
6355   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)6356                     createResultValue( Result                                             result,
6357                                        T &                                                data,
6358                                        char const *                                       message,
6359                                        std::initializer_list<Result>                      successCodes,
6360                                        typename UniqueHandleTraits<T, D>::deleter const & deleter )
6361   {
6362 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
6363     ignore( message );
6364     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6365     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6366 #  else
6367     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6368     {
6369       throwResultException( result, message );
6370     }
6371 #  endif
6372     return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
6373   }
6374 
6375   template <typename T, typename D>
6376   VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<T, D>>>::type
createResultValue(Result result,std::vector<UniqueHandle<T,D>> && data,char const * message)6377     createResultValue( Result result, std::vector<UniqueHandle<T, D>> && data, char const * message )
6378   {
6379 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
6380     ignore( message );
6381     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6382     return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) );
6383 #  else
6384     if ( result != Result::eSuccess )
6385     {
6386       throwResultException( result, message );
6387     }
6388     return std::move( data );
6389 #  endif
6390   }
6391 
6392   template <typename T, typename D>
6393   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)6394                     createResultValue( Result                             result,
6395                                        std::vector<UniqueHandle<T, D>> && data,
6396                                        char const *                       message,
6397                                        std::initializer_list<Result>      successCodes )
6398   {
6399 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
6400     ignore( message );
6401     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6402     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6403 #  else
6404     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6405     {
6406       throwResultException( result, message );
6407     }
6408 #  endif
6409     return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) );
6410   }
6411 #endif
6412 }  // namespace VULKAN_HPP_NAMESPACE
6413 
6414 // clang-format off
6415 #include <vulkan/vulkan_handles.hpp>
6416 #include <vulkan/vulkan_structs.hpp>
6417 #include <vulkan/vulkan_funcs.hpp>
6418 // clang-format on
6419 
6420 namespace VULKAN_HPP_NAMESPACE
6421 {
6422   template <>
6423   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV,
6424                        AccelerationStructureGeometryTrianglesDataKHR>
6425   {
6426     enum
6427     {
6428       value = true
6429     };
6430   };
6431   template <>
6432   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
6433   {
6434     enum
6435     {
6436       value = true
6437     };
6438   };
6439 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6440   template <>
6441   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
6442   {
6443     enum
6444     {
6445       value = true
6446     };
6447   };
6448 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6449 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6450   template <>
6451   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
6452   {
6453     enum
6454     {
6455       value = true
6456     };
6457   };
6458 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6459   template <>
6460   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
6461   {
6462     enum
6463     {
6464       value = true
6465     };
6466   };
6467   template <>
6468   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
6469   {
6470     enum
6471     {
6472       value = true
6473     };
6474   };
6475   template <>
6476   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
6477   {
6478     enum
6479     {
6480       value = true
6481     };
6482   };
6483   template <>
6484   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
6485   {
6486     enum
6487     {
6488       value = true
6489     };
6490   };
6491   template <>
6492   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
6493   {
6494     enum
6495     {
6496       value = true
6497     };
6498   };
6499   template <>
6500   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
6501   {
6502     enum
6503     {
6504       value = true
6505     };
6506   };
6507   template <>
6508   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
6509   {
6510     enum
6511     {
6512       value = true
6513     };
6514   };
6515   template <>
6516   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
6517   {
6518     enum
6519     {
6520       value = true
6521     };
6522   };
6523   template <>
6524   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
6525   {
6526     enum
6527     {
6528       value = true
6529     };
6530   };
6531   template <>
6532   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
6533   {
6534     enum
6535     {
6536       value = true
6537     };
6538   };
6539   template <>
6540   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
6541   {
6542     enum
6543     {
6544       value = true
6545     };
6546   };
6547   template <>
6548   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2KHR>
6549   {
6550     enum
6551     {
6552       value = true
6553     };
6554   };
6555   template <>
6556   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2KHR>
6557   {
6558     enum
6559     {
6560       value = true
6561     };
6562   };
6563 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6564   template <>
6565   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
6566   {
6567     enum
6568     {
6569       value = true
6570     };
6571   };
6572 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6573   template <>
6574   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
6575   {
6576     enum
6577     {
6578       value = true
6579     };
6580   };
6581   template <>
6582   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
6583   {
6584     enum
6585     {
6586       value = true
6587     };
6588   };
6589   template <>
6590   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
6591   {
6592     enum
6593     {
6594       value = true
6595     };
6596   };
6597   template <>
6598   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
6599   {
6600     enum
6601     {
6602       value = true
6603     };
6604   };
6605   template <>
6606   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
6607   {
6608     enum
6609     {
6610       value = true
6611     };
6612   };
6613   template <>
6614   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfoEXT, DescriptorPoolCreateInfo>
6615   {
6616     enum
6617     {
6618       value = true
6619     };
6620   };
6621   template <>
6622   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
6623   {
6624     enum
6625     {
6626       value = true
6627     };
6628   };
6629   template <>
6630   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
6631   {
6632     enum
6633     {
6634       value = true
6635     };
6636   };
6637   template <>
6638   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
6639   {
6640     enum
6641     {
6642       value = true
6643     };
6644   };
6645   template <>
6646   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
6647   {
6648     enum
6649     {
6650       value = true
6651     };
6652   };
6653   template <>
6654   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
6655   {
6656     enum
6657     {
6658       value = true
6659     };
6660   };
6661   template <>
6662   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
6663   {
6664     enum
6665     {
6666       value = true
6667     };
6668   };
6669   template <>
6670   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
6671   {
6672     enum
6673     {
6674       value = true
6675     };
6676   };
6677   template <>
6678   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
6679   {
6680     enum
6681     {
6682       value = true
6683     };
6684   };
6685   template <>
6686   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
6687   {
6688     enum
6689     {
6690       value = true
6691     };
6692   };
6693   template <>
6694   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
6695   {
6696     enum
6697     {
6698       value = true
6699     };
6700   };
6701   template <>
6702   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
6703   {
6704     enum
6705     {
6706       value = true
6707     };
6708   };
6709   template <>
6710   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
6711   {
6712     enum
6713     {
6714       value = true
6715     };
6716   };
6717   template <>
6718   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
6719   {
6720     enum
6721     {
6722       value = true
6723     };
6724   };
6725   template <>
6726   struct StructExtends<DevicePrivateDataCreateInfoEXT, DeviceCreateInfo>
6727   {
6728     enum
6729     {
6730       value = true
6731     };
6732   };
6733   template <>
6734   struct StructExtends<DeviceQueueGlobalPriorityCreateInfoEXT, DeviceQueueCreateInfo>
6735   {
6736     enum
6737     {
6738       value = true
6739     };
6740   };
6741   template <>
6742   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
6743   {
6744     enum
6745     {
6746       value = true
6747     };
6748   };
6749   template <>
6750   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
6751   {
6752     enum
6753     {
6754       value = true
6755     };
6756   };
6757   template <>
6758   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
6759   {
6760     enum
6761     {
6762       value = true
6763     };
6764   };
6765   template <>
6766   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
6767   {
6768     enum
6769     {
6770       value = true
6771     };
6772   };
6773 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6774   template <>
6775   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
6776   {
6777     enum
6778     {
6779       value = true
6780     };
6781   };
6782 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6783   template <>
6784   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
6785   {
6786     enum
6787     {
6788       value = true
6789     };
6790   };
6791   template <>
6792   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
6793   {
6794     enum
6795     {
6796       value = true
6797     };
6798   };
6799 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6800   template <>
6801   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
6802   {
6803     enum
6804     {
6805       value = true
6806     };
6807   };
6808 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6809 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6810   template <>
6811   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
6812   {
6813     enum
6814     {
6815       value = true
6816     };
6817   };
6818 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6819   template <>
6820   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
6821   {
6822     enum
6823     {
6824       value = true
6825     };
6826   };
6827 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6828   template <>
6829   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
6830   {
6831     enum
6832     {
6833       value = true
6834     };
6835   };
6836 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6837 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6838   template <>
6839   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
6840   {
6841     enum
6842     {
6843       value = true
6844     };
6845   };
6846   template <>
6847   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
6848   {
6849     enum
6850     {
6851       value = true
6852     };
6853   };
6854 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6855   template <>
6856   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
6857   {
6858     enum
6859     {
6860       value = true
6861     };
6862   };
6863   template <>
6864   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
6865   {
6866     enum
6867     {
6868       value = true
6869     };
6870   };
6871   template <>
6872   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
6873   {
6874     enum
6875     {
6876       value = true
6877     };
6878   };
6879   template <>
6880   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
6881   {
6882     enum
6883     {
6884       value = true
6885     };
6886   };
6887   template <>
6888   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
6889   {
6890     enum
6891     {
6892       value = true
6893     };
6894   };
6895   template <>
6896   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
6897   {
6898     enum
6899     {
6900       value = true
6901     };
6902   };
6903   template <>
6904   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
6905   {
6906     enum
6907     {
6908       value = true
6909     };
6910   };
6911   template <>
6912   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
6913   {
6914     enum
6915     {
6916       value = true
6917     };
6918   };
6919   template <>
6920   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
6921   {
6922     enum
6923     {
6924       value = true
6925     };
6926   };
6927   template <>
6928   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
6929   {
6930     enum
6931     {
6932       value = true
6933     };
6934   };
6935   template <>
6936   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
6937   {
6938     enum
6939     {
6940       value = true
6941     };
6942   };
6943   template <>
6944   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
6945   {
6946     enum
6947     {
6948       value = true
6949     };
6950   };
6951   template <>
6952   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
6953   {
6954     enum
6955     {
6956       value = true
6957     };
6958   };
6959   template <>
6960   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
6961   {
6962     enum
6963     {
6964       value = true
6965     };
6966   };
6967   template <>
6968   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
6969   {
6970     enum
6971     {
6972       value = true
6973     };
6974   };
6975   template <>
6976   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
6977   {
6978     enum
6979     {
6980       value = true
6981     };
6982   };
6983   template <>
6984   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
6985   {
6986     enum
6987     {
6988       value = true
6989     };
6990   };
6991   template <>
6992   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
6993   {
6994     enum
6995     {
6996       value = true
6997     };
6998   };
6999   template <>
7000   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
7001   {
7002     enum
7003     {
7004       value = true
7005     };
7006   };
7007 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7008   template <>
7009   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
7010   {
7011     enum
7012     {
7013       value = true
7014     };
7015   };
7016 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7017   template <>
7018   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
7019   {
7020     enum
7021     {
7022       value = true
7023     };
7024   };
7025   template <>
7026   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
7027   {
7028     enum
7029     {
7030       value = true
7031     };
7032   };
7033 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7034   template <>
7035   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
7036   {
7037     enum
7038     {
7039       value = true
7040     };
7041   };
7042 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7043 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7044   template <>
7045   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
7046   {
7047     enum
7048     {
7049       value = true
7050     };
7051   };
7052 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7053 #if defined( VK_USE_PLATFORM_FUCHSIA )
7054   template <>
7055   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
7056   {
7057     enum
7058     {
7059       value = true
7060     };
7061   };
7062 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7063   template <>
7064   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
7065   {
7066     enum
7067     {
7068       value = true
7069     };
7070   };
7071   template <>
7072   struct StructExtends<MemoryBarrier2KHR, SubpassDependency2>
7073   {
7074     enum
7075     {
7076       value = true
7077     };
7078   };
7079   template <>
7080   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
7081   {
7082     enum
7083     {
7084       value = true
7085     };
7086   };
7087   template <>
7088   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
7089   {
7090     enum
7091     {
7092       value = true
7093     };
7094   };
7095   template <>
7096   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
7097   {
7098     enum
7099     {
7100       value = true
7101     };
7102   };
7103   template <>
7104   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
7105   {
7106     enum
7107     {
7108       value = true
7109     };
7110   };
7111   template <>
7112   struct StructExtends<MutableDescriptorTypeCreateInfoVALVE, DescriptorSetLayoutCreateInfo>
7113   {
7114     enum
7115     {
7116       value = true
7117     };
7118   };
7119   template <>
7120   struct StructExtends<MutableDescriptorTypeCreateInfoVALVE, DescriptorPoolCreateInfo>
7121   {
7122     enum
7123     {
7124       value = true
7125     };
7126   };
7127   template <>
7128   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
7129   {
7130     enum
7131     {
7132       value = true
7133     };
7134   };
7135   template <>
7136   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2KHR>
7137   {
7138     enum
7139     {
7140       value = true
7141     };
7142   };
7143   template <>
7144   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
7145   {
7146     enum
7147     {
7148       value = true
7149     };
7150   };
7151   template <>
7152   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
7153   {
7154     enum
7155     {
7156       value = true
7157     };
7158   };
7159   template <>
7160   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
7161   {
7162     enum
7163     {
7164       value = true
7165     };
7166   };
7167   template <>
7168   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
7169   {
7170     enum
7171     {
7172       value = true
7173     };
7174   };
7175   template <>
7176   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
7177   {
7178     enum
7179     {
7180       value = true
7181     };
7182   };
7183   template <>
7184   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
7185   {
7186     enum
7187     {
7188       value = true
7189     };
7190   };
7191   template <>
7192   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
7193   {
7194     enum
7195     {
7196       value = true
7197     };
7198   };
7199   template <>
7200   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
7201   {
7202     enum
7203     {
7204       value = true
7205     };
7206   };
7207   template <>
7208   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
7209   {
7210     enum
7211     {
7212       value = true
7213     };
7214   };
7215   template <>
7216   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
7217   {
7218     enum
7219     {
7220       value = true
7221     };
7222   };
7223   template <>
7224   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
7225   {
7226     enum
7227     {
7228       value = true
7229     };
7230   };
7231   template <>
7232   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
7233   {
7234     enum
7235     {
7236       value = true
7237     };
7238   };
7239   template <>
7240   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
7241   {
7242     enum
7243     {
7244       value = true
7245     };
7246   };
7247   template <>
7248   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
7249   {
7250     enum
7251     {
7252       value = true
7253     };
7254   };
7255   template <>
7256   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
7257   {
7258     enum
7259     {
7260       value = true
7261     };
7262   };
7263   template <>
7264   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
7265   {
7266     enum
7267     {
7268       value = true
7269     };
7270   };
7271   template <>
7272   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
7273   {
7274     enum
7275     {
7276       value = true
7277     };
7278   };
7279   template <>
7280   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
7281   {
7282     enum
7283     {
7284       value = true
7285     };
7286   };
7287   template <>
7288   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
7289   {
7290     enum
7291     {
7292       value = true
7293     };
7294   };
7295   template <>
7296   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
7297   {
7298     enum
7299     {
7300       value = true
7301     };
7302   };
7303   template <>
7304   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
7305   {
7306     enum
7307     {
7308       value = true
7309     };
7310   };
7311   template <>
7312   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
7313   {
7314     enum
7315     {
7316       value = true
7317     };
7318   };
7319   template <>
7320   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
7321   {
7322     enum
7323     {
7324       value = true
7325     };
7326   };
7327   template <>
7328   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
7329   {
7330     enum
7331     {
7332       value = true
7333     };
7334   };
7335   template <>
7336   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
7337   {
7338     enum
7339     {
7340       value = true
7341     };
7342   };
7343   template <>
7344   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
7345   {
7346     enum
7347     {
7348       value = true
7349     };
7350   };
7351   template <>
7352   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
7353   {
7354     enum
7355     {
7356       value = true
7357     };
7358   };
7359   template <>
7360   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
7361   {
7362     enum
7363     {
7364       value = true
7365     };
7366   };
7367   template <>
7368   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
7369   {
7370     enum
7371     {
7372       value = true
7373     };
7374   };
7375   template <>
7376   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
7377   {
7378     enum
7379     {
7380       value = true
7381     };
7382   };
7383   template <>
7384   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
7385   {
7386     enum
7387     {
7388       value = true
7389     };
7390   };
7391   template <>
7392   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
7393   {
7394     enum
7395     {
7396       value = true
7397     };
7398   };
7399   template <>
7400   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
7401   {
7402     enum
7403     {
7404       value = true
7405     };
7406   };
7407   template <>
7408   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
7409   {
7410     enum
7411     {
7412       value = true
7413     };
7414   };
7415   template <>
7416   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
7417   {
7418     enum
7419     {
7420       value = true
7421     };
7422   };
7423   template <>
7424   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
7425   {
7426     enum
7427     {
7428       value = true
7429     };
7430   };
7431   template <>
7432   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
7433   {
7434     enum
7435     {
7436       value = true
7437     };
7438   };
7439   template <>
7440   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
7441   {
7442     enum
7443     {
7444       value = true
7445     };
7446   };
7447   template <>
7448   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
7449   {
7450     enum
7451     {
7452       value = true
7453     };
7454   };
7455   template <>
7456   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
7457   {
7458     enum
7459     {
7460       value = true
7461     };
7462   };
7463   template <>
7464   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
7465   {
7466     enum
7467     {
7468       value = true
7469     };
7470   };
7471   template <>
7472   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
7473   {
7474     enum
7475     {
7476       value = true
7477     };
7478   };
7479   template <>
7480   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
7481   {
7482     enum
7483     {
7484       value = true
7485     };
7486   };
7487   template <>
7488   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
7489   {
7490     enum
7491     {
7492       value = true
7493     };
7494   };
7495   template <>
7496   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
7497   {
7498     enum
7499     {
7500       value = true
7501     };
7502   };
7503   template <>
7504   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
7505   {
7506     enum
7507     {
7508       value = true
7509     };
7510   };
7511   template <>
7512   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
7513   {
7514     enum
7515     {
7516       value = true
7517     };
7518   };
7519   template <>
7520   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
7521   {
7522     enum
7523     {
7524       value = true
7525     };
7526   };
7527   template <>
7528   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
7529   {
7530     enum
7531     {
7532       value = true
7533     };
7534   };
7535   template <>
7536   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
7537   {
7538     enum
7539     {
7540       value = true
7541     };
7542   };
7543   template <>
7544   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
7545   {
7546     enum
7547     {
7548       value = true
7549     };
7550   };
7551   template <>
7552   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
7553   {
7554     enum
7555     {
7556       value = true
7557     };
7558   };
7559   template <>
7560   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
7561   {
7562     enum
7563     {
7564       value = true
7565     };
7566   };
7567   template <>
7568   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
7569   {
7570     enum
7571     {
7572       value = true
7573     };
7574   };
7575   template <>
7576   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
7577   {
7578     enum
7579     {
7580       value = true
7581     };
7582   };
7583   template <>
7584   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
7585   {
7586     enum
7587     {
7588       value = true
7589     };
7590   };
7591   template <>
7592   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
7593   {
7594     enum
7595     {
7596       value = true
7597     };
7598   };
7599   template <>
7600   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
7601   {
7602     enum
7603     {
7604       value = true
7605     };
7606   };
7607   template <>
7608   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
7609   {
7610     enum
7611     {
7612       value = true
7613     };
7614   };
7615   template <>
7616   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
7617   {
7618     enum
7619     {
7620       value = true
7621     };
7622   };
7623   template <>
7624   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
7625   {
7626     enum
7627     {
7628       value = true
7629     };
7630   };
7631   template <>
7632   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
7633   {
7634     enum
7635     {
7636       value = true
7637     };
7638   };
7639   template <>
7640   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
7641   {
7642     enum
7643     {
7644       value = true
7645     };
7646   };
7647   template <>
7648   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
7649   {
7650     enum
7651     {
7652       value = true
7653     };
7654   };
7655   template <>
7656   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
7657   {
7658     enum
7659     {
7660       value = true
7661     };
7662   };
7663   template <>
7664   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
7665   {
7666     enum
7667     {
7668       value = true
7669     };
7670   };
7671   template <>
7672   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
7673   {
7674     enum
7675     {
7676       value = true
7677     };
7678   };
7679   template <>
7680   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
7681   {
7682     enum
7683     {
7684       value = true
7685     };
7686   };
7687   template <>
7688   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
7689   {
7690     enum
7691     {
7692       value = true
7693     };
7694   };
7695   template <>
7696   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
7697   {
7698     enum
7699     {
7700       value = true
7701     };
7702   };
7703   template <>
7704   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
7705   {
7706     enum
7707     {
7708       value = true
7709     };
7710   };
7711   template <>
7712   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
7713   {
7714     enum
7715     {
7716       value = true
7717     };
7718   };
7719   template <>
7720   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
7721   {
7722     enum
7723     {
7724       value = true
7725     };
7726   };
7727   template <>
7728   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, PhysicalDeviceFeatures2>
7729   {
7730     enum
7731     {
7732       value = true
7733     };
7734   };
7735   template <>
7736   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, DeviceCreateInfo>
7737   {
7738     enum
7739     {
7740       value = true
7741     };
7742   };
7743   template <>
7744   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
7745   {
7746     enum
7747     {
7748       value = true
7749     };
7750   };
7751   template <>
7752   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
7753   {
7754     enum
7755     {
7756       value = true
7757     };
7758   };
7759   template <>
7760   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
7761   {
7762     enum
7763     {
7764       value = true
7765     };
7766   };
7767   template <>
7768   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
7769   {
7770     enum
7771     {
7772       value = true
7773     };
7774   };
7775   template <>
7776   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
7777   {
7778     enum
7779     {
7780       value = true
7781     };
7782   };
7783   template <>
7784   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
7785   {
7786     enum
7787     {
7788       value = true
7789     };
7790   };
7791   template <>
7792   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
7793   {
7794     enum
7795     {
7796       value = true
7797     };
7798   };
7799   template <>
7800   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
7801   {
7802     enum
7803     {
7804       value = true
7805     };
7806   };
7807   template <>
7808   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesEXT, PhysicalDeviceFeatures2>
7809   {
7810     enum
7811     {
7812       value = true
7813     };
7814   };
7815   template <>
7816   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesEXT, DeviceCreateInfo>
7817   {
7818     enum
7819     {
7820       value = true
7821     };
7822   };
7823   template <>
7824   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
7825   {
7826     enum
7827     {
7828       value = true
7829     };
7830   };
7831   template <>
7832   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
7833   {
7834     enum
7835     {
7836       value = true
7837     };
7838   };
7839   template <>
7840   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
7841   {
7842     enum
7843     {
7844       value = true
7845     };
7846   };
7847   template <>
7848   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
7849   {
7850     enum
7851     {
7852       value = true
7853     };
7854   };
7855   template <>
7856   struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
7857   {
7858     enum
7859     {
7860       value = true
7861     };
7862   };
7863   template <>
7864   struct StructExtends<PhysicalDeviceImageRobustnessFeaturesEXT, DeviceCreateInfo>
7865   {
7866     enum
7867     {
7868       value = true
7869     };
7870   };
7871   template <>
7872   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
7873   {
7874     enum
7875     {
7876       value = true
7877     };
7878   };
7879   template <>
7880   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
7881   {
7882     enum
7883     {
7884       value = true
7885     };
7886   };
7887   template <>
7888   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
7889   {
7890     enum
7891     {
7892       value = true
7893     };
7894   };
7895   template <>
7896   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
7897   {
7898     enum
7899     {
7900       value = true
7901     };
7902   };
7903   template <>
7904   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
7905   {
7906     enum
7907     {
7908       value = true
7909     };
7910   };
7911   template <>
7912   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
7913   {
7914     enum
7915     {
7916       value = true
7917     };
7918   };
7919   template <>
7920   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
7921   {
7922     enum
7923     {
7924       value = true
7925     };
7926   };
7927   template <>
7928   struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT, PhysicalDeviceFeatures2>
7929   {
7930     enum
7931     {
7932       value = true
7933     };
7934   };
7935   template <>
7936   struct StructExtends<PhysicalDeviceInlineUniformBlockFeaturesEXT, DeviceCreateInfo>
7937   {
7938     enum
7939     {
7940       value = true
7941     };
7942   };
7943   template <>
7944   struct StructExtends<PhysicalDeviceInlineUniformBlockPropertiesEXT, PhysicalDeviceProperties2>
7945   {
7946     enum
7947     {
7948       value = true
7949     };
7950   };
7951   template <>
7952   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
7953   {
7954     enum
7955     {
7956       value = true
7957     };
7958   };
7959   template <>
7960   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
7961   {
7962     enum
7963     {
7964       value = true
7965     };
7966   };
7967   template <>
7968   struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
7969   {
7970     enum
7971     {
7972       value = true
7973     };
7974   };
7975   template <>
7976   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
7977   {
7978     enum
7979     {
7980       value = true
7981     };
7982   };
7983   template <>
7984   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
7985   {
7986     enum
7987     {
7988       value = true
7989     };
7990   };
7991   template <>
7992   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
7993   {
7994     enum
7995     {
7996       value = true
7997     };
7998   };
7999   template <>
8000   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
8001   {
8002     enum
8003     {
8004       value = true
8005     };
8006   };
8007   template <>
8008   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
8009   {
8010     enum
8011     {
8012       value = true
8013     };
8014   };
8015   template <>
8016   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
8017   {
8018     enum
8019     {
8020       value = true
8021     };
8022   };
8023   template <>
8024   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
8025   {
8026     enum
8027     {
8028       value = true
8029     };
8030   };
8031   template <>
8032   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
8033   {
8034     enum
8035     {
8036       value = true
8037     };
8038   };
8039   template <>
8040   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
8041   {
8042     enum
8043     {
8044       value = true
8045     };
8046   };
8047   template <>
8048   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
8049   {
8050     enum
8051     {
8052       value = true
8053     };
8054   };
8055   template <>
8056   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
8057   {
8058     enum
8059     {
8060       value = true
8061     };
8062   };
8063   template <>
8064   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
8065   {
8066     enum
8067     {
8068       value = true
8069     };
8070   };
8071   template <>
8072   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
8073   {
8074     enum
8075     {
8076       value = true
8077     };
8078   };
8079   template <>
8080   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
8081   {
8082     enum
8083     {
8084       value = true
8085     };
8086   };
8087   template <>
8088   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, PhysicalDeviceFeatures2>
8089   {
8090     enum
8091     {
8092       value = true
8093     };
8094   };
8095   template <>
8096   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, DeviceCreateInfo>
8097   {
8098     enum
8099     {
8100       value = true
8101     };
8102   };
8103   template <>
8104   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
8105   {
8106     enum
8107     {
8108       value = true
8109     };
8110   };
8111   template <>
8112   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
8113   {
8114     enum
8115     {
8116       value = true
8117     };
8118   };
8119   template <>
8120   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
8121   {
8122     enum
8123     {
8124       value = true
8125     };
8126   };
8127   template <>
8128   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
8129   {
8130     enum
8131     {
8132       value = true
8133     };
8134   };
8135   template <>
8136   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT, PhysicalDeviceFeatures2>
8137   {
8138     enum
8139     {
8140       value = true
8141     };
8142   };
8143   template <>
8144   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeaturesEXT, DeviceCreateInfo>
8145   {
8146     enum
8147     {
8148       value = true
8149     };
8150   };
8151   template <>
8152   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
8153   {
8154     enum
8155     {
8156       value = true
8157     };
8158   };
8159   template <>
8160   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
8161   {
8162     enum
8163     {
8164       value = true
8165     };
8166   };
8167   template <>
8168   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
8169   {
8170     enum
8171     {
8172       value = true
8173     };
8174   };
8175 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8176   template <>
8177   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
8178   {
8179     enum
8180     {
8181       value = true
8182     };
8183   };
8184   template <>
8185   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
8186   {
8187     enum
8188     {
8189       value = true
8190     };
8191   };
8192 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8193 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8194   template <>
8195   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
8196   {
8197     enum
8198     {
8199       value = true
8200     };
8201   };
8202 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8203   template <>
8204   struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT, PhysicalDeviceFeatures2>
8205   {
8206     enum
8207     {
8208       value = true
8209     };
8210   };
8211   template <>
8212   struct StructExtends<PhysicalDevicePrivateDataFeaturesEXT, DeviceCreateInfo>
8213   {
8214     enum
8215     {
8216       value = true
8217     };
8218   };
8219   template <>
8220   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
8221   {
8222     enum
8223     {
8224       value = true
8225     };
8226   };
8227   template <>
8228   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
8229   {
8230     enum
8231     {
8232       value = true
8233     };
8234   };
8235   template <>
8236   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
8237   {
8238     enum
8239     {
8240       value = true
8241     };
8242   };
8243   template <>
8244   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
8245   {
8246     enum
8247     {
8248       value = true
8249     };
8250   };
8251   template <>
8252   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
8253   {
8254     enum
8255     {
8256       value = true
8257     };
8258   };
8259   template <>
8260   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
8261   {
8262     enum
8263     {
8264       value = true
8265     };
8266   };
8267   template <>
8268   struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
8269   {
8270     enum
8271     {
8272       value = true
8273     };
8274   };
8275   template <>
8276   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
8277   {
8278     enum
8279     {
8280       value = true
8281     };
8282   };
8283   template <>
8284   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
8285   {
8286     enum
8287     {
8288       value = true
8289     };
8290   };
8291   template <>
8292   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
8293   {
8294     enum
8295     {
8296       value = true
8297     };
8298   };
8299   template <>
8300   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
8301   {
8302     enum
8303     {
8304       value = true
8305     };
8306   };
8307   template <>
8308   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
8309   {
8310     enum
8311     {
8312       value = true
8313     };
8314   };
8315   template <>
8316   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
8317   {
8318     enum
8319     {
8320       value = true
8321     };
8322   };
8323   template <>
8324   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
8325   {
8326     enum
8327     {
8328       value = true
8329     };
8330   };
8331   template <>
8332   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
8333   {
8334     enum
8335     {
8336       value = true
8337     };
8338   };
8339   template <>
8340   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
8341   {
8342     enum
8343     {
8344       value = true
8345     };
8346   };
8347   template <>
8348   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
8349   {
8350     enum
8351     {
8352       value = true
8353     };
8354   };
8355   template <>
8356   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
8357   {
8358     enum
8359     {
8360       value = true
8361     };
8362   };
8363   template <>
8364   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
8365   {
8366     enum
8367     {
8368       value = true
8369     };
8370   };
8371   template <>
8372   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
8373   {
8374     enum
8375     {
8376       value = true
8377     };
8378   };
8379   template <>
8380   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
8381   {
8382     enum
8383     {
8384       value = true
8385     };
8386   };
8387   template <>
8388   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
8389   {
8390     enum
8391     {
8392       value = true
8393     };
8394   };
8395   template <>
8396   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
8397   {
8398     enum
8399     {
8400       value = true
8401     };
8402   };
8403   template <>
8404   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
8405   {
8406     enum
8407     {
8408       value = true
8409     };
8410   };
8411   template <>
8412   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
8413   {
8414     enum
8415     {
8416       value = true
8417     };
8418   };
8419   template <>
8420   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
8421   {
8422     enum
8423     {
8424       value = true
8425     };
8426   };
8427   template <>
8428   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
8429   {
8430     enum
8431     {
8432       value = true
8433     };
8434   };
8435   template <>
8436   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
8437   {
8438     enum
8439     {
8440       value = true
8441     };
8442   };
8443   template <>
8444   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
8445   {
8446     enum
8447     {
8448       value = true
8449     };
8450   };
8451   template <>
8452   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
8453   {
8454     enum
8455     {
8456       value = true
8457     };
8458   };
8459   template <>
8460   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
8461   {
8462     enum
8463     {
8464       value = true
8465     };
8466   };
8467   template <>
8468   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
8469   {
8470     enum
8471     {
8472       value = true
8473     };
8474   };
8475   template <>
8476   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
8477   {
8478     enum
8479     {
8480       value = true
8481     };
8482   };
8483   template <>
8484   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
8485   {
8486     enum
8487     {
8488       value = true
8489     };
8490   };
8491   template <>
8492   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
8493   {
8494     enum
8495     {
8496       value = true
8497     };
8498   };
8499   template <>
8500   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
8501   {
8502     enum
8503     {
8504       value = true
8505     };
8506   };
8507   template <>
8508   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, PhysicalDeviceFeatures2>
8509   {
8510     enum
8511     {
8512       value = true
8513     };
8514   };
8515   template <>
8516   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeaturesEXT, DeviceCreateInfo>
8517   {
8518     enum
8519     {
8520       value = true
8521     };
8522   };
8523   template <>
8524   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
8525   {
8526     enum
8527     {
8528       value = true
8529     };
8530   };
8531   template <>
8532   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
8533   {
8534     enum
8535     {
8536       value = true
8537     };
8538   };
8539   template <>
8540   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
8541   {
8542     enum
8543     {
8544       value = true
8545     };
8546   };
8547   template <>
8548   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
8549   {
8550     enum
8551     {
8552       value = true
8553     };
8554   };
8555   template <>
8556   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
8557   {
8558     enum
8559     {
8560       value = true
8561     };
8562   };
8563   template <>
8564   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
8565   {
8566     enum
8567     {
8568       value = true
8569     };
8570   };
8571   template <>
8572   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
8573   {
8574     enum
8575     {
8576       value = true
8577     };
8578   };
8579   template <>
8580   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
8581   {
8582     enum
8583     {
8584       value = true
8585     };
8586   };
8587   template <>
8588   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
8589   {
8590     enum
8591     {
8592       value = true
8593     };
8594   };
8595   template <>
8596   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
8597   {
8598     enum
8599     {
8600       value = true
8601     };
8602   };
8603   template <>
8604   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
8605   {
8606     enum
8607     {
8608       value = true
8609     };
8610   };
8611   template <>
8612   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
8613   {
8614     enum
8615     {
8616       value = true
8617     };
8618   };
8619   template <>
8620   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
8621   {
8622     enum
8623     {
8624       value = true
8625     };
8626   };
8627   template <>
8628   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
8629   {
8630     enum
8631     {
8632       value = true
8633     };
8634   };
8635   template <>
8636   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
8637   {
8638     enum
8639     {
8640       value = true
8641     };
8642   };
8643   template <>
8644   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
8645   {
8646     enum
8647     {
8648       value = true
8649     };
8650   };
8651   template <>
8652   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
8653   {
8654     enum
8655     {
8656       value = true
8657     };
8658   };
8659   template <>
8660   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeaturesKHR, PhysicalDeviceFeatures2>
8661   {
8662     enum
8663     {
8664       value = true
8665     };
8666   };
8667   template <>
8668   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeaturesKHR, DeviceCreateInfo>
8669   {
8670     enum
8671     {
8672       value = true
8673     };
8674   };
8675   template <>
8676   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
8677   {
8678     enum
8679     {
8680       value = true
8681     };
8682   };
8683   template <>
8684   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
8685   {
8686     enum
8687     {
8688       value = true
8689     };
8690   };
8691   template <>
8692   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
8693   {
8694     enum
8695     {
8696       value = true
8697     };
8698   };
8699   template <>
8700   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8701   {
8702     enum
8703     {
8704       value = true
8705     };
8706   };
8707   template <>
8708   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT, PhysicalDeviceFeatures2>
8709   {
8710     enum
8711     {
8712       value = true
8713     };
8714   };
8715   template <>
8716   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeaturesEXT, DeviceCreateInfo>
8717   {
8718     enum
8719     {
8720       value = true
8721     };
8722   };
8723   template <>
8724   struct StructExtends<PhysicalDeviceSubgroupSizeControlPropertiesEXT, PhysicalDeviceProperties2>
8725   {
8726     enum
8727     {
8728       value = true
8729     };
8730   };
8731   template <>
8732   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
8733   {
8734     enum
8735     {
8736       value = true
8737     };
8738   };
8739   template <>
8740   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
8741   {
8742     enum
8743     {
8744       value = true
8745     };
8746   };
8747   template <>
8748   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
8749   {
8750     enum
8751     {
8752       value = true
8753     };
8754   };
8755   template <>
8756   struct StructExtends<PhysicalDeviceSynchronization2FeaturesKHR, PhysicalDeviceFeatures2>
8757   {
8758     enum
8759     {
8760       value = true
8761     };
8762   };
8763   template <>
8764   struct StructExtends<PhysicalDeviceSynchronization2FeaturesKHR, DeviceCreateInfo>
8765   {
8766     enum
8767     {
8768       value = true
8769     };
8770   };
8771   template <>
8772   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
8773   {
8774     enum
8775     {
8776       value = true
8777     };
8778   };
8779   template <>
8780   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
8781   {
8782     enum
8783     {
8784       value = true
8785     };
8786   };
8787   template <>
8788   struct StructExtends<PhysicalDeviceTexelBufferAlignmentPropertiesEXT, PhysicalDeviceProperties2>
8789   {
8790     enum
8791     {
8792       value = true
8793     };
8794   };
8795   template <>
8796   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, PhysicalDeviceFeatures2>
8797   {
8798     enum
8799     {
8800       value = true
8801     };
8802   };
8803   template <>
8804   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeaturesEXT, DeviceCreateInfo>
8805   {
8806     enum
8807     {
8808       value = true
8809     };
8810   };
8811   template <>
8812   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
8813   {
8814     enum
8815     {
8816       value = true
8817     };
8818   };
8819   template <>
8820   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
8821   {
8822     enum
8823     {
8824       value = true
8825     };
8826   };
8827   template <>
8828   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
8829   {
8830     enum
8831     {
8832       value = true
8833     };
8834   };
8835   template <>
8836   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
8837   {
8838     enum
8839     {
8840       value = true
8841     };
8842   };
8843   template <>
8844   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
8845   {
8846     enum
8847     {
8848       value = true
8849     };
8850   };
8851   template <>
8852   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
8853   {
8854     enum
8855     {
8856       value = true
8857     };
8858   };
8859   template <>
8860   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
8861   {
8862     enum
8863     {
8864       value = true
8865     };
8866   };
8867   template <>
8868   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
8869   {
8870     enum
8871     {
8872       value = true
8873     };
8874   };
8875   template <>
8876   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
8877   {
8878     enum
8879     {
8880       value = true
8881     };
8882   };
8883   template <>
8884   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
8885   {
8886     enum
8887     {
8888       value = true
8889     };
8890   };
8891   template <>
8892   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, PhysicalDeviceFeatures2>
8893   {
8894     enum
8895     {
8896       value = true
8897     };
8898   };
8899   template <>
8900   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, DeviceCreateInfo>
8901   {
8902     enum
8903     {
8904       value = true
8905     };
8906   };
8907   template <>
8908   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
8909   {
8910     enum
8911     {
8912       value = true
8913     };
8914   };
8915   template <>
8916   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
8917   {
8918     enum
8919     {
8920       value = true
8921     };
8922   };
8923   template <>
8924   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
8925   {
8926     enum
8927     {
8928       value = true
8929     };
8930   };
8931   template <>
8932   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
8933   {
8934     enum
8935     {
8936       value = true
8937     };
8938   };
8939   template <>
8940   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
8941   {
8942     enum
8943     {
8944       value = true
8945     };
8946   };
8947   template <>
8948   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
8949   {
8950     enum
8951     {
8952       value = true
8953     };
8954   };
8955   template <>
8956   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
8957   {
8958     enum
8959     {
8960       value = true
8961     };
8962   };
8963   template <>
8964   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
8965   {
8966     enum
8967     {
8968       value = true
8969     };
8970   };
8971   template <>
8972   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
8973   {
8974     enum
8975     {
8976       value = true
8977     };
8978   };
8979   template <>
8980   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
8981   {
8982     enum
8983     {
8984       value = true
8985     };
8986   };
8987   template <>
8988   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
8989   {
8990     enum
8991     {
8992       value = true
8993     };
8994   };
8995   template <>
8996   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
8997   {
8998     enum
8999     {
9000       value = true
9001     };
9002   };
9003   template <>
9004   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
9005   {
9006     enum
9007     {
9008       value = true
9009     };
9010   };
9011   template <>
9012   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
9013   {
9014     enum
9015     {
9016       value = true
9017     };
9018   };
9019   template <>
9020   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
9021   {
9022     enum
9023     {
9024       value = true
9025     };
9026   };
9027   template <>
9028   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
9029   {
9030     enum
9031     {
9032       value = true
9033     };
9034   };
9035   template <>
9036   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
9037   {
9038     enum
9039     {
9040       value = true
9041     };
9042   };
9043   template <>
9044   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR, PhysicalDeviceFeatures2>
9045   {
9046     enum
9047     {
9048       value = true
9049     };
9050   };
9051   template <>
9052   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeaturesKHR, DeviceCreateInfo>
9053   {
9054     enum
9055     {
9056       value = true
9057     };
9058   };
9059   template <>
9060   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
9061   {
9062     enum
9063     {
9064       value = true
9065     };
9066   };
9067   template <>
9068   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
9069   {
9070     enum
9071     {
9072       value = true
9073     };
9074   };
9075   template <>
9076   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
9077   {
9078     enum
9079     {
9080       value = true
9081     };
9082   };
9083   template <>
9084   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
9085   {
9086     enum
9087     {
9088       value = true
9089     };
9090   };
9091   template <>
9092   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
9093   {
9094     enum
9095     {
9096       value = true
9097     };
9098   };
9099   template <>
9100   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
9101   {
9102     enum
9103     {
9104       value = true
9105     };
9106   };
9107   template <>
9108   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
9109   {
9110     enum
9111     {
9112       value = true
9113     };
9114   };
9115   template <>
9116   struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, GraphicsPipelineCreateInfo>
9117   {
9118     enum
9119     {
9120       value = true
9121     };
9122   };
9123   template <>
9124   struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, ComputePipelineCreateInfo>
9125   {
9126     enum
9127     {
9128       value = true
9129     };
9130   };
9131   template <>
9132   struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, RayTracingPipelineCreateInfoNV>
9133   {
9134     enum
9135     {
9136       value = true
9137     };
9138   };
9139   template <>
9140   struct StructExtends<PipelineCreationFeedbackCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
9141   {
9142     enum
9143     {
9144       value = true
9145     };
9146   };
9147   template <>
9148   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
9149   {
9150     enum
9151     {
9152       value = true
9153     };
9154   };
9155   template <>
9156   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
9157   {
9158     enum
9159     {
9160       value = true
9161     };
9162   };
9163   template <>
9164   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
9165   {
9166     enum
9167     {
9168       value = true
9169     };
9170   };
9171   template <>
9172   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
9173   {
9174     enum
9175     {
9176       value = true
9177     };
9178   };
9179   template <>
9180   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
9181   {
9182     enum
9183     {
9184       value = true
9185     };
9186   };
9187   template <>
9188   struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
9189   {
9190     enum
9191     {
9192       value = true
9193     };
9194   };
9195   template <>
9196   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
9197   {
9198     enum
9199     {
9200       value = true
9201     };
9202   };
9203   template <>
9204   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
9205   {
9206     enum
9207     {
9208       value = true
9209     };
9210   };
9211   template <>
9212   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
9213   {
9214     enum
9215     {
9216       value = true
9217     };
9218   };
9219   template <>
9220   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
9221   {
9222     enum
9223     {
9224       value = true
9225     };
9226   };
9227   template <>
9228   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
9229   {
9230     enum
9231     {
9232       value = true
9233     };
9234   };
9235   template <>
9236   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfoEXT, PipelineShaderStageCreateInfo>
9237   {
9238     enum
9239     {
9240       value = true
9241     };
9242   };
9243   template <>
9244   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
9245   {
9246     enum
9247     {
9248       value = true
9249     };
9250   };
9251   template <>
9252   struct StructExtends<PipelineVertexInputDivisorStateCreateInfoEXT, PipelineVertexInputStateCreateInfo>
9253   {
9254     enum
9255     {
9256       value = true
9257     };
9258   };
9259   template <>
9260   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
9261   {
9262     enum
9263     {
9264       value = true
9265     };
9266   };
9267   template <>
9268   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
9269   {
9270     enum
9271     {
9272       value = true
9273     };
9274   };
9275   template <>
9276   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
9277   {
9278     enum
9279     {
9280       value = true
9281     };
9282   };
9283   template <>
9284   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
9285   {
9286     enum
9287     {
9288       value = true
9289     };
9290   };
9291   template <>
9292   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
9293   {
9294     enum
9295     {
9296       value = true
9297     };
9298   };
9299 #if defined( VK_USE_PLATFORM_GGP )
9300   template <>
9301   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
9302   {
9303     enum
9304     {
9305       value = true
9306     };
9307   };
9308 #endif /*VK_USE_PLATFORM_GGP*/
9309   template <>
9310   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
9311   {
9312     enum
9313     {
9314       value = true
9315     };
9316   };
9317   template <>
9318   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
9319   {
9320     enum
9321     {
9322       value = true
9323     };
9324   };
9325   template <>
9326   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
9327   {
9328     enum
9329     {
9330       value = true
9331     };
9332   };
9333   template <>
9334   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
9335   {
9336     enum
9337     {
9338       value = true
9339     };
9340   };
9341   template <>
9342   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
9343   {
9344     enum
9345     {
9346       value = true
9347     };
9348   };
9349   template <>
9350   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
9351   {
9352     enum
9353     {
9354       value = true
9355     };
9356   };
9357   template <>
9358   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
9359   {
9360     enum
9361     {
9362       value = true
9363     };
9364   };
9365   template <>
9366   struct StructExtends<QueueFamilyGlobalPriorityPropertiesEXT, QueueFamilyProperties2>
9367   {
9368     enum
9369     {
9370       value = true
9371     };
9372   };
9373   template <>
9374   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9375   {
9376     enum
9377     {
9378       value = true
9379     };
9380   };
9381   template <>
9382   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
9383   {
9384     enum
9385     {
9386       value = true
9387     };
9388   };
9389   template <>
9390   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
9391   {
9392     enum
9393     {
9394       value = true
9395     };
9396   };
9397   template <>
9398   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
9399   {
9400     enum
9401     {
9402       value = true
9403     };
9404   };
9405   template <>
9406   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
9407   {
9408     enum
9409     {
9410       value = true
9411     };
9412   };
9413   template <>
9414   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
9415   {
9416     enum
9417     {
9418       value = true
9419     };
9420   };
9421   template <>
9422   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
9423   {
9424     enum
9425     {
9426       value = true
9427     };
9428   };
9429   template <>
9430   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
9431   {
9432     enum
9433     {
9434       value = true
9435     };
9436   };
9437   template <>
9438   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2KHR>
9439   {
9440     enum
9441     {
9442       value = true
9443     };
9444   };
9445   template <>
9446   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
9447   {
9448     enum
9449     {
9450       value = true
9451     };
9452   };
9453   template <>
9454   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9455   {
9456     enum
9457     {
9458       value = true
9459     };
9460   };
9461   template <>
9462   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9463   {
9464     enum
9465     {
9466       value = true
9467     };
9468   };
9469   template <>
9470   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
9471   {
9472     enum
9473     {
9474       value = true
9475     };
9476   };
9477   template <>
9478   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
9479   {
9480     enum
9481     {
9482       value = true
9483     };
9484   };
9485   template <>
9486   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9487   {
9488     enum
9489     {
9490       value = true
9491     };
9492   };
9493   template <>
9494   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9495   {
9496     enum
9497     {
9498       value = true
9499     };
9500   };
9501   template <>
9502   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
9503   {
9504     enum
9505     {
9506       value = true
9507     };
9508   };
9509   template <>
9510   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
9511   {
9512     enum
9513     {
9514       value = true
9515     };
9516   };
9517   template <>
9518   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9519   {
9520     enum
9521     {
9522       value = true
9523     };
9524   };
9525   template <>
9526   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
9527   {
9528     enum
9529     {
9530       value = true
9531     };
9532   };
9533 #if defined( VK_USE_PLATFORM_WIN32_KHR )
9534   template <>
9535   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
9536   {
9537     enum
9538     {
9539       value = true
9540     };
9541   };
9542 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
9543 #if defined( VK_USE_PLATFORM_WIN32_KHR )
9544   template <>
9545   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
9546   {
9547     enum
9548     {
9549       value = true
9550     };
9551   };
9552   template <>
9553   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
9554   {
9555     enum
9556     {
9557       value = true
9558     };
9559   };
9560 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
9561 #if defined( VK_USE_PLATFORM_WIN32_KHR )
9562   template <>
9563   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
9564   {
9565     enum
9566     {
9567       value = true
9568     };
9569   };
9570   template <>
9571   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
9572   {
9573     enum
9574     {
9575       value = true
9576     };
9577   };
9578 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
9579   template <>
9580   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
9581   {
9582     enum
9583     {
9584       value = true
9585     };
9586   };
9587   template <>
9588   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
9589   {
9590     enum
9591     {
9592       value = true
9593     };
9594   };
9595   template <>
9596   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
9597   {
9598     enum
9599     {
9600       value = true
9601     };
9602   };
9603   template <>
9604   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
9605   {
9606     enum
9607     {
9608       value = true
9609     };
9610   };
9611   template <>
9612   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9613   {
9614     enum
9615     {
9616       value = true
9617     };
9618   };
9619   template <>
9620   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9621   {
9622     enum
9623     {
9624       value = true
9625     };
9626   };
9627   template <>
9628   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
9629   {
9630     enum
9631     {
9632       value = true
9633     };
9634   };
9635   template <>
9636   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
9637   {
9638     enum
9639     {
9640       value = true
9641     };
9642   };
9643 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9644   template <>
9645   struct StructExtends<VideoDecodeH264CapabilitiesEXT, VideoCapabilitiesKHR>
9646   {
9647     enum
9648     {
9649       value = true
9650     };
9651   };
9652 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9653 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9654   template <>
9655   struct StructExtends<VideoDecodeH264DpbSlotInfoEXT, VideoReferenceSlotKHR>
9656   {
9657     enum
9658     {
9659       value = true
9660     };
9661   };
9662 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9663 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9664   template <>
9665   struct StructExtends<VideoDecodeH264MvcEXT, VideoDecodeH264PictureInfoEXT>
9666   {
9667     enum
9668     {
9669       value = true
9670     };
9671   };
9672 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9673 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9674   template <>
9675   struct StructExtends<VideoDecodeH264PictureInfoEXT, VideoDecodeInfoKHR>
9676   {
9677     enum
9678     {
9679       value = true
9680     };
9681   };
9682 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9683 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9684   template <>
9685   struct StructExtends<VideoDecodeH264ProfileEXT, VideoProfileKHR>
9686   {
9687     enum
9688     {
9689       value = true
9690     };
9691   };
9692 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9693 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9694   template <>
9695   struct StructExtends<VideoDecodeH264SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
9696   {
9697     enum
9698     {
9699       value = true
9700     };
9701   };
9702 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9703 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9704   template <>
9705   struct StructExtends<VideoDecodeH264SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
9706   {
9707     enum
9708     {
9709       value = true
9710     };
9711   };
9712 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9713 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9714   template <>
9715   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
9716   {
9717     enum
9718     {
9719       value = true
9720     };
9721   };
9722 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9723 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9724   template <>
9725   struct StructExtends<VideoDecodeH265CapabilitiesEXT, VideoCapabilitiesKHR>
9726   {
9727     enum
9728     {
9729       value = true
9730     };
9731   };
9732 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9733 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9734   template <>
9735   struct StructExtends<VideoDecodeH265DpbSlotInfoEXT, VideoReferenceSlotKHR>
9736   {
9737     enum
9738     {
9739       value = true
9740     };
9741   };
9742 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9743 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9744   template <>
9745   struct StructExtends<VideoDecodeH265PictureInfoEXT, VideoDecodeInfoKHR>
9746   {
9747     enum
9748     {
9749       value = true
9750     };
9751   };
9752 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9753 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9754   template <>
9755   struct StructExtends<VideoDecodeH265ProfileEXT, VideoProfileKHR>
9756   {
9757     enum
9758     {
9759       value = true
9760     };
9761   };
9762 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9763 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9764   template <>
9765   struct StructExtends<VideoDecodeH265SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
9766   {
9767     enum
9768     {
9769       value = true
9770     };
9771   };
9772 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9773 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9774   template <>
9775   struct StructExtends<VideoDecodeH265SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
9776   {
9777     enum
9778     {
9779       value = true
9780     };
9781   };
9782 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9783 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9784   template <>
9785   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
9786   {
9787     enum
9788     {
9789       value = true
9790     };
9791   };
9792 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9793 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9794   template <>
9795   struct StructExtends<VideoEncodeH264CapabilitiesEXT, VideoCapabilitiesKHR>
9796   {
9797     enum
9798     {
9799       value = true
9800     };
9801   };
9802 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9803 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9804   template <>
9805   struct StructExtends<VideoEncodeH264EmitPictureParametersEXT, VideoEncodeInfoKHR>
9806   {
9807     enum
9808     {
9809       value = true
9810     };
9811   };
9812 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9813 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9814   template <>
9815   struct StructExtends<VideoEncodeH264ProfileEXT, VideoProfileKHR>
9816   {
9817     enum
9818     {
9819       value = true
9820     };
9821   };
9822 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9823 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9824   template <>
9825   struct StructExtends<VideoEncodeH264SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
9826   {
9827     enum
9828     {
9829       value = true
9830     };
9831   };
9832 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9833 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9834   template <>
9835   struct StructExtends<VideoEncodeH264SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
9836   {
9837     enum
9838     {
9839       value = true
9840     };
9841   };
9842 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9843 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9844   template <>
9845   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
9846   {
9847     enum
9848     {
9849       value = true
9850     };
9851   };
9852 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9853 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9854   template <>
9855   struct StructExtends<VideoEncodeH264VclFrameInfoEXT, VideoEncodeInfoKHR>
9856   {
9857     enum
9858     {
9859       value = true
9860     };
9861   };
9862 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9863 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9864   template <>
9865   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
9866   {
9867     enum
9868     {
9869       value = true
9870     };
9871   };
9872 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9873 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9874   template <>
9875   struct StructExtends<VideoProfileKHR, QueryPoolCreateInfo>
9876   {
9877     enum
9878     {
9879       value = true
9880     };
9881   };
9882   template <>
9883   struct StructExtends<VideoProfileKHR, FormatProperties2>
9884   {
9885     enum
9886     {
9887       value = true
9888     };
9889   };
9890   template <>
9891   struct StructExtends<VideoProfileKHR, ImageCreateInfo>
9892   {
9893     enum
9894     {
9895       value = true
9896     };
9897   };
9898   template <>
9899   struct StructExtends<VideoProfileKHR, ImageViewCreateInfo>
9900   {
9901     enum
9902     {
9903       value = true
9904     };
9905   };
9906   template <>
9907   struct StructExtends<VideoProfileKHR, BufferCreateInfo>
9908   {
9909     enum
9910     {
9911       value = true
9912     };
9913   };
9914 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9915 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9916   template <>
9917   struct StructExtends<VideoProfilesKHR, FormatProperties2>
9918   {
9919     enum
9920     {
9921       value = true
9922     };
9923   };
9924   template <>
9925   struct StructExtends<VideoProfilesKHR, ImageCreateInfo>
9926   {
9927     enum
9928     {
9929       value = true
9930     };
9931   };
9932   template <>
9933   struct StructExtends<VideoProfilesKHR, ImageViewCreateInfo>
9934   {
9935     enum
9936     {
9937       value = true
9938     };
9939   };
9940   template <>
9941   struct StructExtends<VideoProfilesKHR, BufferCreateInfo>
9942   {
9943     enum
9944     {
9945       value = true
9946     };
9947   };
9948 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9949 #if defined( VK_ENABLE_BETA_EXTENSIONS )
9950   template <>
9951   struct StructExtends<VideoQueueFamilyProperties2KHR, QueueFamilyProperties2>
9952   {
9953     enum
9954     {
9955       value = true
9956     };
9957   };
9958 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
9959 #if defined( VK_USE_PLATFORM_WIN32_KHR )
9960   template <>
9961   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
9962   {
9963     enum
9964     {
9965       value = true
9966     };
9967   };
9968   template <>
9969   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2KHR>
9970   {
9971     enum
9972     {
9973       value = true
9974     };
9975   };
9976 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
9977 #if defined( VK_USE_PLATFORM_WIN32_KHR )
9978   template <>
9979   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
9980   {
9981     enum
9982     {
9983       value = true
9984     };
9985   };
9986   template <>
9987   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2KHR>
9988   {
9989     enum
9990     {
9991       value = true
9992     };
9993   };
9994 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
9995   template <>
9996   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
9997   {
9998     enum
9999     {
10000       value = true
10001     };
10002   };
10003   template <>
10004   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
10005   {
10006     enum
10007     {
10008       value = true
10009     };
10010   };
10011   template <>
10012   struct StructExtends<WriteDescriptorSetInlineUniformBlockEXT, WriteDescriptorSet>
10013   {
10014     enum
10015     {
10016       value = true
10017     };
10018   };
10019 
10020 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
10021   class DynamicLoader
10022   {
10023   public:
10024 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )10025     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
10026 #  else
10027     DynamicLoader( std::string const & vulkanLibraryName = {} )
10028 #  endif
10029     {
10030       if ( !vulkanLibraryName.empty() )
10031       {
10032 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
10033         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
10034 #  elif defined( _WIN32 )
10035         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
10036 #  else
10037 #    error unsupported platform
10038 #  endif
10039       }
10040       else
10041       {
10042 #  if defined( __unix__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
10043         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
10044         if ( m_library == nullptr )
10045         {
10046           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
10047         }
10048 #  elif defined( __APPLE__ )
10049         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
10050 #  elif defined( _WIN32 )
10051         m_library = ::LoadLibraryA( "vulkan-1.dll" );
10052 #  else
10053 #    error unsupported platform
10054 #  endif
10055       }
10056 
10057 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
10058       if ( m_library == nullptr )
10059       {
10060         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the
10061         // scope of this function.
10062         throw std::runtime_error( "Failed to load vulkan library!" );
10063       }
10064 #  endif
10065     }
10066 
10067     DynamicLoader( DynamicLoader const & ) = delete;
10068 
DynamicLoader(DynamicLoader && other)10069     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
10070     {
10071       other.m_library = nullptr;
10072     }
10073 
10074     DynamicLoader & operator=( DynamicLoader const & ) = delete;
10075 
operator =(DynamicLoader && other)10076     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
10077     {
10078       std::swap( m_library, other.m_library );
10079       return *this;
10080     }
10081 
~DynamicLoader()10082     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
10083     {
10084       if ( m_library )
10085       {
10086 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
10087         dlclose( m_library );
10088 #  elif defined( _WIN32 )
10089         ::FreeLibrary( m_library );
10090 #  else
10091 #    error unsupported platform
10092 #  endif
10093       }
10094     }
10095 
10096     template <typename T>
getProcAddress(const char * function) const10097     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
10098     {
10099 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
10100       return (T)dlsym( m_library, function );
10101 #  elif defined( _WIN32 )
10102       return ( T )::GetProcAddress( m_library, function );
10103 #  else
10104 #    error unsupported platform
10105 #  endif
10106     }
10107 
success() const10108     bool success() const VULKAN_HPP_NOEXCEPT
10109     {
10110       return m_library != nullptr;
10111     }
10112 
10113   private:
10114 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
10115     void * m_library;
10116 #  elif defined( _WIN32 )
10117     ::HINSTANCE m_library;
10118 #  else
10119 #    error unsupported platform
10120 #  endif
10121   };
10122 #endif
10123 
10124   class DispatchLoaderDynamic
10125   {
10126   public:
10127     using PFN_dummy = void ( * )();
10128 
10129     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
10130 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10131     PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT = 0;
10132 #else
10133     PFN_dummy placeholder_dont_call_vkAcquireFullScreenExclusiveModeEXT               = 0;
10134 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10135     PFN_vkAcquireNextImage2KHR                 vkAcquireNextImage2KHR                 = 0;
10136     PFN_vkAcquireNextImageKHR                  vkAcquireNextImageKHR                  = 0;
10137     PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL = 0;
10138     PFN_vkAcquireProfilingLockKHR              vkAcquireProfilingLockKHR              = 0;
10139 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10140     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
10141 #else
10142     PFN_dummy placeholder_dont_call_vkAcquireWinrtDisplayNV                           = 0;
10143 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10144 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
10145     PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT = 0;
10146 #else
10147     PFN_dummy placeholder_dont_call_vkAcquireXlibDisplayEXT                           = 0;
10148 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
10149     PFN_vkAllocateCommandBuffers            vkAllocateCommandBuffers            = 0;
10150     PFN_vkAllocateDescriptorSets            vkAllocateDescriptorSets            = 0;
10151     PFN_vkAllocateMemory                    vkAllocateMemory                    = 0;
10152     PFN_vkBeginCommandBuffer                vkBeginCommandBuffer                = 0;
10153     PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV = 0;
10154     PFN_vkBindBufferMemory                  vkBindBufferMemory                  = 0;
10155     PFN_vkBindBufferMemory2                 vkBindBufferMemory2                 = 0;
10156     PFN_vkBindBufferMemory2KHR              vkBindBufferMemory2KHR              = 0;
10157     PFN_vkBindImageMemory                   vkBindImageMemory                   = 0;
10158     PFN_vkBindImageMemory2                  vkBindImageMemory2                  = 0;
10159     PFN_vkBindImageMemory2KHR               vkBindImageMemory2KHR               = 0;
10160 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10161     PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR = 0;
10162 #else
10163     PFN_dummy placeholder_dont_call_vkBindVideoSessionMemoryKHR                       = 0;
10164 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10165     PFN_vkBuildAccelerationStructuresKHR  vkBuildAccelerationStructuresKHR  = 0;
10166     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
10167     PFN_vkCmdBeginDebugUtilsLabelEXT      vkCmdBeginDebugUtilsLabelEXT      = 0;
10168     PFN_vkCmdBeginQuery                   vkCmdBeginQuery                   = 0;
10169     PFN_vkCmdBeginQueryIndexedEXT         vkCmdBeginQueryIndexedEXT         = 0;
10170     PFN_vkCmdBeginRenderPass              vkCmdBeginRenderPass              = 0;
10171     PFN_vkCmdBeginRenderPass2             vkCmdBeginRenderPass2             = 0;
10172     PFN_vkCmdBeginRenderPass2KHR          vkCmdBeginRenderPass2KHR          = 0;
10173     PFN_vkCmdBeginTransformFeedbackEXT    vkCmdBeginTransformFeedbackEXT    = 0;
10174 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10175     PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR = 0;
10176 #else
10177     PFN_dummy placeholder_dont_call_vkCmdBeginVideoCodingKHR                          = 0;
10178 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10179     PFN_vkCmdBindDescriptorSets                     vkCmdBindDescriptorSets                     = 0;
10180     PFN_vkCmdBindIndexBuffer                        vkCmdBindIndexBuffer                        = 0;
10181     PFN_vkCmdBindPipeline                           vkCmdBindPipeline                           = 0;
10182     PFN_vkCmdBindPipelineShaderGroupNV              vkCmdBindPipelineShaderGroupNV              = 0;
10183     PFN_vkCmdBindShadingRateImageNV                 vkCmdBindShadingRateImageNV                 = 0;
10184     PFN_vkCmdBindTransformFeedbackBuffersEXT        vkCmdBindTransformFeedbackBuffersEXT        = 0;
10185     PFN_vkCmdBindVertexBuffers                      vkCmdBindVertexBuffers                      = 0;
10186     PFN_vkCmdBindVertexBuffers2EXT                  vkCmdBindVertexBuffers2EXT                  = 0;
10187     PFN_vkCmdBlitImage                              vkCmdBlitImage                              = 0;
10188     PFN_vkCmdBlitImage2KHR                          vkCmdBlitImage2KHR                          = 0;
10189     PFN_vkCmdBuildAccelerationStructureNV           vkCmdBuildAccelerationStructureNV           = 0;
10190     PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR = 0;
10191     PFN_vkCmdBuildAccelerationStructuresKHR         vkCmdBuildAccelerationStructuresKHR         = 0;
10192     PFN_vkCmdClearAttachments                       vkCmdClearAttachments                       = 0;
10193     PFN_vkCmdClearColorImage                        vkCmdClearColorImage                        = 0;
10194     PFN_vkCmdClearDepthStencilImage                 vkCmdClearDepthStencilImage                 = 0;
10195 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10196     PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR = 0;
10197 #else
10198     PFN_dummy placeholder_dont_call_vkCmdControlVideoCodingKHR                        = 0;
10199 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10200     PFN_vkCmdCopyAccelerationStructureKHR         vkCmdCopyAccelerationStructureKHR         = 0;
10201     PFN_vkCmdCopyAccelerationStructureNV          vkCmdCopyAccelerationStructureNV          = 0;
10202     PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR = 0;
10203     PFN_vkCmdCopyBuffer                           vkCmdCopyBuffer                           = 0;
10204     PFN_vkCmdCopyBuffer2KHR                       vkCmdCopyBuffer2KHR                       = 0;
10205     PFN_vkCmdCopyBufferToImage                    vkCmdCopyBufferToImage                    = 0;
10206     PFN_vkCmdCopyBufferToImage2KHR                vkCmdCopyBufferToImage2KHR                = 0;
10207     PFN_vkCmdCopyImage                            vkCmdCopyImage                            = 0;
10208     PFN_vkCmdCopyImage2KHR                        vkCmdCopyImage2KHR                        = 0;
10209     PFN_vkCmdCopyImageToBuffer                    vkCmdCopyImageToBuffer                    = 0;
10210     PFN_vkCmdCopyImageToBuffer2KHR                vkCmdCopyImageToBuffer2KHR                = 0;
10211     PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR = 0;
10212     PFN_vkCmdCopyQueryPoolResults                 vkCmdCopyQueryPoolResults                 = 0;
10213     PFN_vkCmdCuLaunchKernelNVX                    vkCmdCuLaunchKernelNVX                    = 0;
10214     PFN_vkCmdDebugMarkerBeginEXT                  vkCmdDebugMarkerBeginEXT                  = 0;
10215     PFN_vkCmdDebugMarkerEndEXT                    vkCmdDebugMarkerEndEXT                    = 0;
10216     PFN_vkCmdDebugMarkerInsertEXT                 vkCmdDebugMarkerInsertEXT                 = 0;
10217 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10218     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
10219 #else
10220     PFN_dummy placeholder_dont_call_vkCmdDecodeVideoKHR                               = 0;
10221 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10222     PFN_vkCmdDispatch                     vkCmdDispatch                     = 0;
10223     PFN_vkCmdDispatchBase                 vkCmdDispatchBase                 = 0;
10224     PFN_vkCmdDispatchBaseKHR              vkCmdDispatchBaseKHR              = 0;
10225     PFN_vkCmdDispatchIndirect             vkCmdDispatchIndirect             = 0;
10226     PFN_vkCmdDraw                         vkCmdDraw                         = 0;
10227     PFN_vkCmdDrawIndexed                  vkCmdDrawIndexed                  = 0;
10228     PFN_vkCmdDrawIndexedIndirect          vkCmdDrawIndexedIndirect          = 0;
10229     PFN_vkCmdDrawIndexedIndirectCount     vkCmdDrawIndexedIndirectCount     = 0;
10230     PFN_vkCmdDrawIndexedIndirectCountAMD  vkCmdDrawIndexedIndirectCountAMD  = 0;
10231     PFN_vkCmdDrawIndexedIndirectCountKHR  vkCmdDrawIndexedIndirectCountKHR  = 0;
10232     PFN_vkCmdDrawIndirect                 vkCmdDrawIndirect                 = 0;
10233     PFN_vkCmdDrawIndirectByteCountEXT     vkCmdDrawIndirectByteCountEXT     = 0;
10234     PFN_vkCmdDrawIndirectCount            vkCmdDrawIndirectCount            = 0;
10235     PFN_vkCmdDrawIndirectCountAMD         vkCmdDrawIndirectCountAMD         = 0;
10236     PFN_vkCmdDrawIndirectCountKHR         vkCmdDrawIndirectCountKHR         = 0;
10237     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
10238     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
10239     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
10240     PFN_vkCmdDrawMultiEXT                 vkCmdDrawMultiEXT                 = 0;
10241     PFN_vkCmdDrawMultiIndexedEXT          vkCmdDrawMultiIndexedEXT          = 0;
10242 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10243     PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0;
10244 #else
10245     PFN_dummy placeholder_dont_call_vkCmdEncodeVideoKHR                               = 0;
10246 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10247     PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT = 0;
10248     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
10249     PFN_vkCmdEndQuery                   vkCmdEndQuery                   = 0;
10250     PFN_vkCmdEndQueryIndexedEXT         vkCmdEndQueryIndexedEXT         = 0;
10251     PFN_vkCmdEndRenderPass              vkCmdEndRenderPass              = 0;
10252     PFN_vkCmdEndRenderPass2             vkCmdEndRenderPass2             = 0;
10253     PFN_vkCmdEndRenderPass2KHR          vkCmdEndRenderPass2KHR          = 0;
10254     PFN_vkCmdEndTransformFeedbackEXT    vkCmdEndTransformFeedbackEXT    = 0;
10255 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10256     PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR = 0;
10257 #else
10258     PFN_dummy placeholder_dont_call_vkCmdEndVideoCodingKHR                            = 0;
10259 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10260     PFN_vkCmdExecuteCommands                          vkCmdExecuteCommands                          = 0;
10261     PFN_vkCmdExecuteGeneratedCommandsNV               vkCmdExecuteGeneratedCommandsNV               = 0;
10262     PFN_vkCmdFillBuffer                               vkCmdFillBuffer                               = 0;
10263     PFN_vkCmdInsertDebugUtilsLabelEXT                 vkCmdInsertDebugUtilsLabelEXT                 = 0;
10264     PFN_vkCmdNextSubpass                              vkCmdNextSubpass                              = 0;
10265     PFN_vkCmdNextSubpass2                             vkCmdNextSubpass2                             = 0;
10266     PFN_vkCmdNextSubpass2KHR                          vkCmdNextSubpass2KHR                          = 0;
10267     PFN_vkCmdPipelineBarrier                          vkCmdPipelineBarrier                          = 0;
10268     PFN_vkCmdPipelineBarrier2KHR                      vkCmdPipelineBarrier2KHR                      = 0;
10269     PFN_vkCmdPreprocessGeneratedCommandsNV            vkCmdPreprocessGeneratedCommandsNV            = 0;
10270     PFN_vkCmdPushConstants                            vkCmdPushConstants                            = 0;
10271     PFN_vkCmdPushDescriptorSetKHR                     vkCmdPushDescriptorSetKHR                     = 0;
10272     PFN_vkCmdPushDescriptorSetWithTemplateKHR         vkCmdPushDescriptorSetWithTemplateKHR         = 0;
10273     PFN_vkCmdResetEvent                               vkCmdResetEvent                               = 0;
10274     PFN_vkCmdResetEvent2KHR                           vkCmdResetEvent2KHR                           = 0;
10275     PFN_vkCmdResetQueryPool                           vkCmdResetQueryPool                           = 0;
10276     PFN_vkCmdResolveImage                             vkCmdResolveImage                             = 0;
10277     PFN_vkCmdResolveImage2KHR                         vkCmdResolveImage2KHR                         = 0;
10278     PFN_vkCmdSetBlendConstants                        vkCmdSetBlendConstants                        = 0;
10279     PFN_vkCmdSetCheckpointNV                          vkCmdSetCheckpointNV                          = 0;
10280     PFN_vkCmdSetCoarseSampleOrderNV                   vkCmdSetCoarseSampleOrderNV                   = 0;
10281     PFN_vkCmdSetColorWriteEnableEXT                   vkCmdSetColorWriteEnableEXT                   = 0;
10282     PFN_vkCmdSetCullModeEXT                           vkCmdSetCullModeEXT                           = 0;
10283     PFN_vkCmdSetDepthBias                             vkCmdSetDepthBias                             = 0;
10284     PFN_vkCmdSetDepthBiasEnableEXT                    vkCmdSetDepthBiasEnableEXT                    = 0;
10285     PFN_vkCmdSetDepthBounds                           vkCmdSetDepthBounds                           = 0;
10286     PFN_vkCmdSetDepthBoundsTestEnableEXT              vkCmdSetDepthBoundsTestEnableEXT              = 0;
10287     PFN_vkCmdSetDepthCompareOpEXT                     vkCmdSetDepthCompareOpEXT                     = 0;
10288     PFN_vkCmdSetDepthTestEnableEXT                    vkCmdSetDepthTestEnableEXT                    = 0;
10289     PFN_vkCmdSetDepthWriteEnableEXT                   vkCmdSetDepthWriteEnableEXT                   = 0;
10290     PFN_vkCmdSetDeviceMask                            vkCmdSetDeviceMask                            = 0;
10291     PFN_vkCmdSetDeviceMaskKHR                         vkCmdSetDeviceMaskKHR                         = 0;
10292     PFN_vkCmdSetDiscardRectangleEXT                   vkCmdSetDiscardRectangleEXT                   = 0;
10293     PFN_vkCmdSetEvent                                 vkCmdSetEvent                                 = 0;
10294     PFN_vkCmdSetEvent2KHR                             vkCmdSetEvent2KHR                             = 0;
10295     PFN_vkCmdSetExclusiveScissorNV                    vkCmdSetExclusiveScissorNV                    = 0;
10296     PFN_vkCmdSetFragmentShadingRateEnumNV             vkCmdSetFragmentShadingRateEnumNV             = 0;
10297     PFN_vkCmdSetFragmentShadingRateKHR                vkCmdSetFragmentShadingRateKHR                = 0;
10298     PFN_vkCmdSetFrontFaceEXT                          vkCmdSetFrontFaceEXT                          = 0;
10299     PFN_vkCmdSetLineStippleEXT                        vkCmdSetLineStippleEXT                        = 0;
10300     PFN_vkCmdSetLineWidth                             vkCmdSetLineWidth                             = 0;
10301     PFN_vkCmdSetLogicOpEXT                            vkCmdSetLogicOpEXT                            = 0;
10302     PFN_vkCmdSetPatchControlPointsEXT                 vkCmdSetPatchControlPointsEXT                 = 0;
10303     PFN_vkCmdSetPerformanceMarkerINTEL                vkCmdSetPerformanceMarkerINTEL                = 0;
10304     PFN_vkCmdSetPerformanceOverrideINTEL              vkCmdSetPerformanceOverrideINTEL              = 0;
10305     PFN_vkCmdSetPerformanceStreamMarkerINTEL          vkCmdSetPerformanceStreamMarkerINTEL          = 0;
10306     PFN_vkCmdSetPrimitiveRestartEnableEXT             vkCmdSetPrimitiveRestartEnableEXT             = 0;
10307     PFN_vkCmdSetPrimitiveTopologyEXT                  vkCmdSetPrimitiveTopologyEXT                  = 0;
10308     PFN_vkCmdSetRasterizerDiscardEnableEXT            vkCmdSetRasterizerDiscardEnableEXT            = 0;
10309     PFN_vkCmdSetRayTracingPipelineStackSizeKHR        vkCmdSetRayTracingPipelineStackSizeKHR        = 0;
10310     PFN_vkCmdSetSampleLocationsEXT                    vkCmdSetSampleLocationsEXT                    = 0;
10311     PFN_vkCmdSetScissor                               vkCmdSetScissor                               = 0;
10312     PFN_vkCmdSetScissorWithCountEXT                   vkCmdSetScissorWithCountEXT                   = 0;
10313     PFN_vkCmdSetStencilCompareMask                    vkCmdSetStencilCompareMask                    = 0;
10314     PFN_vkCmdSetStencilOpEXT                          vkCmdSetStencilOpEXT                          = 0;
10315     PFN_vkCmdSetStencilReference                      vkCmdSetStencilReference                      = 0;
10316     PFN_vkCmdSetStencilTestEnableEXT                  vkCmdSetStencilTestEnableEXT                  = 0;
10317     PFN_vkCmdSetStencilWriteMask                      vkCmdSetStencilWriteMask                      = 0;
10318     PFN_vkCmdSetVertexInputEXT                        vkCmdSetVertexInputEXT                        = 0;
10319     PFN_vkCmdSetViewport                              vkCmdSetViewport                              = 0;
10320     PFN_vkCmdSetViewportShadingRatePaletteNV          vkCmdSetViewportShadingRatePaletteNV          = 0;
10321     PFN_vkCmdSetViewportWScalingNV                    vkCmdSetViewportWScalingNV                    = 0;
10322     PFN_vkCmdSetViewportWithCountEXT                  vkCmdSetViewportWithCountEXT                  = 0;
10323     PFN_vkCmdSubpassShadingHUAWEI                     vkCmdSubpassShadingHUAWEI                     = 0;
10324     PFN_vkCmdTraceRaysIndirectKHR                     vkCmdTraceRaysIndirectKHR                     = 0;
10325     PFN_vkCmdTraceRaysKHR                             vkCmdTraceRaysKHR                             = 0;
10326     PFN_vkCmdTraceRaysNV                              vkCmdTraceRaysNV                              = 0;
10327     PFN_vkCmdUpdateBuffer                             vkCmdUpdateBuffer                             = 0;
10328     PFN_vkCmdWaitEvents                               vkCmdWaitEvents                               = 0;
10329     PFN_vkCmdWaitEvents2KHR                           vkCmdWaitEvents2KHR                           = 0;
10330     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR = 0;
10331     PFN_vkCmdWriteAccelerationStructuresPropertiesNV  vkCmdWriteAccelerationStructuresPropertiesNV  = 0;
10332     PFN_vkCmdWriteBufferMarker2AMD                    vkCmdWriteBufferMarker2AMD                    = 0;
10333     PFN_vkCmdWriteBufferMarkerAMD                     vkCmdWriteBufferMarkerAMD                     = 0;
10334     PFN_vkCmdWriteTimestamp                           vkCmdWriteTimestamp                           = 0;
10335     PFN_vkCmdWriteTimestamp2KHR                       vkCmdWriteTimestamp2KHR                       = 0;
10336     PFN_vkCompileDeferredNV                           vkCompileDeferredNV                           = 0;
10337     PFN_vkCopyAccelerationStructureKHR                vkCopyAccelerationStructureKHR                = 0;
10338     PFN_vkCopyAccelerationStructureToMemoryKHR        vkCopyAccelerationStructureToMemoryKHR        = 0;
10339     PFN_vkCopyMemoryToAccelerationStructureKHR        vkCopyMemoryToAccelerationStructureKHR        = 0;
10340     PFN_vkCreateAccelerationStructureKHR              vkCreateAccelerationStructureKHR              = 0;
10341     PFN_vkCreateAccelerationStructureNV               vkCreateAccelerationStructureNV               = 0;
10342 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
10343     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
10344 #else
10345     PFN_dummy placeholder_dont_call_vkCreateAndroidSurfaceKHR                         = 0;
10346 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10347     PFN_vkCreateBuffer                      vkCreateBuffer                      = 0;
10348     PFN_vkCreateBufferView                  vkCreateBufferView                  = 0;
10349     PFN_vkCreateCommandPool                 vkCreateCommandPool                 = 0;
10350     PFN_vkCreateComputePipelines            vkCreateComputePipelines            = 0;
10351     PFN_vkCreateCuFunctionNVX               vkCreateCuFunctionNVX               = 0;
10352     PFN_vkCreateCuModuleNVX                 vkCreateCuModuleNVX                 = 0;
10353     PFN_vkCreateDebugReportCallbackEXT      vkCreateDebugReportCallbackEXT      = 0;
10354     PFN_vkCreateDebugUtilsMessengerEXT      vkCreateDebugUtilsMessengerEXT      = 0;
10355     PFN_vkCreateDeferredOperationKHR        vkCreateDeferredOperationKHR        = 0;
10356     PFN_vkCreateDescriptorPool              vkCreateDescriptorPool              = 0;
10357     PFN_vkCreateDescriptorSetLayout         vkCreateDescriptorSetLayout         = 0;
10358     PFN_vkCreateDescriptorUpdateTemplate    vkCreateDescriptorUpdateTemplate    = 0;
10359     PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR = 0;
10360     PFN_vkCreateDevice                      vkCreateDevice                      = 0;
10361 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
10362     PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT = 0;
10363 #else
10364     PFN_dummy placeholder_dont_call_vkCreateDirectFBSurfaceEXT                        = 0;
10365 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
10366     PFN_vkCreateDisplayModeKHR         vkCreateDisplayModeKHR         = 0;
10367     PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR = 0;
10368     PFN_vkCreateEvent                  vkCreateEvent                  = 0;
10369     PFN_vkCreateFence                  vkCreateFence                  = 0;
10370     PFN_vkCreateFramebuffer            vkCreateFramebuffer            = 0;
10371     PFN_vkCreateGraphicsPipelines      vkCreateGraphicsPipelines      = 0;
10372     PFN_vkCreateHeadlessSurfaceEXT     vkCreateHeadlessSurfaceEXT     = 0;
10373 #if defined( VK_USE_PLATFORM_IOS_MVK )
10374     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
10375 #else
10376     PFN_dummy placeholder_dont_call_vkCreateIOSSurfaceMVK                             = 0;
10377 #endif /*VK_USE_PLATFORM_IOS_MVK*/
10378     PFN_vkCreateImage vkCreateImage = 0;
10379 #if defined( VK_USE_PLATFORM_FUCHSIA )
10380     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
10381 #else
10382     PFN_dummy placeholder_dont_call_vkCreateImagePipeSurfaceFUCHSIA                   = 0;
10383 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10384     PFN_vkCreateImageView                vkCreateImageView                = 0;
10385     PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV = 0;
10386     PFN_vkCreateInstance                 vkCreateInstance                 = 0;
10387 #if defined( VK_USE_PLATFORM_MACOS_MVK )
10388     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
10389 #else
10390     PFN_dummy placeholder_dont_call_vkCreateMacOSSurfaceMVK                           = 0;
10391 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
10392 #if defined( VK_USE_PLATFORM_METAL_EXT )
10393     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
10394 #else
10395     PFN_dummy placeholder_dont_call_vkCreateMetalSurfaceEXT                           = 0;
10396 #endif /*VK_USE_PLATFORM_METAL_EXT*/
10397     PFN_vkCreatePipelineCache             vkCreatePipelineCache             = 0;
10398     PFN_vkCreatePipelineLayout            vkCreatePipelineLayout            = 0;
10399     PFN_vkCreatePrivateDataSlotEXT        vkCreatePrivateDataSlotEXT        = 0;
10400     PFN_vkCreateQueryPool                 vkCreateQueryPool                 = 0;
10401     PFN_vkCreateRayTracingPipelinesKHR    vkCreateRayTracingPipelinesKHR    = 0;
10402     PFN_vkCreateRayTracingPipelinesNV     vkCreateRayTracingPipelinesNV     = 0;
10403     PFN_vkCreateRenderPass                vkCreateRenderPass                = 0;
10404     PFN_vkCreateRenderPass2               vkCreateRenderPass2               = 0;
10405     PFN_vkCreateRenderPass2KHR            vkCreateRenderPass2KHR            = 0;
10406     PFN_vkCreateSampler                   vkCreateSampler                   = 0;
10407     PFN_vkCreateSamplerYcbcrConversion    vkCreateSamplerYcbcrConversion    = 0;
10408     PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR = 0;
10409 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
10410     PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX = 0;
10411 #else
10412     PFN_dummy placeholder_dont_call_vkCreateScreenSurfaceQNX                          = 0;
10413 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
10414     PFN_vkCreateSemaphore           vkCreateSemaphore           = 0;
10415     PFN_vkCreateShaderModule        vkCreateShaderModule        = 0;
10416     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
10417 #if defined( VK_USE_PLATFORM_GGP )
10418     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
10419 #else
10420     PFN_dummy placeholder_dont_call_vkCreateStreamDescriptorSurfaceGGP                = 0;
10421 #endif /*VK_USE_PLATFORM_GGP*/
10422     PFN_vkCreateSwapchainKHR       vkCreateSwapchainKHR       = 0;
10423     PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT = 0;
10424 #if defined( VK_USE_PLATFORM_VI_NN )
10425     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
10426 #else
10427     PFN_dummy placeholder_dont_call_vkCreateViSurfaceNN                               = 0;
10428 #endif /*VK_USE_PLATFORM_VI_NN*/
10429 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10430     PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR = 0;
10431 #else
10432     PFN_dummy placeholder_dont_call_vkCreateVideoSessionKHR                           = 0;
10433 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10434 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10435     PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR = 0;
10436 #else
10437     PFN_dummy placeholder_dont_call_vkCreateVideoSessionParametersKHR                 = 0;
10438 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10439 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
10440     PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR = 0;
10441 #else
10442     PFN_dummy placeholder_dont_call_vkCreateWaylandSurfaceKHR                         = 0;
10443 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
10444 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10445     PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR = 0;
10446 #else
10447     PFN_dummy placeholder_dont_call_vkCreateWin32SurfaceKHR                           = 0;
10448 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10449 #if defined( VK_USE_PLATFORM_XCB_KHR )
10450     PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR = 0;
10451 #else
10452     PFN_dummy placeholder_dont_call_vkCreateXcbSurfaceKHR                             = 0;
10453 #endif /*VK_USE_PLATFORM_XCB_KHR*/
10454 #if defined( VK_USE_PLATFORM_XLIB_KHR )
10455     PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR = 0;
10456 #else
10457     PFN_dummy placeholder_dont_call_vkCreateXlibSurfaceKHR                            = 0;
10458 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
10459     PFN_vkDebugMarkerSetObjectNameEXT        vkDebugMarkerSetObjectNameEXT        = 0;
10460     PFN_vkDebugMarkerSetObjectTagEXT         vkDebugMarkerSetObjectTagEXT         = 0;
10461     PFN_vkDebugReportMessageEXT              vkDebugReportMessageEXT              = 0;
10462     PFN_vkDeferredOperationJoinKHR           vkDeferredOperationJoinKHR           = 0;
10463     PFN_vkDestroyAccelerationStructureKHR    vkDestroyAccelerationStructureKHR    = 0;
10464     PFN_vkDestroyAccelerationStructureNV     vkDestroyAccelerationStructureNV     = 0;
10465     PFN_vkDestroyBuffer                      vkDestroyBuffer                      = 0;
10466     PFN_vkDestroyBufferView                  vkDestroyBufferView                  = 0;
10467     PFN_vkDestroyCommandPool                 vkDestroyCommandPool                 = 0;
10468     PFN_vkDestroyCuFunctionNVX               vkDestroyCuFunctionNVX               = 0;
10469     PFN_vkDestroyCuModuleNVX                 vkDestroyCuModuleNVX                 = 0;
10470     PFN_vkDestroyDebugReportCallbackEXT      vkDestroyDebugReportCallbackEXT      = 0;
10471     PFN_vkDestroyDebugUtilsMessengerEXT      vkDestroyDebugUtilsMessengerEXT      = 0;
10472     PFN_vkDestroyDeferredOperationKHR        vkDestroyDeferredOperationKHR        = 0;
10473     PFN_vkDestroyDescriptorPool              vkDestroyDescriptorPool              = 0;
10474     PFN_vkDestroyDescriptorSetLayout         vkDestroyDescriptorSetLayout         = 0;
10475     PFN_vkDestroyDescriptorUpdateTemplate    vkDestroyDescriptorUpdateTemplate    = 0;
10476     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
10477     PFN_vkDestroyDevice                      vkDestroyDevice                      = 0;
10478     PFN_vkDestroyEvent                       vkDestroyEvent                       = 0;
10479     PFN_vkDestroyFence                       vkDestroyFence                       = 0;
10480     PFN_vkDestroyFramebuffer                 vkDestroyFramebuffer                 = 0;
10481     PFN_vkDestroyImage                       vkDestroyImage                       = 0;
10482     PFN_vkDestroyImageView                   vkDestroyImageView                   = 0;
10483     PFN_vkDestroyIndirectCommandsLayoutNV    vkDestroyIndirectCommandsLayoutNV    = 0;
10484     PFN_vkDestroyInstance                    vkDestroyInstance                    = 0;
10485     PFN_vkDestroyPipeline                    vkDestroyPipeline                    = 0;
10486     PFN_vkDestroyPipelineCache               vkDestroyPipelineCache               = 0;
10487     PFN_vkDestroyPipelineLayout              vkDestroyPipelineLayout              = 0;
10488     PFN_vkDestroyPrivateDataSlotEXT          vkDestroyPrivateDataSlotEXT          = 0;
10489     PFN_vkDestroyQueryPool                   vkDestroyQueryPool                   = 0;
10490     PFN_vkDestroyRenderPass                  vkDestroyRenderPass                  = 0;
10491     PFN_vkDestroySampler                     vkDestroySampler                     = 0;
10492     PFN_vkDestroySamplerYcbcrConversion      vkDestroySamplerYcbcrConversion      = 0;
10493     PFN_vkDestroySamplerYcbcrConversionKHR   vkDestroySamplerYcbcrConversionKHR   = 0;
10494     PFN_vkDestroySemaphore                   vkDestroySemaphore                   = 0;
10495     PFN_vkDestroyShaderModule                vkDestroyShaderModule                = 0;
10496     PFN_vkDestroySurfaceKHR                  vkDestroySurfaceKHR                  = 0;
10497     PFN_vkDestroySwapchainKHR                vkDestroySwapchainKHR                = 0;
10498     PFN_vkDestroyValidationCacheEXT          vkDestroyValidationCacheEXT          = 0;
10499 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10500     PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR = 0;
10501 #else
10502     PFN_dummy placeholder_dont_call_vkDestroyVideoSessionKHR                          = 0;
10503 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10504 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10505     PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR = 0;
10506 #else
10507     PFN_dummy placeholder_dont_call_vkDestroyVideoSessionParametersKHR                = 0;
10508 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10509     PFN_vkDeviceWaitIdle                       vkDeviceWaitIdle                       = 0;
10510     PFN_vkDisplayPowerControlEXT               vkDisplayPowerControlEXT               = 0;
10511     PFN_vkEndCommandBuffer                     vkEndCommandBuffer                     = 0;
10512     PFN_vkEnumerateDeviceExtensionProperties   vkEnumerateDeviceExtensionProperties   = 0;
10513     PFN_vkEnumerateDeviceLayerProperties       vkEnumerateDeviceLayerProperties       = 0;
10514     PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties = 0;
10515     PFN_vkEnumerateInstanceLayerProperties     vkEnumerateInstanceLayerProperties     = 0;
10516     PFN_vkEnumerateInstanceVersion             vkEnumerateInstanceVersion             = 0;
10517     PFN_vkEnumeratePhysicalDeviceGroups        vkEnumeratePhysicalDeviceGroups        = 0;
10518     PFN_vkEnumeratePhysicalDeviceGroupsKHR     vkEnumeratePhysicalDeviceGroupsKHR     = 0;
10519     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
10520                                                        vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
10521     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
10522     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
10523     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
10524     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
10525     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
10526     PFN_vkGetAccelerationStructureBuildSizesKHR        vkGetAccelerationStructureBuildSizesKHR        = 0;
10527     PFN_vkGetAccelerationStructureDeviceAddressKHR     vkGetAccelerationStructureDeviceAddressKHR     = 0;
10528     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
10529     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
10530 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
10531     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
10532 #else
10533     PFN_dummy placeholder_dont_call_vkGetAndroidHardwareBufferPropertiesANDROID       = 0;
10534 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10535     PFN_vkGetBufferDeviceAddress                         vkGetBufferDeviceAddress                         = 0;
10536     PFN_vkGetBufferDeviceAddressEXT                      vkGetBufferDeviceAddressEXT                      = 0;
10537     PFN_vkGetBufferDeviceAddressKHR                      vkGetBufferDeviceAddressKHR                      = 0;
10538     PFN_vkGetBufferMemoryRequirements                    vkGetBufferMemoryRequirements                    = 0;
10539     PFN_vkGetBufferMemoryRequirements2                   vkGetBufferMemoryRequirements2                   = 0;
10540     PFN_vkGetBufferMemoryRequirements2KHR                vkGetBufferMemoryRequirements2KHR                = 0;
10541     PFN_vkGetBufferOpaqueCaptureAddress                  vkGetBufferOpaqueCaptureAddress                  = 0;
10542     PFN_vkGetBufferOpaqueCaptureAddressKHR               vkGetBufferOpaqueCaptureAddressKHR               = 0;
10543     PFN_vkGetCalibratedTimestampsEXT                     vkGetCalibratedTimestampsEXT                     = 0;
10544     PFN_vkGetDeferredOperationMaxConcurrencyKHR          vkGetDeferredOperationMaxConcurrencyKHR          = 0;
10545     PFN_vkGetDeferredOperationResultKHR                  vkGetDeferredOperationResultKHR                  = 0;
10546     PFN_vkGetDescriptorSetLayoutSupport                  vkGetDescriptorSetLayoutSupport                  = 0;
10547     PFN_vkGetDescriptorSetLayoutSupportKHR               vkGetDescriptorSetLayoutSupportKHR               = 0;
10548     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
10549     PFN_vkGetDeviceGroupPeerMemoryFeatures               vkGetDeviceGroupPeerMemoryFeatures               = 0;
10550     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR            vkGetDeviceGroupPeerMemoryFeaturesKHR            = 0;
10551     PFN_vkGetDeviceGroupPresentCapabilitiesKHR           vkGetDeviceGroupPresentCapabilitiesKHR           = 0;
10552 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10553     PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT = 0;
10554 #else
10555     PFN_dummy placeholder_dont_call_vkGetDeviceGroupSurfacePresentModes2EXT           = 0;
10556 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10557     PFN_vkGetDeviceGroupSurfacePresentModesKHR          vkGetDeviceGroupSurfacePresentModesKHR          = 0;
10558     PFN_vkGetDeviceMemoryCommitment                     vkGetDeviceMemoryCommitment                     = 0;
10559     PFN_vkGetDeviceMemoryOpaqueCaptureAddress           vkGetDeviceMemoryOpaqueCaptureAddress           = 0;
10560     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR        vkGetDeviceMemoryOpaqueCaptureAddressKHR        = 0;
10561     PFN_vkGetDeviceProcAddr                             vkGetDeviceProcAddr                             = 0;
10562     PFN_vkGetDeviceQueue                                vkGetDeviceQueue                                = 0;
10563     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
10564     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
10565     PFN_vkGetDisplayModeProperties2KHR                  vkGetDisplayModeProperties2KHR                  = 0;
10566     PFN_vkGetDisplayModePropertiesKHR                   vkGetDisplayModePropertiesKHR                   = 0;
10567     PFN_vkGetDisplayPlaneCapabilities2KHR               vkGetDisplayPlaneCapabilities2KHR               = 0;
10568     PFN_vkGetDisplayPlaneCapabilitiesKHR                vkGetDisplayPlaneCapabilitiesKHR                = 0;
10569     PFN_vkGetDisplayPlaneSupportedDisplaysKHR           vkGetDisplayPlaneSupportedDisplaysKHR           = 0;
10570     PFN_vkGetDrmDisplayEXT                              vkGetDrmDisplayEXT                              = 0;
10571     PFN_vkGetEventStatus                                vkGetEventStatus                                = 0;
10572     PFN_vkGetFenceFdKHR                                 vkGetFenceFdKHR                                 = 0;
10573     PFN_vkGetFenceStatus                                vkGetFenceStatus                                = 0;
10574 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10575     PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR = 0;
10576 #else
10577     PFN_dummy placeholder_dont_call_vkGetFenceWin32HandleKHR                          = 0;
10578 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10579     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
10580     PFN_vkGetImageDrmFormatModifierPropertiesEXT   vkGetImageDrmFormatModifierPropertiesEXT   = 0;
10581     PFN_vkGetImageMemoryRequirements               vkGetImageMemoryRequirements               = 0;
10582     PFN_vkGetImageMemoryRequirements2              vkGetImageMemoryRequirements2              = 0;
10583     PFN_vkGetImageMemoryRequirements2KHR           vkGetImageMemoryRequirements2KHR           = 0;
10584     PFN_vkGetImageSparseMemoryRequirements         vkGetImageSparseMemoryRequirements         = 0;
10585     PFN_vkGetImageSparseMemoryRequirements2        vkGetImageSparseMemoryRequirements2        = 0;
10586     PFN_vkGetImageSparseMemoryRequirements2KHR     vkGetImageSparseMemoryRequirements2KHR     = 0;
10587     PFN_vkGetImageSubresourceLayout                vkGetImageSubresourceLayout                = 0;
10588     PFN_vkGetImageViewAddressNVX                   vkGetImageViewAddressNVX                   = 0;
10589     PFN_vkGetImageViewHandleNVX                    vkGetImageViewHandleNVX                    = 0;
10590     PFN_vkGetInstanceProcAddr                      vkGetInstanceProcAddr                      = 0;
10591 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
10592     PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID = 0;
10593 #else
10594     PFN_dummy placeholder_dont_call_vkGetMemoryAndroidHardwareBufferANDROID           = 0;
10595 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10596     PFN_vkGetMemoryFdKHR                    vkGetMemoryFdKHR                    = 0;
10597     PFN_vkGetMemoryFdPropertiesKHR          vkGetMemoryFdPropertiesKHR          = 0;
10598     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
10599     PFN_vkGetMemoryRemoteAddressNV          vkGetMemoryRemoteAddressNV          = 0;
10600 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10601     PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR = 0;
10602 #else
10603     PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandleKHR                         = 0;
10604 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10605 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10606     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
10607 #else
10608     PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandleNV                          = 0;
10609 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10610 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10611     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
10612 #else
10613     PFN_dummy placeholder_dont_call_vkGetMemoryWin32HandlePropertiesKHR               = 0;
10614 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10615 #if defined( VK_USE_PLATFORM_FUCHSIA )
10616     PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA = 0;
10617 #else
10618     PFN_dummy placeholder_dont_call_vkGetMemoryZirconHandleFUCHSIA                    = 0;
10619 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10620 #if defined( VK_USE_PLATFORM_FUCHSIA )
10621     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
10622 #else
10623     PFN_dummy placeholder_dont_call_vkGetMemoryZirconHandlePropertiesFUCHSIA          = 0;
10624 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10625     PFN_vkGetPastPresentationTimingGOOGLE                vkGetPastPresentationTimingGOOGLE                = 0;
10626     PFN_vkGetPerformanceParameterINTEL                   vkGetPerformanceParameterINTEL                   = 0;
10627     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT   vkGetPhysicalDeviceCalibrateableTimeDomainsEXT   = 0;
10628     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
10629 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
10630     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
10631 #else
10632     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
10633 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
10634     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR      vkGetPhysicalDeviceDisplayPlaneProperties2KHR      = 0;
10635     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR       vkGetPhysicalDeviceDisplayPlanePropertiesKHR       = 0;
10636     PFN_vkGetPhysicalDeviceDisplayProperties2KHR           vkGetPhysicalDeviceDisplayProperties2KHR           = 0;
10637     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR            vkGetPhysicalDeviceDisplayPropertiesKHR            = 0;
10638     PFN_vkGetPhysicalDeviceExternalBufferProperties        vkGetPhysicalDeviceExternalBufferProperties        = 0;
10639     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR     vkGetPhysicalDeviceExternalBufferPropertiesKHR     = 0;
10640     PFN_vkGetPhysicalDeviceExternalFenceProperties         vkGetPhysicalDeviceExternalFenceProperties         = 0;
10641     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR      vkGetPhysicalDeviceExternalFencePropertiesKHR      = 0;
10642     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
10643     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties     vkGetPhysicalDeviceExternalSemaphoreProperties     = 0;
10644     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR  vkGetPhysicalDeviceExternalSemaphorePropertiesKHR  = 0;
10645     PFN_vkGetPhysicalDeviceFeatures                        vkGetPhysicalDeviceFeatures                        = 0;
10646     PFN_vkGetPhysicalDeviceFeatures2                       vkGetPhysicalDeviceFeatures2                       = 0;
10647     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
10648     PFN_vkGetPhysicalDeviceFormatProperties                vkGetPhysicalDeviceFormatProperties                = 0;
10649     PFN_vkGetPhysicalDeviceFormatProperties2               vkGetPhysicalDeviceFormatProperties2               = 0;
10650     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
10651     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR         vkGetPhysicalDeviceFragmentShadingRatesKHR         = 0;
10652     PFN_vkGetPhysicalDeviceImageFormatProperties           vkGetPhysicalDeviceImageFormatProperties           = 0;
10653     PFN_vkGetPhysicalDeviceImageFormatProperties2          vkGetPhysicalDeviceImageFormatProperties2          = 0;
10654     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
10655     PFN_vkGetPhysicalDeviceMemoryProperties                vkGetPhysicalDeviceMemoryProperties                = 0;
10656     PFN_vkGetPhysicalDeviceMemoryProperties2               vkGetPhysicalDeviceMemoryProperties2               = 0;
10657     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
10658     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT        vkGetPhysicalDeviceMultisamplePropertiesEXT        = 0;
10659     PFN_vkGetPhysicalDevicePresentRectanglesKHR            vkGetPhysicalDevicePresentRectanglesKHR            = 0;
10660     PFN_vkGetPhysicalDeviceProperties                      vkGetPhysicalDeviceProperties                      = 0;
10661     PFN_vkGetPhysicalDeviceProperties2                     vkGetPhysicalDeviceProperties2                     = 0;
10662     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
10663     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
10664                                                      vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
10665     PFN_vkGetPhysicalDeviceQueueFamilyProperties     vkGetPhysicalDeviceQueueFamilyProperties                = 0;
10666     PFN_vkGetPhysicalDeviceQueueFamilyProperties2    vkGetPhysicalDeviceQueueFamilyProperties2               = 0;
10667     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR            = 0;
10668 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
10669     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
10670 #else
10671     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceScreenPresentationSupportQNX   = 0;
10672 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
10673     PFN_vkGetPhysicalDeviceSparseImageFormatProperties     vkGetPhysicalDeviceSparseImageFormatProperties     = 0;
10674     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2    vkGetPhysicalDeviceSparseImageFormatProperties2    = 0;
10675     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
10676     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
10677                                                    vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
10678     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
10679     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
10680     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR  vkGetPhysicalDeviceSurfaceCapabilitiesKHR  = 0;
10681     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
10682     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR       vkGetPhysicalDeviceSurfaceFormatsKHR       = 0;
10683 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10684     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
10685 #else
10686     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceSurfacePresentModes2EXT        = 0;
10687 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10688     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
10689     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
10690     PFN_vkGetPhysicalDeviceToolPropertiesEXT      vkGetPhysicalDeviceToolPropertiesEXT      = 0;
10691 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10692     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR = 0;
10693 #else
10694     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceVideoCapabilitiesKHR           = 0;
10695 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10696 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10697     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
10698 #else
10699     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceVideoFormatPropertiesKHR       = 0;
10700 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10701 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
10702     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
10703 #else
10704     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceWaylandPresentationSupportKHR  = 0;
10705 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
10706 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10707     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
10708 #else
10709     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceWin32PresentationSupportKHR    = 0;
10710 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10711 #if defined( VK_USE_PLATFORM_XCB_KHR )
10712     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
10713 #else
10714     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceXcbPresentationSupportKHR      = 0;
10715 #endif /*VK_USE_PLATFORM_XCB_KHR*/
10716 #if defined( VK_USE_PLATFORM_XLIB_KHR )
10717     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
10718 #else
10719     PFN_dummy placeholder_dont_call_vkGetPhysicalDeviceXlibPresentationSupportKHR     = 0;
10720 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
10721     PFN_vkGetPipelineCacheData                            vkGetPipelineCacheData                            = 0;
10722     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
10723     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
10724     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
10725     PFN_vkGetPrivateDataEXT                               vkGetPrivateDataEXT                               = 0;
10726     PFN_vkGetQueryPoolResults                             vkGetQueryPoolResults                             = 0;
10727     PFN_vkGetQueueCheckpointData2NV                       vkGetQueueCheckpointData2NV                       = 0;
10728     PFN_vkGetQueueCheckpointDataNV                        vkGetQueueCheckpointDataNV                        = 0;
10729 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
10730     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
10731 #else
10732     PFN_dummy placeholder_dont_call_vkGetRandROutputDisplayEXT                        = 0;
10733 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
10734     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
10735     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
10736     PFN_vkGetRayTracingShaderGroupHandlesNV               vkGetRayTracingShaderGroupHandlesNV               = 0;
10737     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
10738     PFN_vkGetRefreshCycleDurationGOOGLE                   vkGetRefreshCycleDurationGOOGLE                   = 0;
10739     PFN_vkGetRenderAreaGranularity                        vkGetRenderAreaGranularity                        = 0;
10740     PFN_vkGetSemaphoreCounterValue                        vkGetSemaphoreCounterValue                        = 0;
10741     PFN_vkGetSemaphoreCounterValueKHR                     vkGetSemaphoreCounterValueKHR                     = 0;
10742     PFN_vkGetSemaphoreFdKHR                               vkGetSemaphoreFdKHR                               = 0;
10743 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10744     PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR = 0;
10745 #else
10746     PFN_dummy placeholder_dont_call_vkGetSemaphoreWin32HandleKHR                      = 0;
10747 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10748 #if defined( VK_USE_PLATFORM_FUCHSIA )
10749     PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA = 0;
10750 #else
10751     PFN_dummy placeholder_dont_call_vkGetSemaphoreZirconHandleFUCHSIA                 = 0;
10752 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10753     PFN_vkGetShaderInfoAMD          vkGetShaderInfoAMD          = 0;
10754     PFN_vkGetSwapchainCounterEXT    vkGetSwapchainCounterEXT    = 0;
10755     PFN_vkGetSwapchainImagesKHR     vkGetSwapchainImagesKHR     = 0;
10756     PFN_vkGetSwapchainStatusKHR     vkGetSwapchainStatusKHR     = 0;
10757     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
10758 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10759     PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR = 0;
10760 #else
10761     PFN_dummy placeholder_dont_call_vkGetVideoSessionMemoryRequirementsKHR            = 0;
10762 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10763 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10764     PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV = 0;
10765 #else
10766     PFN_dummy placeholder_dont_call_vkGetWinrtDisplayNV                               = 0;
10767 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10768     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
10769 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10770     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
10771 #else
10772     PFN_dummy placeholder_dont_call_vkImportFenceWin32HandleKHR                       = 0;
10773 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10774     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
10775 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10776     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
10777 #else
10778     PFN_dummy placeholder_dont_call_vkImportSemaphoreWin32HandleKHR                   = 0;
10779 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10780 #if defined( VK_USE_PLATFORM_FUCHSIA )
10781     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
10782 #else
10783     PFN_dummy placeholder_dont_call_vkImportSemaphoreZirconHandleFUCHSIA              = 0;
10784 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10785     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
10786     PFN_vkInvalidateMappedMemoryRanges          vkInvalidateMappedMemoryRanges          = 0;
10787     PFN_vkMapMemory                             vkMapMemory                             = 0;
10788     PFN_vkMergePipelineCaches                   vkMergePipelineCaches                   = 0;
10789     PFN_vkMergeValidationCachesEXT              vkMergeValidationCachesEXT              = 0;
10790     PFN_vkQueueBeginDebugUtilsLabelEXT          vkQueueBeginDebugUtilsLabelEXT          = 0;
10791     PFN_vkQueueBindSparse                       vkQueueBindSparse                       = 0;
10792     PFN_vkQueueEndDebugUtilsLabelEXT            vkQueueEndDebugUtilsLabelEXT            = 0;
10793     PFN_vkQueueInsertDebugUtilsLabelEXT         vkQueueInsertDebugUtilsLabelEXT         = 0;
10794     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
10795     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
10796     PFN_vkQueueSubmit                           vkQueueSubmit                           = 0;
10797     PFN_vkQueueSubmit2KHR                       vkQueueSubmit2KHR                       = 0;
10798     PFN_vkQueueWaitIdle                         vkQueueWaitIdle                         = 0;
10799     PFN_vkRegisterDeviceEventEXT                vkRegisterDeviceEventEXT                = 0;
10800     PFN_vkRegisterDisplayEventEXT               vkRegisterDisplayEventEXT               = 0;
10801     PFN_vkReleaseDisplayEXT                     vkReleaseDisplayEXT                     = 0;
10802 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10803     PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT = 0;
10804 #else
10805     PFN_dummy placeholder_dont_call_vkReleaseFullScreenExclusiveModeEXT               = 0;
10806 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10807     PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL = 0;
10808     PFN_vkReleaseProfilingLockKHR              vkReleaseProfilingLockKHR              = 0;
10809     PFN_vkResetCommandBuffer                   vkResetCommandBuffer                   = 0;
10810     PFN_vkResetCommandPool                     vkResetCommandPool                     = 0;
10811     PFN_vkResetDescriptorPool                  vkResetDescriptorPool                  = 0;
10812     PFN_vkResetEvent                           vkResetEvent                           = 0;
10813     PFN_vkResetFences                          vkResetFences                          = 0;
10814     PFN_vkResetQueryPool                       vkResetQueryPool                       = 0;
10815     PFN_vkResetQueryPoolEXT                    vkResetQueryPoolEXT                    = 0;
10816     PFN_vkSetDebugUtilsObjectNameEXT           vkSetDebugUtilsObjectNameEXT           = 0;
10817     PFN_vkSetDebugUtilsObjectTagEXT            vkSetDebugUtilsObjectTagEXT            = 0;
10818     PFN_vkSetEvent                             vkSetEvent                             = 0;
10819     PFN_vkSetHdrMetadataEXT                    vkSetHdrMetadataEXT                    = 0;
10820     PFN_vkSetLocalDimmingAMD                   vkSetLocalDimmingAMD                   = 0;
10821     PFN_vkSetPrivateDataEXT                    vkSetPrivateDataEXT                    = 0;
10822     PFN_vkSignalSemaphore                      vkSignalSemaphore                      = 0;
10823     PFN_vkSignalSemaphoreKHR                   vkSignalSemaphoreKHR                   = 0;
10824     PFN_vkSubmitDebugUtilsMessageEXT           vkSubmitDebugUtilsMessageEXT           = 0;
10825     PFN_vkTrimCommandPool                      vkTrimCommandPool                      = 0;
10826     PFN_vkTrimCommandPoolKHR                   vkTrimCommandPoolKHR                   = 0;
10827     PFN_vkUninitializePerformanceApiINTEL      vkUninitializePerformanceApiINTEL      = 0;
10828     PFN_vkUnmapMemory                          vkUnmapMemory                          = 0;
10829     PFN_vkUpdateDescriptorSetWithTemplate      vkUpdateDescriptorSetWithTemplate      = 0;
10830     PFN_vkUpdateDescriptorSetWithTemplateKHR   vkUpdateDescriptorSetWithTemplateKHR   = 0;
10831     PFN_vkUpdateDescriptorSets                 vkUpdateDescriptorSets                 = 0;
10832 #if defined( VK_ENABLE_BETA_EXTENSIONS )
10833     PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR = 0;
10834 #else
10835     PFN_dummy placeholder_dont_call_vkUpdateVideoSessionParametersKHR                 = 0;
10836 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
10837     PFN_vkWaitForFences                            vkWaitForFences                            = 0;
10838     PFN_vkWaitSemaphores                           vkWaitSemaphores                           = 0;
10839     PFN_vkWaitSemaphoresKHR                        vkWaitSemaphoresKHR                        = 0;
10840     PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR = 0;
10841 
10842   public:
10843     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
10844     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
10845 
10846 #if !defined( VK_NO_PROTOTYPES )
10847     // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
10848     // library.
10849     template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)10850     void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
10851                VULKAN_HPP_NAMESPACE::Device const &   device,
10852                DynamicLoader const &                  dl ) VULKAN_HPP_NOEXCEPT
10853     {
10854       PFN_vkGetInstanceProcAddr getInstanceProcAddr =
10855         dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
10856       PFN_vkGetDeviceProcAddr getDeviceProcAddr =
10857         dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
10858       init( static_cast<VkInstance>( instance ),
10859             getInstanceProcAddr,
10860             static_cast<VkDevice>( device ),
10861             device ? getDeviceProcAddr : nullptr );
10862     }
10863 
10864     // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
10865     // library.
10866     template <typename DynamicLoader
10867 #  if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
10868               = VULKAN_HPP_NAMESPACE::DynamicLoader
10869 #  endif
10870               >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)10871     void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
10872                VULKAN_HPP_NAMESPACE::Device const &   device ) VULKAN_HPP_NOEXCEPT
10873     {
10874       static DynamicLoader dl;
10875       init( instance, device, dl );
10876     }
10877 #endif  // !defined( VK_NO_PROTOTYPES )
10878 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)10879     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
10880     {
10881       init( getInstanceProcAddr );
10882     }
10883 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)10884     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
10885     {
10886       VULKAN_HPP_ASSERT( getInstanceProcAddr );
10887 
10888       vkGetInstanceProcAddr = getInstanceProcAddr;
10889       vkCreateInstance      = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
10890       vkEnumerateInstanceExtensionProperties = PFN_vkEnumerateInstanceExtensionProperties(
10891         vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
10892       vkEnumerateInstanceLayerProperties =
10893         PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
10894       vkEnumerateInstanceVersion =
10895         PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
10896     }
10897 
10898     // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)10899     DispatchLoaderDynamic( VkInstance                instance,
10900                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
10901                            VkDevice                  device            = {},
10902                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
10903     {
10904       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
10905     }
10906 
10907     // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)10908     void init( VkInstance                instance,
10909                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
10910                VkDevice                  device              = {},
10911                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
10912     {
10913       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
10914       vkGetInstanceProcAddr = getInstanceProcAddr;
10915       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
10916       if ( device )
10917       {
10918         init( VULKAN_HPP_NAMESPACE::Device( device ) );
10919       }
10920     }
10921 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)10922     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
10923     {
10924       VkInstance instance = static_cast<VkInstance>( instanceCpp );
10925       vkAcquireDrmDisplayEXT =
10926         PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
10927 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10928       vkAcquireWinrtDisplayNV =
10929         PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
10930 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10931 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
10932       vkAcquireXlibDisplayEXT =
10933         PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
10934 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
10935 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
10936       vkCreateAndroidSurfaceKHR =
10937         PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
10938 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
10939       vkCreateDebugReportCallbackEXT =
10940         PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
10941       vkCreateDebugUtilsMessengerEXT =
10942         PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
10943       vkCreateDevice = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
10944 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
10945       vkCreateDirectFBSurfaceEXT =
10946         PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
10947 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
10948       vkCreateDisplayModeKHR =
10949         PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
10950       vkCreateDisplayPlaneSurfaceKHR =
10951         PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
10952       vkCreateHeadlessSurfaceEXT =
10953         PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
10954 #if defined( VK_USE_PLATFORM_IOS_MVK )
10955       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
10956 #endif /*VK_USE_PLATFORM_IOS_MVK*/
10957 #if defined( VK_USE_PLATFORM_FUCHSIA )
10958       vkCreateImagePipeSurfaceFUCHSIA =
10959         PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
10960 #endif /*VK_USE_PLATFORM_FUCHSIA*/
10961 #if defined( VK_USE_PLATFORM_MACOS_MVK )
10962       vkCreateMacOSSurfaceMVK =
10963         PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
10964 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
10965 #if defined( VK_USE_PLATFORM_METAL_EXT )
10966       vkCreateMetalSurfaceEXT =
10967         PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
10968 #endif /*VK_USE_PLATFORM_METAL_EXT*/
10969 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
10970       vkCreateScreenSurfaceQNX =
10971         PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
10972 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
10973 #if defined( VK_USE_PLATFORM_GGP )
10974       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP(
10975         vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
10976 #endif /*VK_USE_PLATFORM_GGP*/
10977 #if defined( VK_USE_PLATFORM_VI_NN )
10978       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
10979 #endif /*VK_USE_PLATFORM_VI_NN*/
10980 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
10981       vkCreateWaylandSurfaceKHR =
10982         PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
10983 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
10984 #if defined( VK_USE_PLATFORM_WIN32_KHR )
10985       vkCreateWin32SurfaceKHR =
10986         PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
10987 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
10988 #if defined( VK_USE_PLATFORM_XCB_KHR )
10989       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
10990 #endif /*VK_USE_PLATFORM_XCB_KHR*/
10991 #if defined( VK_USE_PLATFORM_XLIB_KHR )
10992       vkCreateXlibSurfaceKHR =
10993         PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
10994 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
10995       vkDebugReportMessageEXT =
10996         PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
10997       vkDestroyDebugReportCallbackEXT =
10998         PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
10999       vkDestroyDebugUtilsMessengerEXT =
11000         PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
11001       vkDestroyInstance   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
11002       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
11003       vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties(
11004         vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
11005       vkEnumerateDeviceLayerProperties =
11006         PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
11007       vkEnumeratePhysicalDeviceGroups =
11008         PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
11009       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(
11010         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
11011       if ( !vkEnumeratePhysicalDeviceGroups )
11012         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
11013       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR =
11014         PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
11015           vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
11016       vkEnumeratePhysicalDevices =
11017         PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
11018       vkGetDisplayModeProperties2KHR =
11019         PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
11020       vkGetDisplayModePropertiesKHR =
11021         PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
11022       vkGetDisplayPlaneCapabilities2KHR =
11023         PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
11024       vkGetDisplayPlaneCapabilitiesKHR =
11025         PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
11026       vkGetDisplayPlaneSupportedDisplaysKHR = PFN_vkGetDisplayPlaneSupportedDisplaysKHR(
11027         vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
11028       vkGetDrmDisplayEXT    = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
11029       vkGetInstanceProcAddr = PFN_vkGetInstanceProcAddr( vkGetInstanceProcAddr( instance, "vkGetInstanceProcAddr" ) );
11030       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
11031         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
11032       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
11033         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
11034 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
11035       vkGetPhysicalDeviceDirectFBPresentationSupportEXT = PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
11036         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
11037 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
11038       vkGetPhysicalDeviceDisplayPlaneProperties2KHR = PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
11039         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
11040       vkGetPhysicalDeviceDisplayPlanePropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
11041         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
11042       vkGetPhysicalDeviceDisplayProperties2KHR = PFN_vkGetPhysicalDeviceDisplayProperties2KHR(
11043         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
11044       vkGetPhysicalDeviceDisplayPropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(
11045         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
11046       vkGetPhysicalDeviceExternalBufferProperties = PFN_vkGetPhysicalDeviceExternalBufferProperties(
11047         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
11048       vkGetPhysicalDeviceExternalBufferPropertiesKHR = PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
11049         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
11050       if ( !vkGetPhysicalDeviceExternalBufferProperties )
11051         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
11052       vkGetPhysicalDeviceExternalFenceProperties = PFN_vkGetPhysicalDeviceExternalFenceProperties(
11053         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
11054       vkGetPhysicalDeviceExternalFencePropertiesKHR = PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(
11055         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
11056       if ( !vkGetPhysicalDeviceExternalFenceProperties )
11057         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
11058       vkGetPhysicalDeviceExternalImageFormatPropertiesNV = PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
11059         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
11060       vkGetPhysicalDeviceExternalSemaphoreProperties = PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(
11061         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
11062       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
11063         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
11064       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
11065         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
11066       vkGetPhysicalDeviceFeatures =
11067         PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
11068       vkGetPhysicalDeviceFeatures2 =
11069         PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
11070       vkGetPhysicalDeviceFeatures2KHR =
11071         PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
11072       if ( !vkGetPhysicalDeviceFeatures2 )
11073         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
11074       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties(
11075         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
11076       vkGetPhysicalDeviceFormatProperties2 = PFN_vkGetPhysicalDeviceFormatProperties2(
11077         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
11078       vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2KHR(
11079         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
11080       if ( !vkGetPhysicalDeviceFormatProperties2 )
11081         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
11082       vkGetPhysicalDeviceFragmentShadingRatesKHR = PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR(
11083         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
11084       vkGetPhysicalDeviceImageFormatProperties = PFN_vkGetPhysicalDeviceImageFormatProperties(
11085         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
11086       vkGetPhysicalDeviceImageFormatProperties2 = PFN_vkGetPhysicalDeviceImageFormatProperties2(
11087         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
11088       vkGetPhysicalDeviceImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(
11089         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
11090       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
11091         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
11092       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties(
11093         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
11094       vkGetPhysicalDeviceMemoryProperties2 = PFN_vkGetPhysicalDeviceMemoryProperties2(
11095         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
11096       vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2KHR(
11097         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
11098       if ( !vkGetPhysicalDeviceMemoryProperties2 )
11099         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
11100       vkGetPhysicalDeviceMultisamplePropertiesEXT = PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(
11101         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
11102       vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR(
11103         vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
11104       vkGetPhysicalDeviceProperties =
11105         PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
11106       vkGetPhysicalDeviceProperties2 =
11107         PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
11108       vkGetPhysicalDeviceProperties2KHR =
11109         PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
11110       if ( !vkGetPhysicalDeviceProperties2 )
11111         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
11112       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR =
11113         PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
11114           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
11115       vkGetPhysicalDeviceQueueFamilyProperties = PFN_vkGetPhysicalDeviceQueueFamilyProperties(
11116         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
11117       vkGetPhysicalDeviceQueueFamilyProperties2 = PFN_vkGetPhysicalDeviceQueueFamilyProperties2(
11118         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
11119       vkGetPhysicalDeviceQueueFamilyProperties2KHR = PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
11120         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
11121       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
11122         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
11123 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
11124       vkGetPhysicalDeviceScreenPresentationSupportQNX = PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(
11125         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
11126 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
11127       vkGetPhysicalDeviceSparseImageFormatProperties = PFN_vkGetPhysicalDeviceSparseImageFormatProperties(
11128         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
11129       vkGetPhysicalDeviceSparseImageFormatProperties2 = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(
11130         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
11131       vkGetPhysicalDeviceSparseImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
11132         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
11133       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
11134         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
11135       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
11136         PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
11137           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
11138       vkGetPhysicalDeviceSurfaceCapabilities2EXT = PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(
11139         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
11140       vkGetPhysicalDeviceSurfaceCapabilities2KHR = PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
11141         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
11142       vkGetPhysicalDeviceSurfaceCapabilitiesKHR = PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
11143         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
11144       vkGetPhysicalDeviceSurfaceFormats2KHR = PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(
11145         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
11146       vkGetPhysicalDeviceSurfaceFormatsKHR = PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(
11147         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
11148 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11149       vkGetPhysicalDeviceSurfacePresentModes2EXT = PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT(
11150         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
11151 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11152       vkGetPhysicalDeviceSurfacePresentModesKHR = PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(
11153         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
11154       vkGetPhysicalDeviceSurfaceSupportKHR = PFN_vkGetPhysicalDeviceSurfaceSupportKHR(
11155         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
11156       vkGetPhysicalDeviceToolPropertiesEXT = PFN_vkGetPhysicalDeviceToolPropertiesEXT(
11157         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
11158 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11159       vkGetPhysicalDeviceVideoCapabilitiesKHR = PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR(
11160         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
11161 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11162 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11163       vkGetPhysicalDeviceVideoFormatPropertiesKHR = PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR(
11164         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
11165 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11166 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
11167       vkGetPhysicalDeviceWaylandPresentationSupportKHR = PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
11168         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
11169 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
11170 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11171       vkGetPhysicalDeviceWin32PresentationSupportKHR = PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(
11172         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
11173 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11174 #if defined( VK_USE_PLATFORM_XCB_KHR )
11175       vkGetPhysicalDeviceXcbPresentationSupportKHR = PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(
11176         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
11177 #endif /*VK_USE_PLATFORM_XCB_KHR*/
11178 #if defined( VK_USE_PLATFORM_XLIB_KHR )
11179       vkGetPhysicalDeviceXlibPresentationSupportKHR = PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(
11180         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
11181 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
11182 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
11183       vkGetRandROutputDisplayEXT =
11184         PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
11185 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
11186 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11187       vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
11188 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11189       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
11190       vkSubmitDebugUtilsMessageEXT =
11191         PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
11192 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11193       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT(
11194         vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
11195 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11196       vkAcquireNextImage2KHR =
11197         PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
11198       vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
11199       vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
11200         vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
11201       vkAcquireProfilingLockKHR =
11202         PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
11203       vkAllocateCommandBuffers =
11204         PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
11205       vkAllocateDescriptorSets =
11206         PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
11207       vkAllocateMemory     = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
11208       vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
11209       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV(
11210         vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
11211       vkBindBufferMemory  = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
11212       vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
11213       vkBindBufferMemory2KHR =
11214         PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
11215       if ( !vkBindBufferMemory2 )
11216         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
11217       vkBindImageMemory     = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
11218       vkBindImageMemory2    = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
11219       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
11220       if ( !vkBindImageMemory2 )
11221         vkBindImageMemory2 = vkBindImageMemory2KHR;
11222 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11223       vkBindVideoSessionMemoryKHR =
11224         PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
11225 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11226       vkBuildAccelerationStructuresKHR =
11227         PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
11228       vkCmdBeginConditionalRenderingEXT =
11229         PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
11230       vkCmdBeginDebugUtilsLabelEXT =
11231         PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
11232       vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
11233       vkCmdBeginQueryIndexedEXT =
11234         PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
11235       vkCmdBeginRenderPass  = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
11236       vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
11237       vkCmdBeginRenderPass2KHR =
11238         PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
11239       if ( !vkCmdBeginRenderPass2 )
11240         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
11241       vkCmdBeginTransformFeedbackEXT =
11242         PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
11243 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11244       vkCmdBeginVideoCodingKHR =
11245         PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
11246 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11247       vkCmdBindDescriptorSets =
11248         PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
11249       vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
11250       vkCmdBindPipeline    = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
11251       vkCmdBindPipelineShaderGroupNV =
11252         PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
11253       vkCmdBindShadingRateImageNV =
11254         PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
11255       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
11256         vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
11257       vkCmdBindVertexBuffers =
11258         PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
11259       vkCmdBindVertexBuffers2EXT =
11260         PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
11261       vkCmdBlitImage     = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
11262       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
11263       vkCmdBuildAccelerationStructureNV =
11264         PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
11265       vkCmdBuildAccelerationStructuresIndirectKHR = PFN_vkCmdBuildAccelerationStructuresIndirectKHR(
11266         vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
11267       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR(
11268         vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
11269       vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
11270       vkCmdClearColorImage  = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
11271       vkCmdClearDepthStencilImage =
11272         PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
11273 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11274       vkCmdControlVideoCodingKHR =
11275         PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
11276 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11277       vkCmdCopyAccelerationStructureKHR =
11278         PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
11279       vkCmdCopyAccelerationStructureNV =
11280         PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
11281       vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
11282         vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
11283       vkCmdCopyBuffer     = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
11284       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
11285       vkCmdCopyBufferToImage =
11286         PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
11287       vkCmdCopyBufferToImage2KHR =
11288         PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
11289       vkCmdCopyImage     = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
11290       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
11291       vkCmdCopyImageToBuffer =
11292         PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
11293       vkCmdCopyImageToBuffer2KHR =
11294         PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
11295       vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
11296         vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
11297       vkCmdCopyQueryPoolResults =
11298         PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
11299       vkCmdCuLaunchKernelNVX =
11300         PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
11301       vkCmdDebugMarkerBeginEXT =
11302         PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
11303       vkCmdDebugMarkerEndEXT =
11304         PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
11305       vkCmdDebugMarkerInsertEXT =
11306         PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
11307 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11308       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
11309 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11310       vkCmdDispatch        = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
11311       vkCmdDispatchBase    = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
11312       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
11313       if ( !vkCmdDispatchBase )
11314         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
11315       vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
11316       vkCmdDraw             = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
11317       vkCmdDrawIndexed      = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
11318       vkCmdDrawIndexedIndirect =
11319         PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
11320       vkCmdDrawIndexedIndirectCount =
11321         PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
11322       vkCmdDrawIndexedIndirectCountAMD =
11323         PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
11324       if ( !vkCmdDrawIndexedIndirectCount )
11325         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
11326       vkCmdDrawIndexedIndirectCountKHR =
11327         PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
11328       if ( !vkCmdDrawIndexedIndirectCount )
11329         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
11330       vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
11331       vkCmdDrawIndirectByteCountEXT =
11332         PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
11333       vkCmdDrawIndirectCount =
11334         PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
11335       vkCmdDrawIndirectCountAMD =
11336         PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
11337       if ( !vkCmdDrawIndirectCount )
11338         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
11339       vkCmdDrawIndirectCountKHR =
11340         PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
11341       if ( !vkCmdDrawIndirectCount )
11342         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
11343       vkCmdDrawMeshTasksIndirectCountNV =
11344         PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
11345       vkCmdDrawMeshTasksIndirectNV =
11346         PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
11347       vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
11348       vkCmdDrawMultiEXT    = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
11349       vkCmdDrawMultiIndexedEXT =
11350         PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
11351 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11352       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
11353 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11354       vkCmdEndConditionalRenderingEXT =
11355         PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
11356       vkCmdEndDebugUtilsLabelEXT =
11357         PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
11358       vkCmdEndQuery = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
11359       vkCmdEndQueryIndexedEXT =
11360         PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
11361       vkCmdEndRenderPass  = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
11362       vkCmdEndRenderPass2 = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
11363       vkCmdEndRenderPass2KHR =
11364         PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
11365       if ( !vkCmdEndRenderPass2 )
11366         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
11367       vkCmdEndTransformFeedbackEXT =
11368         PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
11369 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11370       vkCmdEndVideoCodingKHR =
11371         PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
11372 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11373       vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
11374       vkCmdExecuteGeneratedCommandsNV =
11375         PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
11376       vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
11377       vkCmdInsertDebugUtilsLabelEXT =
11378         PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
11379       vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
11380       vkCmdNextSubpass2    = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
11381       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
11382       if ( !vkCmdNextSubpass2 )
11383         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
11384       vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
11385       vkCmdPipelineBarrier2KHR =
11386         PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
11387       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(
11388         vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
11389       vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
11390       vkCmdPushDescriptorSetKHR =
11391         PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
11392       vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
11393         vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
11394       vkCmdResetEvent       = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
11395       vkCmdResetEvent2KHR   = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
11396       vkCmdResetQueryPool   = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
11397       vkCmdResolveImage     = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
11398       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
11399       vkCmdSetBlendConstants =
11400         PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
11401       vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
11402       vkCmdSetCoarseSampleOrderNV =
11403         PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
11404       vkCmdSetColorWriteEnableEXT =
11405         PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
11406       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
11407       vkCmdSetDepthBias   = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
11408       vkCmdSetDepthBiasEnableEXT =
11409         PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
11410       vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
11411       vkCmdSetDepthBoundsTestEnableEXT =
11412         PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
11413       vkCmdSetDepthCompareOpEXT =
11414         PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
11415       vkCmdSetDepthTestEnableEXT =
11416         PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
11417       vkCmdSetDepthWriteEnableEXT =
11418         PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
11419       vkCmdSetDeviceMask    = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
11420       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
11421       if ( !vkCmdSetDeviceMask )
11422         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
11423       vkCmdSetDiscardRectangleEXT =
11424         PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
11425       vkCmdSetEvent     = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
11426       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
11427       vkCmdSetExclusiveScissorNV =
11428         PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
11429       vkCmdSetFragmentShadingRateEnumNV =
11430         PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
11431       vkCmdSetFragmentShadingRateKHR =
11432         PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
11433       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
11434       vkCmdSetLineStippleEXT =
11435         PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
11436       vkCmdSetLineWidth  = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
11437       vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
11438       vkCmdSetPatchControlPointsEXT =
11439         PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
11440       vkCmdSetPerformanceMarkerINTEL =
11441         PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
11442       vkCmdSetPerformanceOverrideINTEL =
11443         PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
11444       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
11445         vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
11446       vkCmdSetPrimitiveRestartEnableEXT =
11447         PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
11448       vkCmdSetPrimitiveTopologyEXT =
11449         PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
11450       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT(
11451         vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
11452       vkCmdSetRayTracingPipelineStackSizeKHR = PFN_vkCmdSetRayTracingPipelineStackSizeKHR(
11453         vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
11454       vkCmdSetSampleLocationsEXT =
11455         PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
11456       vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
11457       vkCmdSetScissorWithCountEXT =
11458         PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
11459       vkCmdSetStencilCompareMask =
11460         PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
11461       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
11462       vkCmdSetStencilReference =
11463         PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
11464       vkCmdSetStencilTestEnableEXT =
11465         PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
11466       vkCmdSetStencilWriteMask =
11467         PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
11468       vkCmdSetVertexInputEXT =
11469         PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
11470       vkCmdSetViewport = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
11471       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
11472         vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
11473       vkCmdSetViewportWScalingNV =
11474         PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
11475       vkCmdSetViewportWithCountEXT =
11476         PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
11477       vkCmdSubpassShadingHUAWEI =
11478         PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
11479       vkCmdTraceRaysIndirectKHR =
11480         PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
11481       vkCmdTraceRaysKHR   = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
11482       vkCmdTraceRaysNV    = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
11483       vkCmdUpdateBuffer   = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
11484       vkCmdWaitEvents     = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
11485       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
11486       vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
11487         vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
11488       vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
11489         vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
11490       vkCmdWriteBufferMarker2AMD =
11491         PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
11492       vkCmdWriteBufferMarkerAMD =
11493         PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
11494       vkCmdWriteTimestamp = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
11495       vkCmdWriteTimestamp2KHR =
11496         PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
11497       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
11498       vkCopyAccelerationStructureKHR =
11499         PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
11500       vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
11501         vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
11502       vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
11503         vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
11504       vkCreateAccelerationStructureKHR =
11505         PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
11506       vkCreateAccelerationStructureNV =
11507         PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
11508       vkCreateBuffer      = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
11509       vkCreateBufferView  = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
11510       vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
11511       vkCreateComputePipelines =
11512         PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
11513       vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
11514       vkCreateCuModuleNVX   = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
11515       vkCreateDeferredOperationKHR =
11516         PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
11517       vkCreateDescriptorPool =
11518         PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
11519       vkCreateDescriptorSetLayout =
11520         PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
11521       vkCreateDescriptorUpdateTemplate =
11522         PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
11523       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR(
11524         vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
11525       if ( !vkCreateDescriptorUpdateTemplate )
11526         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
11527       vkCreateEvent       = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
11528       vkCreateFence       = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
11529       vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
11530       vkCreateGraphicsPipelines =
11531         PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
11532       vkCreateImage     = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
11533       vkCreateImageView = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
11534       vkCreateIndirectCommandsLayoutNV =
11535         PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
11536       vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
11537       vkCreatePipelineLayout =
11538         PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
11539       vkCreatePrivateDataSlotEXT =
11540         PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
11541       vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
11542       vkCreateRayTracingPipelinesKHR =
11543         PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
11544       vkCreateRayTracingPipelinesNV =
11545         PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
11546       vkCreateRenderPass  = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
11547       vkCreateRenderPass2 = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
11548       vkCreateRenderPass2KHR =
11549         PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
11550       if ( !vkCreateRenderPass2 )
11551         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
11552       vkCreateSampler = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
11553       vkCreateSamplerYcbcrConversion =
11554         PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
11555       vkCreateSamplerYcbcrConversionKHR =
11556         PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
11557       if ( !vkCreateSamplerYcbcrConversion )
11558         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
11559       vkCreateSemaphore    = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
11560       vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
11561       vkCreateSharedSwapchainsKHR =
11562         PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
11563       vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
11564       vkCreateValidationCacheEXT =
11565         PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
11566 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11567       vkCreateVideoSessionKHR =
11568         PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
11569 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11570 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11571       vkCreateVideoSessionParametersKHR =
11572         PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
11573 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11574       vkDebugMarkerSetObjectNameEXT =
11575         PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
11576       vkDebugMarkerSetObjectTagEXT =
11577         PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
11578       vkDeferredOperationJoinKHR =
11579         PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
11580       vkDestroyAccelerationStructureKHR =
11581         PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
11582       vkDestroyAccelerationStructureNV =
11583         PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
11584       vkDestroyBuffer      = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
11585       vkDestroyBufferView  = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
11586       vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
11587       vkDestroyCuFunctionNVX =
11588         PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
11589       vkDestroyCuModuleNVX = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
11590       vkDestroyDeferredOperationKHR =
11591         PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
11592       vkDestroyDescriptorPool =
11593         PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
11594       vkDestroyDescriptorSetLayout =
11595         PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
11596       vkDestroyDescriptorUpdateTemplate =
11597         PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
11598       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
11599         vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
11600       if ( !vkDestroyDescriptorUpdateTemplate )
11601         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
11602       vkDestroyDevice      = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
11603       vkDestroyEvent       = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
11604       vkDestroyFence       = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
11605       vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
11606       vkDestroyImage       = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
11607       vkDestroyImageView   = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
11608       vkDestroyIndirectCommandsLayoutNV =
11609         PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
11610       vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
11611       vkDestroyPipelineCache =
11612         PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
11613       vkDestroyPipelineLayout =
11614         PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
11615       vkDestroyPrivateDataSlotEXT =
11616         PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
11617       vkDestroyQueryPool  = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
11618       vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
11619       vkDestroySampler    = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
11620       vkDestroySamplerYcbcrConversion =
11621         PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
11622       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(
11623         vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
11624       if ( !vkDestroySamplerYcbcrConversion )
11625         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
11626       vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
11627       vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
11628       vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
11629       vkDestroyValidationCacheEXT =
11630         PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
11631 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11632       vkDestroyVideoSessionKHR =
11633         PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
11634 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11635 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11636       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR(
11637         vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
11638 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11639       vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
11640       vkDisplayPowerControlEXT =
11641         PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
11642       vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
11643       vkFlushMappedMemoryRanges =
11644         PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
11645       vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
11646       vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
11647       vkFreeMemory         = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
11648       vkGetAccelerationStructureBuildSizesKHR = PFN_vkGetAccelerationStructureBuildSizesKHR(
11649         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
11650       vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
11651         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
11652       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(
11653         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
11654       vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
11655         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
11656 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
11657       vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
11658         vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
11659 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11660       vkGetBufferDeviceAddress =
11661         PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
11662       vkGetBufferDeviceAddressEXT =
11663         PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
11664       if ( !vkGetBufferDeviceAddress )
11665         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
11666       vkGetBufferDeviceAddressKHR =
11667         PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
11668       if ( !vkGetBufferDeviceAddress )
11669         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
11670       vkGetBufferMemoryRequirements =
11671         PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
11672       vkGetBufferMemoryRequirements2 =
11673         PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
11674       vkGetBufferMemoryRequirements2KHR =
11675         PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
11676       if ( !vkGetBufferMemoryRequirements2 )
11677         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
11678       vkGetBufferOpaqueCaptureAddress =
11679         PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
11680       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(
11681         vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
11682       if ( !vkGetBufferOpaqueCaptureAddress )
11683         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
11684       vkGetCalibratedTimestampsEXT =
11685         PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
11686       vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
11687         vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
11688       vkGetDeferredOperationResultKHR =
11689         PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
11690       vkGetDescriptorSetLayoutSupport =
11691         PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
11692       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(
11693         vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
11694       if ( !vkGetDescriptorSetLayoutSupport )
11695         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
11696       vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
11697         vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
11698       vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(
11699         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
11700       vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
11701         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
11702       if ( !vkGetDeviceGroupPeerMemoryFeatures )
11703         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
11704       vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
11705         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
11706 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11707       vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
11708         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
11709 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11710       vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
11711         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
11712       vkGetDeviceMemoryCommitment =
11713         PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
11714       vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
11715         vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
11716       vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
11717         vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
11718       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
11719         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
11720       vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
11721       vkGetDeviceQueue    = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
11722       vkGetDeviceQueue2   = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
11723       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
11724         vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
11725       vkGetEventStatus = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
11726       vkGetFenceFdKHR  = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
11727       vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
11728 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11729       vkGetFenceWin32HandleKHR =
11730         PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
11731 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11732       vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
11733         vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
11734       vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
11735         vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
11736       vkGetImageMemoryRequirements =
11737         PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
11738       vkGetImageMemoryRequirements2 =
11739         PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
11740       vkGetImageMemoryRequirements2KHR =
11741         PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
11742       if ( !vkGetImageMemoryRequirements2 )
11743         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
11744       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(
11745         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
11746       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2(
11747         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
11748       vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
11749         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
11750       if ( !vkGetImageSparseMemoryRequirements2 )
11751         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
11752       vkGetImageSubresourceLayout =
11753         PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
11754       vkGetImageViewAddressNVX =
11755         PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
11756       vkGetImageViewHandleNVX =
11757         PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
11758 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
11759       vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
11760         vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
11761 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11762       vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
11763       vkGetMemoryFdPropertiesKHR =
11764         PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
11765       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(
11766         vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
11767       vkGetMemoryRemoteAddressNV =
11768         PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
11769 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11770       vkGetMemoryWin32HandleKHR =
11771         PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
11772 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11773 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11774       vkGetMemoryWin32HandleNV =
11775         PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
11776 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11777 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11778       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR(
11779         vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
11780 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11781 #if defined( VK_USE_PLATFORM_FUCHSIA )
11782       vkGetMemoryZirconHandleFUCHSIA =
11783         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
11784 #endif /*VK_USE_PLATFORM_FUCHSIA*/
11785 #if defined( VK_USE_PLATFORM_FUCHSIA )
11786       vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
11787         vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
11788 #endif /*VK_USE_PLATFORM_FUCHSIA*/
11789       vkGetPastPresentationTimingGOOGLE =
11790         PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
11791       vkGetPerformanceParameterINTEL =
11792         PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
11793       vkGetPipelineCacheData =
11794         PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
11795       vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
11796         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
11797       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
11798         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
11799       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
11800         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
11801       vkGetPrivateDataEXT   = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
11802       vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
11803       vkGetQueueCheckpointData2NV =
11804         PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
11805       vkGetQueueCheckpointDataNV =
11806         PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
11807       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
11808         vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
11809       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
11810         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
11811       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV(
11812         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
11813       if ( !vkGetRayTracingShaderGroupHandlesKHR )
11814         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
11815       vkGetRayTracingShaderGroupStackSizeKHR = PFN_vkGetRayTracingShaderGroupStackSizeKHR(
11816         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
11817       vkGetRefreshCycleDurationGOOGLE =
11818         PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
11819       vkGetRenderAreaGranularity =
11820         PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
11821       vkGetSemaphoreCounterValue =
11822         PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
11823       vkGetSemaphoreCounterValueKHR =
11824         PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
11825       if ( !vkGetSemaphoreCounterValue )
11826         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
11827       vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
11828 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11829       vkGetSemaphoreWin32HandleKHR =
11830         PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
11831 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11832 #if defined( VK_USE_PLATFORM_FUCHSIA )
11833       vkGetSemaphoreZirconHandleFUCHSIA =
11834         PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
11835 #endif /*VK_USE_PLATFORM_FUCHSIA*/
11836       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
11837       vkGetSwapchainCounterEXT =
11838         PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
11839       vkGetSwapchainImagesKHR =
11840         PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
11841       vkGetSwapchainStatusKHR =
11842         PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
11843       vkGetValidationCacheDataEXT =
11844         PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
11845 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11846       vkGetVideoSessionMemoryRequirementsKHR = PFN_vkGetVideoSessionMemoryRequirementsKHR(
11847         vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
11848 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11849       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
11850 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11851       vkImportFenceWin32HandleKHR =
11852         PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
11853 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11854       vkImportSemaphoreFdKHR =
11855         PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
11856 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11857       vkImportSemaphoreWin32HandleKHR =
11858         PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
11859 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11860 #if defined( VK_USE_PLATFORM_FUCHSIA )
11861       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
11862         vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
11863 #endif /*VK_USE_PLATFORM_FUCHSIA*/
11864       vkInitializePerformanceApiINTEL =
11865         PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
11866       vkInvalidateMappedMemoryRanges =
11867         PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
11868       vkMapMemory           = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
11869       vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
11870       vkMergeValidationCachesEXT =
11871         PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
11872       vkQueueBeginDebugUtilsLabelEXT =
11873         PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
11874       vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
11875       vkQueueEndDebugUtilsLabelEXT =
11876         PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
11877       vkQueueInsertDebugUtilsLabelEXT =
11878         PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
11879       vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
11880       vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
11881         vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
11882       vkQueueSubmit     = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
11883       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
11884       vkQueueWaitIdle   = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
11885       vkRegisterDeviceEventEXT =
11886         PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
11887       vkRegisterDisplayEventEXT =
11888         PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
11889 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11890       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT(
11891         vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
11892 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11893       vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
11894         vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
11895       vkReleaseProfilingLockKHR =
11896         PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
11897       vkResetCommandBuffer  = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
11898       vkResetCommandPool    = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
11899       vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
11900       vkResetEvent          = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
11901       vkResetFences         = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
11902       vkResetQueryPool      = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
11903       vkResetQueryPoolEXT   = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
11904       if ( !vkResetQueryPool )
11905         vkResetQueryPool = vkResetQueryPoolEXT;
11906       vkSetDebugUtilsObjectNameEXT =
11907         PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
11908       vkSetDebugUtilsObjectTagEXT =
11909         PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
11910       vkSetEvent           = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
11911       vkSetHdrMetadataEXT  = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
11912       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
11913       vkSetPrivateDataEXT  = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
11914       vkSignalSemaphore    = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
11915       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
11916       if ( !vkSignalSemaphore )
11917         vkSignalSemaphore = vkSignalSemaphoreKHR;
11918       vkTrimCommandPool    = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
11919       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
11920       if ( !vkTrimCommandPool )
11921         vkTrimCommandPool = vkTrimCommandPoolKHR;
11922       vkUninitializePerformanceApiINTEL =
11923         PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
11924       vkUnmapMemory = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
11925       vkUpdateDescriptorSetWithTemplate =
11926         PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
11927       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
11928         vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
11929       if ( !vkUpdateDescriptorSetWithTemplate )
11930         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
11931       vkUpdateDescriptorSets =
11932         PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
11933 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11934       vkUpdateVideoSessionParametersKHR =
11935         PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
11936 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11937       vkWaitForFences     = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
11938       vkWaitSemaphores    = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
11939       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
11940       if ( !vkWaitSemaphores )
11941         vkWaitSemaphores = vkWaitSemaphoresKHR;
11942       vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
11943         vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
11944     }
11945 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)11946     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
11947     {
11948       VkDevice device = static_cast<VkDevice>( deviceCpp );
11949 #if defined( VK_USE_PLATFORM_WIN32_KHR )
11950       vkAcquireFullScreenExclusiveModeEXT =
11951         PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
11952 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
11953       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
11954       vkAcquireNextImageKHR  = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
11955       vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
11956         vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
11957       vkAcquireProfilingLockKHR =
11958         PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
11959       vkAllocateCommandBuffers =
11960         PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
11961       vkAllocateDescriptorSets =
11962         PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
11963       vkAllocateMemory     = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
11964       vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
11965       vkBindAccelerationStructureMemoryNV =
11966         PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
11967       vkBindBufferMemory     = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
11968       vkBindBufferMemory2    = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
11969       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
11970       if ( !vkBindBufferMemory2 )
11971         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
11972       vkBindImageMemory     = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
11973       vkBindImageMemory2    = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
11974       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
11975       if ( !vkBindImageMemory2 )
11976         vkBindImageMemory2 = vkBindImageMemory2KHR;
11977 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11978       vkBindVideoSessionMemoryKHR =
11979         PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
11980 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
11981       vkBuildAccelerationStructuresKHR =
11982         PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
11983       vkCmdBeginConditionalRenderingEXT =
11984         PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
11985       vkCmdBeginDebugUtilsLabelEXT =
11986         PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
11987       vkCmdBeginQuery = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
11988       vkCmdBeginQueryIndexedEXT =
11989         PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
11990       vkCmdBeginRenderPass  = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
11991       vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
11992       vkCmdBeginRenderPass2KHR =
11993         PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
11994       if ( !vkCmdBeginRenderPass2 )
11995         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
11996       vkCmdBeginTransformFeedbackEXT =
11997         PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
11998 #if defined( VK_ENABLE_BETA_EXTENSIONS )
11999       vkCmdBeginVideoCodingKHR =
12000         PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
12001 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12002       vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
12003       vkCmdBindIndexBuffer    = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
12004       vkCmdBindPipeline       = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
12005       vkCmdBindPipelineShaderGroupNV =
12006         PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
12007       vkCmdBindShadingRateImageNV =
12008         PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
12009       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
12010         vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
12011       vkCmdBindVertexBuffers = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
12012       vkCmdBindVertexBuffers2EXT =
12013         PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
12014       vkCmdBlitImage     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
12015       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
12016       vkCmdBuildAccelerationStructureNV =
12017         PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
12018       vkCmdBuildAccelerationStructuresIndirectKHR = PFN_vkCmdBuildAccelerationStructuresIndirectKHR(
12019         vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
12020       vkCmdBuildAccelerationStructuresKHR =
12021         PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
12022       vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
12023       vkCmdClearColorImage  = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
12024       vkCmdClearDepthStencilImage =
12025         PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
12026 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12027       vkCmdControlVideoCodingKHR =
12028         PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
12029 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12030       vkCmdCopyAccelerationStructureKHR =
12031         PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
12032       vkCmdCopyAccelerationStructureNV =
12033         PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
12034       vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
12035         vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
12036       vkCmdCopyBuffer        = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
12037       vkCmdCopyBuffer2KHR    = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
12038       vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
12039       vkCmdCopyBufferToImage2KHR =
12040         PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
12041       vkCmdCopyImage         = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
12042       vkCmdCopyImage2KHR     = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
12043       vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
12044       vkCmdCopyImageToBuffer2KHR =
12045         PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
12046       vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
12047         vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
12048       vkCmdCopyQueryPoolResults =
12049         PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
12050       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
12051       vkCmdDebugMarkerBeginEXT =
12052         PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
12053       vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
12054       vkCmdDebugMarkerInsertEXT =
12055         PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
12056 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12057       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
12058 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12059       vkCmdDispatch        = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
12060       vkCmdDispatchBase    = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
12061       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
12062       if ( !vkCmdDispatchBase )
12063         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
12064       vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
12065       vkCmdDraw             = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
12066       vkCmdDrawIndexed      = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
12067       vkCmdDrawIndexedIndirect =
12068         PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
12069       vkCmdDrawIndexedIndirectCount =
12070         PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
12071       vkCmdDrawIndexedIndirectCountAMD =
12072         PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
12073       if ( !vkCmdDrawIndexedIndirectCount )
12074         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
12075       vkCmdDrawIndexedIndirectCountKHR =
12076         PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
12077       if ( !vkCmdDrawIndexedIndirectCount )
12078         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
12079       vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
12080       vkCmdDrawIndirectByteCountEXT =
12081         PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
12082       vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
12083       vkCmdDrawIndirectCountAMD =
12084         PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
12085       if ( !vkCmdDrawIndirectCount )
12086         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
12087       vkCmdDrawIndirectCountKHR =
12088         PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
12089       if ( !vkCmdDrawIndirectCount )
12090         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
12091       vkCmdDrawMeshTasksIndirectCountNV =
12092         PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
12093       vkCmdDrawMeshTasksIndirectNV =
12094         PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
12095       vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
12096       vkCmdDrawMultiEXT    = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
12097       vkCmdDrawMultiIndexedEXT =
12098         PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
12099 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12100       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
12101 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12102       vkCmdEndConditionalRenderingEXT =
12103         PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
12104       vkCmdEndDebugUtilsLabelEXT =
12105         PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
12106       vkCmdEndQuery           = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
12107       vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
12108       vkCmdEndRenderPass      = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
12109       vkCmdEndRenderPass2     = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
12110       vkCmdEndRenderPass2KHR  = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
12111       if ( !vkCmdEndRenderPass2 )
12112         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
12113       vkCmdEndTransformFeedbackEXT =
12114         PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
12115 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12116       vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
12117 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12118       vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
12119       vkCmdExecuteGeneratedCommandsNV =
12120         PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
12121       vkCmdFillBuffer = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
12122       vkCmdInsertDebugUtilsLabelEXT =
12123         PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
12124       vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
12125       vkCmdNextSubpass2    = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
12126       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
12127       if ( !vkCmdNextSubpass2 )
12128         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
12129       vkCmdPipelineBarrier = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
12130       vkCmdPipelineBarrier2KHR =
12131         PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
12132       vkCmdPreprocessGeneratedCommandsNV =
12133         PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
12134       vkCmdPushConstants = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
12135       vkCmdPushDescriptorSetKHR =
12136         PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
12137       vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
12138         vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
12139       vkCmdResetEvent        = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
12140       vkCmdResetEvent2KHR    = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
12141       vkCmdResetQueryPool    = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
12142       vkCmdResolveImage      = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
12143       vkCmdResolveImage2KHR  = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
12144       vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
12145       vkCmdSetCheckpointNV   = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
12146       vkCmdSetCoarseSampleOrderNV =
12147         PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
12148       vkCmdSetColorWriteEnableEXT =
12149         PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
12150       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
12151       vkCmdSetDepthBias   = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
12152       vkCmdSetDepthBiasEnableEXT =
12153         PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
12154       vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
12155       vkCmdSetDepthBoundsTestEnableEXT =
12156         PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
12157       vkCmdSetDepthCompareOpEXT =
12158         PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
12159       vkCmdSetDepthTestEnableEXT =
12160         PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
12161       vkCmdSetDepthWriteEnableEXT =
12162         PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
12163       vkCmdSetDeviceMask    = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
12164       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
12165       if ( !vkCmdSetDeviceMask )
12166         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
12167       vkCmdSetDiscardRectangleEXT =
12168         PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
12169       vkCmdSetEvent     = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
12170       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
12171       vkCmdSetExclusiveScissorNV =
12172         PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
12173       vkCmdSetFragmentShadingRateEnumNV =
12174         PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
12175       vkCmdSetFragmentShadingRateKHR =
12176         PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
12177       vkCmdSetFrontFaceEXT   = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
12178       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
12179       vkCmdSetLineWidth      = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
12180       vkCmdSetLogicOpEXT     = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
12181       vkCmdSetPatchControlPointsEXT =
12182         PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
12183       vkCmdSetPerformanceMarkerINTEL =
12184         PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
12185       vkCmdSetPerformanceOverrideINTEL =
12186         PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
12187       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
12188         vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
12189       vkCmdSetPrimitiveRestartEnableEXT =
12190         PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
12191       vkCmdSetPrimitiveTopologyEXT =
12192         PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
12193       vkCmdSetRasterizerDiscardEnableEXT =
12194         PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
12195       vkCmdSetRayTracingPipelineStackSizeKHR = PFN_vkCmdSetRayTracingPipelineStackSizeKHR(
12196         vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
12197       vkCmdSetSampleLocationsEXT =
12198         PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
12199       vkCmdSetScissor = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
12200       vkCmdSetScissorWithCountEXT =
12201         PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
12202       vkCmdSetStencilCompareMask =
12203         PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
12204       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
12205       vkCmdSetStencilReference =
12206         PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
12207       vkCmdSetStencilTestEnableEXT =
12208         PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
12209       vkCmdSetStencilWriteMask =
12210         PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
12211       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
12212       vkCmdSetViewport       = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
12213       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
12214         vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
12215       vkCmdSetViewportWScalingNV =
12216         PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
12217       vkCmdSetViewportWithCountEXT =
12218         PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
12219       vkCmdSubpassShadingHUAWEI =
12220         PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
12221       vkCmdTraceRaysIndirectKHR =
12222         PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
12223       vkCmdTraceRaysKHR   = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
12224       vkCmdTraceRaysNV    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
12225       vkCmdUpdateBuffer   = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
12226       vkCmdWaitEvents     = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
12227       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
12228       vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
12229         vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
12230       vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
12231         vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
12232       vkCmdWriteBufferMarker2AMD =
12233         PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
12234       vkCmdWriteBufferMarkerAMD =
12235         PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
12236       vkCmdWriteTimestamp     = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
12237       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
12238       vkCompileDeferredNV     = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
12239       vkCopyAccelerationStructureKHR =
12240         PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
12241       vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
12242         vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
12243       vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
12244         vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
12245       vkCreateAccelerationStructureKHR =
12246         PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
12247       vkCreateAccelerationStructureNV =
12248         PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
12249       vkCreateBuffer      = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
12250       vkCreateBufferView  = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
12251       vkCreateCommandPool = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
12252       vkCreateComputePipelines =
12253         PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
12254       vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
12255       vkCreateCuModuleNVX   = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
12256       vkCreateDeferredOperationKHR =
12257         PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
12258       vkCreateDescriptorPool = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
12259       vkCreateDescriptorSetLayout =
12260         PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
12261       vkCreateDescriptorUpdateTemplate =
12262         PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
12263       vkCreateDescriptorUpdateTemplateKHR =
12264         PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
12265       if ( !vkCreateDescriptorUpdateTemplate )
12266         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
12267       vkCreateEvent       = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
12268       vkCreateFence       = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
12269       vkCreateFramebuffer = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
12270       vkCreateGraphicsPipelines =
12271         PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
12272       vkCreateImage     = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
12273       vkCreateImageView = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
12274       vkCreateIndirectCommandsLayoutNV =
12275         PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
12276       vkCreatePipelineCache  = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
12277       vkCreatePipelineLayout = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
12278       vkCreatePrivateDataSlotEXT =
12279         PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
12280       vkCreateQueryPool = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
12281       vkCreateRayTracingPipelinesKHR =
12282         PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
12283       vkCreateRayTracingPipelinesNV =
12284         PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
12285       vkCreateRenderPass     = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
12286       vkCreateRenderPass2    = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
12287       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
12288       if ( !vkCreateRenderPass2 )
12289         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
12290       vkCreateSampler = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
12291       vkCreateSamplerYcbcrConversion =
12292         PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
12293       vkCreateSamplerYcbcrConversionKHR =
12294         PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
12295       if ( !vkCreateSamplerYcbcrConversion )
12296         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
12297       vkCreateSemaphore    = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
12298       vkCreateShaderModule = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
12299       vkCreateSharedSwapchainsKHR =
12300         PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
12301       vkCreateSwapchainKHR = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
12302       vkCreateValidationCacheEXT =
12303         PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
12304 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12305       vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
12306 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12307 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12308       vkCreateVideoSessionParametersKHR =
12309         PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
12310 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12311       vkDebugMarkerSetObjectNameEXT =
12312         PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
12313       vkDebugMarkerSetObjectTagEXT =
12314         PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
12315       vkDeferredOperationJoinKHR =
12316         PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
12317       vkDestroyAccelerationStructureKHR =
12318         PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
12319       vkDestroyAccelerationStructureNV =
12320         PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
12321       vkDestroyBuffer        = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
12322       vkDestroyBufferView    = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
12323       vkDestroyCommandPool   = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
12324       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
12325       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
12326       vkDestroyDeferredOperationKHR =
12327         PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
12328       vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
12329       vkDestroyDescriptorSetLayout =
12330         PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
12331       vkDestroyDescriptorUpdateTemplate =
12332         PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
12333       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
12334         vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
12335       if ( !vkDestroyDescriptorUpdateTemplate )
12336         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
12337       vkDestroyDevice      = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
12338       vkDestroyEvent       = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
12339       vkDestroyFence       = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
12340       vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
12341       vkDestroyImage       = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
12342       vkDestroyImageView   = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
12343       vkDestroyIndirectCommandsLayoutNV =
12344         PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
12345       vkDestroyPipeline       = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
12346       vkDestroyPipelineCache  = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
12347       vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
12348       vkDestroyPrivateDataSlotEXT =
12349         PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
12350       vkDestroyQueryPool  = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
12351       vkDestroyRenderPass = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
12352       vkDestroySampler    = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
12353       vkDestroySamplerYcbcrConversion =
12354         PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
12355       vkDestroySamplerYcbcrConversionKHR =
12356         PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
12357       if ( !vkDestroySamplerYcbcrConversion )
12358         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
12359       vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
12360       vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
12361       vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
12362       vkDestroyValidationCacheEXT =
12363         PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
12364 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12365       vkDestroyVideoSessionKHR =
12366         PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
12367 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12368 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12369       vkDestroyVideoSessionParametersKHR =
12370         PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
12371 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12372       vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
12373       vkDisplayPowerControlEXT =
12374         PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
12375       vkEndCommandBuffer = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
12376       vkFlushMappedMemoryRanges =
12377         PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
12378       vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
12379       vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
12380       vkFreeMemory         = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
12381       vkGetAccelerationStructureBuildSizesKHR = PFN_vkGetAccelerationStructureBuildSizesKHR(
12382         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
12383       vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
12384         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
12385       vkGetAccelerationStructureHandleNV =
12386         PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
12387       vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
12388         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
12389 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
12390       vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
12391         vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
12392 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
12393       vkGetBufferDeviceAddress =
12394         PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
12395       vkGetBufferDeviceAddressEXT =
12396         PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
12397       if ( !vkGetBufferDeviceAddress )
12398         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
12399       vkGetBufferDeviceAddressKHR =
12400         PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
12401       if ( !vkGetBufferDeviceAddress )
12402         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
12403       vkGetBufferMemoryRequirements =
12404         PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
12405       vkGetBufferMemoryRequirements2 =
12406         PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
12407       vkGetBufferMemoryRequirements2KHR =
12408         PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
12409       if ( !vkGetBufferMemoryRequirements2 )
12410         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
12411       vkGetBufferOpaqueCaptureAddress =
12412         PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
12413       vkGetBufferOpaqueCaptureAddressKHR =
12414         PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
12415       if ( !vkGetBufferOpaqueCaptureAddress )
12416         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
12417       vkGetCalibratedTimestampsEXT =
12418         PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
12419       vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
12420         vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
12421       vkGetDeferredOperationResultKHR =
12422         PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
12423       vkGetDescriptorSetLayoutSupport =
12424         PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
12425       vkGetDescriptorSetLayoutSupportKHR =
12426         PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
12427       if ( !vkGetDescriptorSetLayoutSupport )
12428         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
12429       vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
12430         vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
12431       vkGetDeviceGroupPeerMemoryFeatures =
12432         PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
12433       vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
12434         vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
12435       if ( !vkGetDeviceGroupPeerMemoryFeatures )
12436         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
12437       vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
12438         vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
12439 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12440       vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
12441         vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
12442 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12443       vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
12444         vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
12445       vkGetDeviceMemoryCommitment =
12446         PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
12447       vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
12448         vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
12449       vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
12450         vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
12451       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
12452         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
12453       vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
12454       vkGetDeviceQueue    = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
12455       vkGetDeviceQueue2   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
12456       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
12457         vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
12458       vkGetEventStatus = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
12459       vkGetFenceFdKHR  = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
12460       vkGetFenceStatus = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
12461 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12462       vkGetFenceWin32HandleKHR =
12463         PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
12464 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12465       vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
12466         vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
12467       vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
12468         vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
12469       vkGetImageMemoryRequirements =
12470         PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
12471       vkGetImageMemoryRequirements2 =
12472         PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
12473       vkGetImageMemoryRequirements2KHR =
12474         PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
12475       if ( !vkGetImageMemoryRequirements2 )
12476         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
12477       vkGetImageSparseMemoryRequirements =
12478         PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
12479       vkGetImageSparseMemoryRequirements2 =
12480         PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
12481       vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
12482         vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
12483       if ( !vkGetImageSparseMemoryRequirements2 )
12484         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
12485       vkGetImageSubresourceLayout =
12486         PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
12487       vkGetImageViewAddressNVX =
12488         PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
12489       vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
12490 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
12491       vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
12492         vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
12493 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
12494       vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
12495       vkGetMemoryFdPropertiesKHR =
12496         PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
12497       vkGetMemoryHostPointerPropertiesEXT =
12498         PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
12499       vkGetMemoryRemoteAddressNV =
12500         PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
12501 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12502       vkGetMemoryWin32HandleKHR =
12503         PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
12504 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12505 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12506       vkGetMemoryWin32HandleNV =
12507         PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
12508 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12509 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12510       vkGetMemoryWin32HandlePropertiesKHR =
12511         PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
12512 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12513 #if defined( VK_USE_PLATFORM_FUCHSIA )
12514       vkGetMemoryZirconHandleFUCHSIA =
12515         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
12516 #endif /*VK_USE_PLATFORM_FUCHSIA*/
12517 #if defined( VK_USE_PLATFORM_FUCHSIA )
12518       vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
12519         vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
12520 #endif /*VK_USE_PLATFORM_FUCHSIA*/
12521       vkGetPastPresentationTimingGOOGLE =
12522         PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
12523       vkGetPerformanceParameterINTEL =
12524         PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
12525       vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
12526       vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
12527         vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
12528       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
12529         vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
12530       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
12531         vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
12532       vkGetPrivateDataEXT   = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
12533       vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
12534       vkGetQueueCheckpointData2NV =
12535         PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
12536       vkGetQueueCheckpointDataNV =
12537         PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
12538       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
12539         vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
12540       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
12541         vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
12542       vkGetRayTracingShaderGroupHandlesNV =
12543         PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
12544       if ( !vkGetRayTracingShaderGroupHandlesKHR )
12545         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
12546       vkGetRayTracingShaderGroupStackSizeKHR = PFN_vkGetRayTracingShaderGroupStackSizeKHR(
12547         vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
12548       vkGetRefreshCycleDurationGOOGLE =
12549         PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
12550       vkGetRenderAreaGranularity =
12551         PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
12552       vkGetSemaphoreCounterValue =
12553         PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
12554       vkGetSemaphoreCounterValueKHR =
12555         PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
12556       if ( !vkGetSemaphoreCounterValue )
12557         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
12558       vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
12559 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12560       vkGetSemaphoreWin32HandleKHR =
12561         PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
12562 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12563 #if defined( VK_USE_PLATFORM_FUCHSIA )
12564       vkGetSemaphoreZirconHandleFUCHSIA =
12565         PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
12566 #endif /*VK_USE_PLATFORM_FUCHSIA*/
12567       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
12568       vkGetSwapchainCounterEXT =
12569         PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
12570       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
12571       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
12572       vkGetValidationCacheDataEXT =
12573         PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
12574 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12575       vkGetVideoSessionMemoryRequirementsKHR = PFN_vkGetVideoSessionMemoryRequirementsKHR(
12576         vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
12577 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12578       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
12579 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12580       vkImportFenceWin32HandleKHR =
12581         PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
12582 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12583       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
12584 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12585       vkImportSemaphoreWin32HandleKHR =
12586         PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
12587 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12588 #if defined( VK_USE_PLATFORM_FUCHSIA )
12589       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
12590         vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
12591 #endif /*VK_USE_PLATFORM_FUCHSIA*/
12592       vkInitializePerformanceApiINTEL =
12593         PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
12594       vkInvalidateMappedMemoryRanges =
12595         PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
12596       vkMapMemory           = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
12597       vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
12598       vkMergeValidationCachesEXT =
12599         PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
12600       vkQueueBeginDebugUtilsLabelEXT =
12601         PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
12602       vkQueueBindSparse = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
12603       vkQueueEndDebugUtilsLabelEXT =
12604         PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
12605       vkQueueInsertDebugUtilsLabelEXT =
12606         PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
12607       vkQueuePresentKHR = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
12608       vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
12609         vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
12610       vkQueueSubmit     = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
12611       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
12612       vkQueueWaitIdle   = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
12613       vkRegisterDeviceEventEXT =
12614         PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
12615       vkRegisterDisplayEventEXT =
12616         PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
12617 #if defined( VK_USE_PLATFORM_WIN32_KHR )
12618       vkReleaseFullScreenExclusiveModeEXT =
12619         PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
12620 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
12621       vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
12622         vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
12623       vkReleaseProfilingLockKHR =
12624         PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
12625       vkResetCommandBuffer  = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
12626       vkResetCommandPool    = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
12627       vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
12628       vkResetEvent          = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
12629       vkResetFences         = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
12630       vkResetQueryPool      = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
12631       vkResetQueryPoolEXT   = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
12632       if ( !vkResetQueryPool )
12633         vkResetQueryPool = vkResetQueryPoolEXT;
12634       vkSetDebugUtilsObjectNameEXT =
12635         PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
12636       vkSetDebugUtilsObjectTagEXT =
12637         PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
12638       vkSetEvent           = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
12639       vkSetHdrMetadataEXT  = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
12640       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
12641       vkSetPrivateDataEXT  = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
12642       vkSignalSemaphore    = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
12643       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
12644       if ( !vkSignalSemaphore )
12645         vkSignalSemaphore = vkSignalSemaphoreKHR;
12646       vkTrimCommandPool    = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
12647       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
12648       if ( !vkTrimCommandPool )
12649         vkTrimCommandPool = vkTrimCommandPoolKHR;
12650       vkUninitializePerformanceApiINTEL =
12651         PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
12652       vkUnmapMemory = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
12653       vkUpdateDescriptorSetWithTemplate =
12654         PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
12655       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
12656         vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
12657       if ( !vkUpdateDescriptorSetWithTemplate )
12658         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
12659       vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
12660 #if defined( VK_ENABLE_BETA_EXTENSIONS )
12661       vkUpdateVideoSessionParametersKHR =
12662         PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
12663 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
12664       vkWaitForFences     = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
12665       vkWaitSemaphores    = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
12666       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
12667       if ( !vkWaitSemaphores )
12668         vkWaitSemaphores = vkWaitSemaphoresKHR;
12669       vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
12670         vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
12671     }
12672   };
12673 
12674 }  // namespace VULKAN_HPP_NAMESPACE
12675 
12676 namespace std
12677 {
12678   template <>
12679   struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureKHR>
12680   {
operator ()std::hash12681     std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureKHR const & accelerationStructureKHR ) const
12682       VULKAN_HPP_NOEXCEPT
12683     {
12684       return std::hash<VkAccelerationStructureKHR>{}(
12685         static_cast<VkAccelerationStructureKHR>( accelerationStructureKHR ) );
12686     }
12687   };
12688 
12689   template <>
12690   struct hash<VULKAN_HPP_NAMESPACE::AccelerationStructureNV>
12691   {
operator ()std::hash12692     std::size_t operator()( VULKAN_HPP_NAMESPACE::AccelerationStructureNV const & accelerationStructureNV ) const
12693       VULKAN_HPP_NOEXCEPT
12694     {
12695       return std::hash<VkAccelerationStructureNV>{}(
12696         static_cast<VkAccelerationStructureNV>( accelerationStructureNV ) );
12697     }
12698   };
12699 
12700   template <>
12701   struct hash<VULKAN_HPP_NAMESPACE::Buffer>
12702   {
operator ()std::hash12703     std::size_t operator()( VULKAN_HPP_NAMESPACE::Buffer const & buffer ) const VULKAN_HPP_NOEXCEPT
12704     {
12705       return std::hash<VkBuffer>{}( static_cast<VkBuffer>( buffer ) );
12706     }
12707   };
12708 
12709   template <>
12710   struct hash<VULKAN_HPP_NAMESPACE::BufferView>
12711   {
operator ()std::hash12712     std::size_t operator()( VULKAN_HPP_NAMESPACE::BufferView const & bufferView ) const VULKAN_HPP_NOEXCEPT
12713     {
12714       return std::hash<VkBufferView>{}( static_cast<VkBufferView>( bufferView ) );
12715     }
12716   };
12717 
12718   template <>
12719   struct hash<VULKAN_HPP_NAMESPACE::CommandBuffer>
12720   {
operator ()std::hash12721     std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandBuffer const & commandBuffer ) const VULKAN_HPP_NOEXCEPT
12722     {
12723       return std::hash<VkCommandBuffer>{}( static_cast<VkCommandBuffer>( commandBuffer ) );
12724     }
12725   };
12726 
12727   template <>
12728   struct hash<VULKAN_HPP_NAMESPACE::CommandPool>
12729   {
operator ()std::hash12730     std::size_t operator()( VULKAN_HPP_NAMESPACE::CommandPool const & commandPool ) const VULKAN_HPP_NOEXCEPT
12731     {
12732       return std::hash<VkCommandPool>{}( static_cast<VkCommandPool>( commandPool ) );
12733     }
12734   };
12735 
12736   template <>
12737   struct hash<VULKAN_HPP_NAMESPACE::CuFunctionNVX>
12738   {
operator ()std::hash12739     std::size_t operator()( VULKAN_HPP_NAMESPACE::CuFunctionNVX const & cuFunctionNVX ) const VULKAN_HPP_NOEXCEPT
12740     {
12741       return std::hash<VkCuFunctionNVX>{}( static_cast<VkCuFunctionNVX>( cuFunctionNVX ) );
12742     }
12743   };
12744 
12745   template <>
12746   struct hash<VULKAN_HPP_NAMESPACE::CuModuleNVX>
12747   {
operator ()std::hash12748     std::size_t operator()( VULKAN_HPP_NAMESPACE::CuModuleNVX const & cuModuleNVX ) const VULKAN_HPP_NOEXCEPT
12749     {
12750       return std::hash<VkCuModuleNVX>{}( static_cast<VkCuModuleNVX>( cuModuleNVX ) );
12751     }
12752   };
12753 
12754   template <>
12755   struct hash<VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT>
12756   {
operator ()std::hash12757     std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugReportCallbackEXT const & debugReportCallbackEXT ) const
12758       VULKAN_HPP_NOEXCEPT
12759     {
12760       return std::hash<VkDebugReportCallbackEXT>{}( static_cast<VkDebugReportCallbackEXT>( debugReportCallbackEXT ) );
12761     }
12762   };
12763 
12764   template <>
12765   struct hash<VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT>
12766   {
operator ()std::hash12767     std::size_t operator()( VULKAN_HPP_NAMESPACE::DebugUtilsMessengerEXT const & debugUtilsMessengerEXT ) const
12768       VULKAN_HPP_NOEXCEPT
12769     {
12770       return std::hash<VkDebugUtilsMessengerEXT>{}( static_cast<VkDebugUtilsMessengerEXT>( debugUtilsMessengerEXT ) );
12771     }
12772   };
12773 
12774   template <>
12775   struct hash<VULKAN_HPP_NAMESPACE::DeferredOperationKHR>
12776   {
12777     std::size_t
operator ()std::hash12778       operator()( VULKAN_HPP_NAMESPACE::DeferredOperationKHR const & deferredOperationKHR ) const VULKAN_HPP_NOEXCEPT
12779     {
12780       return std::hash<VkDeferredOperationKHR>{}( static_cast<VkDeferredOperationKHR>( deferredOperationKHR ) );
12781     }
12782   };
12783 
12784   template <>
12785   struct hash<VULKAN_HPP_NAMESPACE::DescriptorPool>
12786   {
operator ()std::hash12787     std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorPool const & descriptorPool ) const VULKAN_HPP_NOEXCEPT
12788     {
12789       return std::hash<VkDescriptorPool>{}( static_cast<VkDescriptorPool>( descriptorPool ) );
12790     }
12791   };
12792 
12793   template <>
12794   struct hash<VULKAN_HPP_NAMESPACE::DescriptorSet>
12795   {
operator ()std::hash12796     std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorSet const & descriptorSet ) const VULKAN_HPP_NOEXCEPT
12797     {
12798       return std::hash<VkDescriptorSet>{}( static_cast<VkDescriptorSet>( descriptorSet ) );
12799     }
12800   };
12801 
12802   template <>
12803   struct hash<VULKAN_HPP_NAMESPACE::DescriptorSetLayout>
12804   {
12805     std::size_t
operator ()std::hash12806       operator()( VULKAN_HPP_NAMESPACE::DescriptorSetLayout const & descriptorSetLayout ) const VULKAN_HPP_NOEXCEPT
12807     {
12808       return std::hash<VkDescriptorSetLayout>{}( static_cast<VkDescriptorSetLayout>( descriptorSetLayout ) );
12809     }
12810   };
12811 
12812   template <>
12813   struct hash<VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate>
12814   {
operator ()std::hash12815     std::size_t operator()( VULKAN_HPP_NAMESPACE::DescriptorUpdateTemplate const & descriptorUpdateTemplate ) const
12816       VULKAN_HPP_NOEXCEPT
12817     {
12818       return std::hash<VkDescriptorUpdateTemplate>{}(
12819         static_cast<VkDescriptorUpdateTemplate>( descriptorUpdateTemplate ) );
12820     }
12821   };
12822 
12823   template <>
12824   struct hash<VULKAN_HPP_NAMESPACE::Device>
12825   {
operator ()std::hash12826     std::size_t operator()( VULKAN_HPP_NAMESPACE::Device const & device ) const VULKAN_HPP_NOEXCEPT
12827     {
12828       return std::hash<VkDevice>{}( static_cast<VkDevice>( device ) );
12829     }
12830   };
12831 
12832   template <>
12833   struct hash<VULKAN_HPP_NAMESPACE::DeviceMemory>
12834   {
operator ()std::hash12835     std::size_t operator()( VULKAN_HPP_NAMESPACE::DeviceMemory const & deviceMemory ) const VULKAN_HPP_NOEXCEPT
12836     {
12837       return std::hash<VkDeviceMemory>{}( static_cast<VkDeviceMemory>( deviceMemory ) );
12838     }
12839   };
12840 
12841   template <>
12842   struct hash<VULKAN_HPP_NAMESPACE::DisplayKHR>
12843   {
operator ()std::hash12844     std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayKHR const & displayKHR ) const VULKAN_HPP_NOEXCEPT
12845     {
12846       return std::hash<VkDisplayKHR>{}( static_cast<VkDisplayKHR>( displayKHR ) );
12847     }
12848   };
12849 
12850   template <>
12851   struct hash<VULKAN_HPP_NAMESPACE::DisplayModeKHR>
12852   {
operator ()std::hash12853     std::size_t operator()( VULKAN_HPP_NAMESPACE::DisplayModeKHR const & displayModeKHR ) const VULKAN_HPP_NOEXCEPT
12854     {
12855       return std::hash<VkDisplayModeKHR>{}( static_cast<VkDisplayModeKHR>( displayModeKHR ) );
12856     }
12857   };
12858 
12859   template <>
12860   struct hash<VULKAN_HPP_NAMESPACE::Event>
12861   {
operator ()std::hash12862     std::size_t operator()( VULKAN_HPP_NAMESPACE::Event const & event ) const VULKAN_HPP_NOEXCEPT
12863     {
12864       return std::hash<VkEvent>{}( static_cast<VkEvent>( event ) );
12865     }
12866   };
12867 
12868   template <>
12869   struct hash<VULKAN_HPP_NAMESPACE::Fence>
12870   {
operator ()std::hash12871     std::size_t operator()( VULKAN_HPP_NAMESPACE::Fence const & fence ) const VULKAN_HPP_NOEXCEPT
12872     {
12873       return std::hash<VkFence>{}( static_cast<VkFence>( fence ) );
12874     }
12875   };
12876 
12877   template <>
12878   struct hash<VULKAN_HPP_NAMESPACE::Framebuffer>
12879   {
operator ()std::hash12880     std::size_t operator()( VULKAN_HPP_NAMESPACE::Framebuffer const & framebuffer ) const VULKAN_HPP_NOEXCEPT
12881     {
12882       return std::hash<VkFramebuffer>{}( static_cast<VkFramebuffer>( framebuffer ) );
12883     }
12884   };
12885 
12886   template <>
12887   struct hash<VULKAN_HPP_NAMESPACE::Image>
12888   {
operator ()std::hash12889     std::size_t operator()( VULKAN_HPP_NAMESPACE::Image const & image ) const VULKAN_HPP_NOEXCEPT
12890     {
12891       return std::hash<VkImage>{}( static_cast<VkImage>( image ) );
12892     }
12893   };
12894 
12895   template <>
12896   struct hash<VULKAN_HPP_NAMESPACE::ImageView>
12897   {
operator ()std::hash12898     std::size_t operator()( VULKAN_HPP_NAMESPACE::ImageView const & imageView ) const VULKAN_HPP_NOEXCEPT
12899     {
12900       return std::hash<VkImageView>{}( static_cast<VkImageView>( imageView ) );
12901     }
12902   };
12903 
12904   template <>
12905   struct hash<VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV>
12906   {
operator ()std::hash12907     std::size_t operator()( VULKAN_HPP_NAMESPACE::IndirectCommandsLayoutNV const & indirectCommandsLayoutNV ) const
12908       VULKAN_HPP_NOEXCEPT
12909     {
12910       return std::hash<VkIndirectCommandsLayoutNV>{}(
12911         static_cast<VkIndirectCommandsLayoutNV>( indirectCommandsLayoutNV ) );
12912     }
12913   };
12914 
12915   template <>
12916   struct hash<VULKAN_HPP_NAMESPACE::Instance>
12917   {
operator ()std::hash12918     std::size_t operator()( VULKAN_HPP_NAMESPACE::Instance const & instance ) const VULKAN_HPP_NOEXCEPT
12919     {
12920       return std::hash<VkInstance>{}( static_cast<VkInstance>( instance ) );
12921     }
12922   };
12923 
12924   template <>
12925   struct hash<VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL>
12926   {
operator ()std::hash12927     std::size_t operator()( VULKAN_HPP_NAMESPACE::PerformanceConfigurationINTEL const & performanceConfigurationINTEL )
12928       const VULKAN_HPP_NOEXCEPT
12929     {
12930       return std::hash<VkPerformanceConfigurationINTEL>{}(
12931         static_cast<VkPerformanceConfigurationINTEL>( performanceConfigurationINTEL ) );
12932     }
12933   };
12934 
12935   template <>
12936   struct hash<VULKAN_HPP_NAMESPACE::PhysicalDevice>
12937   {
operator ()std::hash12938     std::size_t operator()( VULKAN_HPP_NAMESPACE::PhysicalDevice const & physicalDevice ) const VULKAN_HPP_NOEXCEPT
12939     {
12940       return std::hash<VkPhysicalDevice>{}( static_cast<VkPhysicalDevice>( physicalDevice ) );
12941     }
12942   };
12943 
12944   template <>
12945   struct hash<VULKAN_HPP_NAMESPACE::Pipeline>
12946   {
operator ()std::hash12947     std::size_t operator()( VULKAN_HPP_NAMESPACE::Pipeline const & pipeline ) const VULKAN_HPP_NOEXCEPT
12948     {
12949       return std::hash<VkPipeline>{}( static_cast<VkPipeline>( pipeline ) );
12950     }
12951   };
12952 
12953   template <>
12954   struct hash<VULKAN_HPP_NAMESPACE::PipelineCache>
12955   {
operator ()std::hash12956     std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineCache const & pipelineCache ) const VULKAN_HPP_NOEXCEPT
12957     {
12958       return std::hash<VkPipelineCache>{}( static_cast<VkPipelineCache>( pipelineCache ) );
12959     }
12960   };
12961 
12962   template <>
12963   struct hash<VULKAN_HPP_NAMESPACE::PipelineLayout>
12964   {
operator ()std::hash12965     std::size_t operator()( VULKAN_HPP_NAMESPACE::PipelineLayout const & pipelineLayout ) const VULKAN_HPP_NOEXCEPT
12966     {
12967       return std::hash<VkPipelineLayout>{}( static_cast<VkPipelineLayout>( pipelineLayout ) );
12968     }
12969   };
12970 
12971   template <>
12972   struct hash<VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT>
12973   {
12974     std::size_t
operator ()std::hash12975       operator()( VULKAN_HPP_NAMESPACE::PrivateDataSlotEXT const & privateDataSlotEXT ) const VULKAN_HPP_NOEXCEPT
12976     {
12977       return std::hash<VkPrivateDataSlotEXT>{}( static_cast<VkPrivateDataSlotEXT>( privateDataSlotEXT ) );
12978     }
12979   };
12980 
12981   template <>
12982   struct hash<VULKAN_HPP_NAMESPACE::QueryPool>
12983   {
operator ()std::hash12984     std::size_t operator()( VULKAN_HPP_NAMESPACE::QueryPool const & queryPool ) const VULKAN_HPP_NOEXCEPT
12985     {
12986       return std::hash<VkQueryPool>{}( static_cast<VkQueryPool>( queryPool ) );
12987     }
12988   };
12989 
12990   template <>
12991   struct hash<VULKAN_HPP_NAMESPACE::Queue>
12992   {
operator ()std::hash12993     std::size_t operator()( VULKAN_HPP_NAMESPACE::Queue const & queue ) const VULKAN_HPP_NOEXCEPT
12994     {
12995       return std::hash<VkQueue>{}( static_cast<VkQueue>( queue ) );
12996     }
12997   };
12998 
12999   template <>
13000   struct hash<VULKAN_HPP_NAMESPACE::RenderPass>
13001   {
operator ()std::hash13002     std::size_t operator()( VULKAN_HPP_NAMESPACE::RenderPass const & renderPass ) const VULKAN_HPP_NOEXCEPT
13003     {
13004       return std::hash<VkRenderPass>{}( static_cast<VkRenderPass>( renderPass ) );
13005     }
13006   };
13007 
13008   template <>
13009   struct hash<VULKAN_HPP_NAMESPACE::Sampler>
13010   {
operator ()std::hash13011     std::size_t operator()( VULKAN_HPP_NAMESPACE::Sampler const & sampler ) const VULKAN_HPP_NOEXCEPT
13012     {
13013       return std::hash<VkSampler>{}( static_cast<VkSampler>( sampler ) );
13014     }
13015   };
13016 
13017   template <>
13018   struct hash<VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion>
13019   {
operator ()std::hash13020     std::size_t operator()( VULKAN_HPP_NAMESPACE::SamplerYcbcrConversion const & samplerYcbcrConversion ) const
13021       VULKAN_HPP_NOEXCEPT
13022     {
13023       return std::hash<VkSamplerYcbcrConversion>{}( static_cast<VkSamplerYcbcrConversion>( samplerYcbcrConversion ) );
13024     }
13025   };
13026 
13027   template <>
13028   struct hash<VULKAN_HPP_NAMESPACE::Semaphore>
13029   {
operator ()std::hash13030     std::size_t operator()( VULKAN_HPP_NAMESPACE::Semaphore const & semaphore ) const VULKAN_HPP_NOEXCEPT
13031     {
13032       return std::hash<VkSemaphore>{}( static_cast<VkSemaphore>( semaphore ) );
13033     }
13034   };
13035 
13036   template <>
13037   struct hash<VULKAN_HPP_NAMESPACE::ShaderModule>
13038   {
operator ()std::hash13039     std::size_t operator()( VULKAN_HPP_NAMESPACE::ShaderModule const & shaderModule ) const VULKAN_HPP_NOEXCEPT
13040     {
13041       return std::hash<VkShaderModule>{}( static_cast<VkShaderModule>( shaderModule ) );
13042     }
13043   };
13044 
13045   template <>
13046   struct hash<VULKAN_HPP_NAMESPACE::SurfaceKHR>
13047   {
operator ()std::hash13048     std::size_t operator()( VULKAN_HPP_NAMESPACE::SurfaceKHR const & surfaceKHR ) const VULKAN_HPP_NOEXCEPT
13049     {
13050       return std::hash<VkSurfaceKHR>{}( static_cast<VkSurfaceKHR>( surfaceKHR ) );
13051     }
13052   };
13053 
13054   template <>
13055   struct hash<VULKAN_HPP_NAMESPACE::SwapchainKHR>
13056   {
operator ()std::hash13057     std::size_t operator()( VULKAN_HPP_NAMESPACE::SwapchainKHR const & swapchainKHR ) const VULKAN_HPP_NOEXCEPT
13058     {
13059       return std::hash<VkSwapchainKHR>{}( static_cast<VkSwapchainKHR>( swapchainKHR ) );
13060     }
13061   };
13062 
13063   template <>
13064   struct hash<VULKAN_HPP_NAMESPACE::ValidationCacheEXT>
13065   {
13066     std::size_t
operator ()std::hash13067       operator()( VULKAN_HPP_NAMESPACE::ValidationCacheEXT const & validationCacheEXT ) const VULKAN_HPP_NOEXCEPT
13068     {
13069       return std::hash<VkValidationCacheEXT>{}( static_cast<VkValidationCacheEXT>( validationCacheEXT ) );
13070     }
13071   };
13072 
13073 #if defined( VK_ENABLE_BETA_EXTENSIONS )
13074   template <>
13075   struct hash<VULKAN_HPP_NAMESPACE::VideoSessionKHR>
13076   {
operator ()std::hash13077     std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionKHR const & videoSessionKHR ) const VULKAN_HPP_NOEXCEPT
13078     {
13079       return std::hash<VkVideoSessionKHR>{}( static_cast<VkVideoSessionKHR>( videoSessionKHR ) );
13080     }
13081   };
13082 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
13083 
13084 #if defined( VK_ENABLE_BETA_EXTENSIONS )
13085   template <>
13086   struct hash<VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR>
13087   {
operator ()std::hash13088     std::size_t operator()( VULKAN_HPP_NAMESPACE::VideoSessionParametersKHR const & videoSessionParametersKHR ) const
13089       VULKAN_HPP_NOEXCEPT
13090     {
13091       return std::hash<VkVideoSessionParametersKHR>{}(
13092         static_cast<VkVideoSessionParametersKHR>( videoSessionParametersKHR ) );
13093     }
13094   };
13095 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
13096 }  // namespace std
13097 #endif
13098