xref: /aosp_15_r20/external/swiftshader/include/vulkan/vulkan.hpp (revision 03ce13f70fcc45d86ee91b7ee4cab1936a95046e)
1 // Copyright 2015-2024 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 #include <algorithm>
12 #include <array>     // ArrayWrapperND
13 #include <string.h>  // strnlen
14 #include <string>    // std::string
15 #include <vulkan/vulkan.h>
16 #include <vulkan/vulkan_hpp_macros.hpp>
17 
18 #if 17 <= VULKAN_HPP_CPP_VERSION
19 #  include <string_view>
20 #endif
21 
22 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
23 #  include <tuple>   // std::tie
24 #  include <vector>  // std::vector
25 #endif
26 
27 #if !defined( VULKAN_HPP_NO_EXCEPTIONS )
28 #  include <system_error>  // std::is_error_code_enum
29 #endif
30 
31 #if ( VULKAN_HPP_ASSERT == assert )
32 #  include <cassert>
33 #endif
34 
35 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
36 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
37 #    include <dlfcn.h>
38 #  elif defined( _WIN32 ) && !defined( VULKAN_HPP_NO_WIN32_PROTOTYPES )
39 using HINSTANCE = struct HINSTANCE__ *;
40 #    if defined( _WIN64 )
41 using FARPROC   = int64_t( __stdcall * )();
42 #    else
43 using FARPROC = int( __stdcall * )();
44 #    endif
45 extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
46 extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
47 extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
48 #  endif
49 #endif
50 
51 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
52 #  include <compare>
53 #endif
54 
55 #if defined( VULKAN_HPP_SUPPORT_SPAN )
56 #  include <span>
57 #endif
58 
59 static_assert( VK_HEADER_VERSION == 286, "Wrong VK_HEADER_VERSION!" );
60 
61 // <tuple> includes <sys/sysmacros.h> through some other header
62 // this results in major(x) being resolved to gnu_dev_major(x)
63 // which is an expression in a constructor initializer list.
64 #if defined( major )
65 #  undef major
66 #endif
67 #if defined( minor )
68 #  undef minor
69 #endif
70 
71 // Windows defines MemoryBarrier which is deprecated and collides
72 // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
73 #if defined( MemoryBarrier )
74 #  undef MemoryBarrier
75 #endif
76 
77 // XLib.h defines True/False, which collides with our vk::True/vk::False
78 // ->  undef them and provide some namepace-secure constexpr
79 #if defined( True )
80 #  undef True
81 constexpr int True = 1;
82 #endif
83 #if defined( False )
84 #  undef False
85 constexpr int False = 0;
86 #endif
87 
88 namespace VULKAN_HPP_NAMESPACE
89 {
90   template <typename T, size_t N>
91   class ArrayWrapper1D : public std::array<T, N>
92   {
93   public:
ArrayWrapper1D()94     VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
95 
ArrayWrapper1D(std::array<T,N> const & data)96     VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data ) {}
97 
98     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
ArrayWrapper1D(std::string const & data)99     VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string const & data ) VULKAN_HPP_NOEXCEPT
100     {
101       copy( data.data(), data.length() );
102     }
103 
104 #if 17 <= VULKAN_HPP_CPP_VERSION
105     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
ArrayWrapper1D(std::string_view data)106     VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string_view data ) VULKAN_HPP_NOEXCEPT
107     {
108       copy( data.data(), data.length() );
109     }
110 #endif
111 
112 #if ( VK_USE_64_BIT_PTR_DEFINES == 0 )
113     // on 32 bit compiles, needs overloads on index type int to resolve ambiguities
operator [](int index) const114     VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
115     {
116       return std::array<T, N>::operator[]( index );
117     }
118 
operator [](int index)119     T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
120     {
121       return std::array<T, N>::operator[]( index );
122     }
123 #endif
124 
operator T const*() const125     operator T const *() const VULKAN_HPP_NOEXCEPT
126     {
127       return this->data();
128     }
129 
operator T*()130     operator T *() VULKAN_HPP_NOEXCEPT
131     {
132       return this->data();
133     }
134 
135     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string() const136     operator std::string() const
137     {
138       return std::string( this->data(), strnlen( this->data(), N ) );
139     }
140 
141 #if 17 <= VULKAN_HPP_CPP_VERSION
142     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string_view() const143     operator std::string_view() const
144     {
145       return std::string_view( this->data(), strnlen( this->data(), N ) );
146     }
147 #endif
148 
149 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
150     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator <=>(ArrayWrapper1D<char,N> const & rhs) const151     std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
152     {
153       return *static_cast<std::array<char, N> const *>( this ) <=> *static_cast<std::array<char, N> const *>( &rhs );
154     }
155 #else
156     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator <(ArrayWrapper1D<char,N> const & rhs) const157     bool operator<( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
158     {
159       return *static_cast<std::array<char, N> const *>( this ) < *static_cast<std::array<char, N> const *>( &rhs );
160     }
161 
162     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator <=(ArrayWrapper1D<char,N> const & rhs) const163     bool operator<=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
164     {
165       return *static_cast<std::array<char, N> const *>( this ) <= *static_cast<std::array<char, N> const *>( &rhs );
166     }
167 
168     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator >(ArrayWrapper1D<char,N> const & rhs) const169     bool operator>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
170     {
171       return *static_cast<std::array<char, N> const *>( this ) > *static_cast<std::array<char, N> const *>( &rhs );
172     }
173 
174     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator >=(ArrayWrapper1D<char,N> const & rhs) const175     bool operator>=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
176     {
177       return *static_cast<std::array<char, N> const *>( this ) >= *static_cast<std::array<char, N> const *>( &rhs );
178     }
179 #endif
180 
181     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator ==(ArrayWrapper1D<char,N> const & rhs) const182     bool operator==( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
183     {
184       return *static_cast<std::array<char, N> const *>( this ) == *static_cast<std::array<char, N> const *>( &rhs );
185     }
186 
187     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator !=(ArrayWrapper1D<char,N> const & rhs) const188     bool operator!=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
189     {
190       return *static_cast<std::array<char, N> const *>( this ) != *static_cast<std::array<char, N> const *>( &rhs );
191     }
192 
193   private:
copy(char const * data,size_t len)194     VULKAN_HPP_CONSTEXPR_14 void copy( char const * data, size_t len ) VULKAN_HPP_NOEXCEPT
195     {
196       size_t n = std::min( N, len );
197       for ( size_t i = 0; i < n; ++i )
198       {
199         ( *this )[i] = data[i];
200       }
201       for ( size_t i = n; i < N; ++i )
202       {
203         ( *this )[i] = 0;
204       }
205     }
206   };
207 
208   // specialization of relational operators between std::string and arrays of chars
209   template <size_t N>
operator <(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)210   bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
211   {
212     return lhs < rhs.data();
213   }
214 
215   template <size_t N>
operator <=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)216   bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
217   {
218     return lhs <= rhs.data();
219   }
220 
221   template <size_t N>
operator >(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)222   bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
223   {
224     return lhs > rhs.data();
225   }
226 
227   template <size_t N>
operator >=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)228   bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
229   {
230     return lhs >= rhs.data();
231   }
232 
233   template <size_t N>
operator ==(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)234   bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
235   {
236     return lhs == rhs.data();
237   }
238 
239   template <size_t N>
operator !=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)240   bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
241   {
242     return lhs != rhs.data();
243   }
244 
245   template <typename T, size_t N, size_t M>
246   class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
247   {
248   public:
ArrayWrapper2D()249     VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
250 
ArrayWrapper2D(std::array<std::array<T,M>,N> const & data)251     VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
252       : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
253     {
254     }
255   };
256 
257 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
258   template <typename T>
259   class ArrayProxy
260   {
261   public:
ArrayProxy()262     VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
263       : m_count( 0 )
264       , m_ptr( nullptr )
265     {
266     }
267 
ArrayProxy(std::nullptr_t)268     VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
269       : m_count( 0 )
270       , m_ptr( nullptr )
271     {
272     }
273 
ArrayProxy(T const & value)274     ArrayProxy( T const & value ) VULKAN_HPP_NOEXCEPT
275       : m_count( 1 )
276       , m_ptr( &value )
277     {
278     }
279 
ArrayProxy(uint32_t count,T const * ptr)280     ArrayProxy( uint32_t count, T const * ptr ) VULKAN_HPP_NOEXCEPT
281       : m_count( count )
282       , m_ptr( ptr )
283     {
284     }
285 
286     template <std::size_t C>
ArrayProxy(T const (& ptr)[C])287     ArrayProxy( T const ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
288       : m_count( C )
289       , m_ptr( ptr )
290     {
291     }
292 
293 #  if __GNUC__ >= 9
294 #    pragma GCC diagnostic push
295 #    pragma GCC diagnostic ignored "-Winit-list-lifetime"
296 #  endif
297 
ArrayProxy(std::initializer_list<T> const & list)298     ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
299       : m_count( static_cast<uint32_t>( list.size() ) )
300       , m_ptr( list.begin() )
301     {
302     }
303 
304     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)305     ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
306       : m_count( static_cast<uint32_t>( list.size() ) )
307       , m_ptr( list.begin() )
308     {
309     }
310 
311 #  if __GNUC__ >= 9
312 #    pragma GCC diagnostic pop
313 #  endif
314 
315     // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly
316     // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement.
317     template <typename V,
318               typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
319                                       std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
ArrayProxy(V const & v)320     ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT
321       : m_count( static_cast<uint32_t>( v.size() ) )
322       , m_ptr( v.data() )
323     {
324     }
325 
begin() const326     const T * begin() const VULKAN_HPP_NOEXCEPT
327     {
328       return m_ptr;
329     }
330 
end() const331     const T * end() const VULKAN_HPP_NOEXCEPT
332     {
333       return m_ptr + m_count;
334     }
335 
front() const336     const T & front() const VULKAN_HPP_NOEXCEPT
337     {
338       VULKAN_HPP_ASSERT( m_count && m_ptr );
339       return *m_ptr;
340     }
341 
back() const342     const T & back() const VULKAN_HPP_NOEXCEPT
343     {
344       VULKAN_HPP_ASSERT( m_count && m_ptr );
345       return *( m_ptr + m_count - 1 );
346     }
347 
empty() const348     bool empty() const VULKAN_HPP_NOEXCEPT
349     {
350       return ( m_count == 0 );
351     }
352 
size() const353     uint32_t size() const VULKAN_HPP_NOEXCEPT
354     {
355       return m_count;
356     }
357 
data() const358     T const * data() const VULKAN_HPP_NOEXCEPT
359     {
360       return m_ptr;
361     }
362 
363   private:
364     uint32_t  m_count;
365     T const * m_ptr;
366   };
367 
368   template <typename T>
369   class ArrayProxyNoTemporaries
370   {
371   public:
ArrayProxyNoTemporaries()372     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
373       : m_count( 0 )
374       , m_ptr( nullptr )
375     {
376     }
377 
ArrayProxyNoTemporaries(std::nullptr_t)378     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
379       : m_count( 0 )
380       , m_ptr( nullptr )
381     {
382     }
383 
ArrayProxyNoTemporaries(T & value)384     ArrayProxyNoTemporaries( T & value ) VULKAN_HPP_NOEXCEPT
385       : m_count( 1 )
386       , m_ptr( &value )
387     {
388     }
389 
390     template <typename V>
391     ArrayProxyNoTemporaries( V && value ) = delete;
392 
393     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(typename std::remove_const<T>::type & value)394     ArrayProxyNoTemporaries( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
395       : m_count( 1 )
396       , m_ptr( &value )
397     {
398     }
399 
400     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
401     ArrayProxyNoTemporaries( typename std::remove_const<T>::type && value ) = delete;
402 
ArrayProxyNoTemporaries(uint32_t count,T * ptr)403     ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
404       : m_count( count )
405       , m_ptr( ptr )
406     {
407     }
408 
409     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)410     ArrayProxyNoTemporaries( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
411       : m_count( count )
412       , m_ptr( ptr )
413     {
414     }
415 
416     template <std::size_t C>
ArrayProxyNoTemporaries(T (& ptr)[C])417     ArrayProxyNoTemporaries( T ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
418       : m_count( C )
419       , m_ptr( ptr )
420     {
421     }
422 
423     template <std::size_t C>
424     ArrayProxyNoTemporaries( T ( &&ptr )[C] ) = delete;
425 
426     template <std::size_t C, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(typename std::remove_const<T>::type (& ptr)[C])427     ArrayProxyNoTemporaries( typename std::remove_const<T>::type ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
428       : m_count( C )
429       , m_ptr( ptr )
430     {
431     }
432 
433     template <std::size_t C, typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
434     ArrayProxyNoTemporaries( typename std::remove_const<T>::type ( &&ptr )[C] ) = delete;
435 
ArrayProxyNoTemporaries(std::initializer_list<T> const & list)436     ArrayProxyNoTemporaries( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
437       : m_count( static_cast<uint32_t>( list.size() ) )
438       , m_ptr( list.begin() )
439     {
440     }
441 
442     ArrayProxyNoTemporaries( std::initializer_list<T> const && 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> const & list)445     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
446       : m_count( static_cast<uint32_t>( list.size() ) )
447       , m_ptr( list.begin() )
448     {
449     }
450 
451     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
452     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const && list ) = delete;
453 
ArrayProxyNoTemporaries(std::initializer_list<T> & list)454     ArrayProxyNoTemporaries( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
455       : m_count( static_cast<uint32_t>( list.size() ) )
456       , m_ptr( list.begin() )
457     {
458     }
459 
460     ArrayProxyNoTemporaries( std::initializer_list<T> && list ) = delete;
461 
462     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)463     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
464       : m_count( static_cast<uint32_t>( list.size() ) )
465       , m_ptr( list.begin() )
466     {
467     }
468 
469     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
470     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list ) = delete;
471 
472     // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t.
473     template <typename V,
474               typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
475                                       std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
ArrayProxyNoTemporaries(V & v)476     ArrayProxyNoTemporaries( V & v ) VULKAN_HPP_NOEXCEPT
477       : m_count( static_cast<uint32_t>( v.size() ) )
478       , m_ptr( v.data() )
479     {
480     }
481 
begin() const482     const T * begin() const VULKAN_HPP_NOEXCEPT
483     {
484       return m_ptr;
485     }
486 
end() const487     const T * end() const VULKAN_HPP_NOEXCEPT
488     {
489       return m_ptr + m_count;
490     }
491 
front() const492     const T & front() const VULKAN_HPP_NOEXCEPT
493     {
494       VULKAN_HPP_ASSERT( m_count && m_ptr );
495       return *m_ptr;
496     }
497 
back() const498     const T & back() const VULKAN_HPP_NOEXCEPT
499     {
500       VULKAN_HPP_ASSERT( m_count && m_ptr );
501       return *( m_ptr + m_count - 1 );
502     }
503 
empty() const504     bool empty() const VULKAN_HPP_NOEXCEPT
505     {
506       return ( m_count == 0 );
507     }
508 
size() const509     uint32_t size() const VULKAN_HPP_NOEXCEPT
510     {
511       return m_count;
512     }
513 
data() const514     T * data() const VULKAN_HPP_NOEXCEPT
515     {
516       return m_ptr;
517     }
518 
519   private:
520     uint32_t m_count;
521     T *      m_ptr;
522   };
523 
524   template <typename T>
525   class StridedArrayProxy : protected ArrayProxy<T>
526   {
527   public:
528     using ArrayProxy<T>::ArrayProxy;
529 
StridedArrayProxy(uint32_t count,T const * ptr,uint32_t stride)530     StridedArrayProxy( uint32_t count, T const * ptr, uint32_t stride ) VULKAN_HPP_NOEXCEPT
531       : ArrayProxy<T>( count, ptr )
532       , m_stride( stride )
533     {
534       VULKAN_HPP_ASSERT( sizeof( T ) <= stride );
535     }
536 
537     using ArrayProxy<T>::begin;
538 
end() const539     const T * end() const VULKAN_HPP_NOEXCEPT
540     {
541       return reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + size() * m_stride );
542     }
543 
544     using ArrayProxy<T>::front;
545 
back() const546     const T & back() const VULKAN_HPP_NOEXCEPT
547     {
548       VULKAN_HPP_ASSERT( begin() && size() );
549       return *reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + ( size() - 1 ) * m_stride );
550     }
551 
552     using ArrayProxy<T>::empty;
553     using ArrayProxy<T>::size;
554     using ArrayProxy<T>::data;
555 
stride() const556     uint32_t stride() const
557     {
558       return m_stride;
559     }
560 
561   private:
562     uint32_t m_stride = sizeof( T );
563   };
564 
565   template <typename RefType>
566   class Optional
567   {
568   public:
Optional(RefType & reference)569     Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
570     {
571       m_ptr = &reference;
572     }
573 
Optional(RefType * ptr)574     Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
575     {
576       m_ptr = ptr;
577     }
578 
Optional(std::nullptr_t)579     Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
580     {
581       m_ptr = nullptr;
582     }
583 
operator RefType*() const584     operator RefType *() const VULKAN_HPP_NOEXCEPT
585     {
586       return m_ptr;
587     }
588 
operator ->() const589     RefType const * operator->() const VULKAN_HPP_NOEXCEPT
590     {
591       return m_ptr;
592     }
593 
operator bool() const594     explicit operator bool() const VULKAN_HPP_NOEXCEPT
595     {
596       return !!m_ptr;
597     }
598 
599   private:
600     RefType * m_ptr;
601   };
602 
603   template <typename X, typename Y>
604   struct StructExtends
605   {
606     enum
607     {
608       value = false
609     };
610   };
611 
612   template <typename Type, class...>
613   struct IsPartOfStructureChain
614   {
615     static const bool valid = false;
616   };
617 
618   template <typename Type, typename Head, typename... Tail>
619   struct IsPartOfStructureChain<Type, Head, Tail...>
620   {
621     static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
622   };
623 
624   template <size_t Index, typename T, typename... ChainElements>
625   struct StructureChainContains
626   {
627     static const bool value = std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
628                               StructureChainContains<Index - 1, T, ChainElements...>::value;
629   };
630 
631   template <typename T, typename... ChainElements>
632   struct StructureChainContains<0, T, ChainElements...>
633   {
634     static const bool value = std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
635   };
636 
637   template <size_t Index, typename... ChainElements>
638   struct StructureChainValidation
639   {
640     using TestType          = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
641     static const bool valid = StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
642                               ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
643                               StructureChainValidation<Index - 1, ChainElements...>::valid;
644   };
645 
646   template <typename... ChainElements>
647   struct StructureChainValidation<0, ChainElements...>
648   {
649     static const bool valid = true;
650   };
651 
652   template <typename... ChainElements>
653   class StructureChain : public std::tuple<ChainElements...>
654   {
655   public:
StructureChain()656     StructureChain() VULKAN_HPP_NOEXCEPT
657     {
658       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
659       link<sizeof...( ChainElements ) - 1>();
660     }
661 
StructureChain(StructureChain const & rhs)662     StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
663     {
664       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
665       link( &std::get<0>( *this ),
666             &std::get<0>( rhs ),
667             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
668             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
669     }
670 
StructureChain(StructureChain && rhs)671     StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( std::forward<std::tuple<ChainElements...>>( rhs ) )
672     {
673       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
674       link( &std::get<0>( *this ),
675             &std::get<0>( rhs ),
676             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
677             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
678     }
679 
StructureChain(ChainElements const &...elems)680     StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
681     {
682       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
683       link<sizeof...( ChainElements ) - 1>();
684     }
685 
operator =(StructureChain const & rhs)686     StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
687     {
688       std::tuple<ChainElements...>::operator=( rhs );
689       link( &std::get<0>( *this ),
690             &std::get<0>( rhs ),
691             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
692             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
693       return *this;
694     }
695 
696     StructureChain & operator=( StructureChain && rhs ) = delete;
697 
698     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get()699     T & get() VULKAN_HPP_NOEXCEPT
700     {
701       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> &>( *this ) );
702     }
703 
704     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get() const705     T const & get() const VULKAN_HPP_NOEXCEPT
706     {
707       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> const &>( *this ) );
708     }
709 
710     template <typename T0, typename T1, typename... Ts>
get()711     std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
712     {
713       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
714     }
715 
716     template <typename T0, typename T1, typename... Ts>
get() const717     std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
718     {
719       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
720     }
721 
722     // assign a complete structure to the StructureChain without modifying the chaining
723     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
assign(const T & rhs)724     StructureChain & assign( const T & rhs ) VULKAN_HPP_NOEXCEPT
725     {
726       T &  lhs   = get<T, Which>();
727       auto pNext = lhs.pNext;
728       lhs        = rhs;
729       lhs.pNext  = pNext;
730       return *this;
731     }
732 
733     template <typename ClassType, size_t Which = 0>
734     typename std::enable_if<std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value && ( Which == 0 ), bool>::type
isLinked() const735       isLinked() const VULKAN_HPP_NOEXCEPT
736     {
737       return true;
738     }
739 
740     template <typename ClassType, size_t Which = 0>
741     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type
isLinked() const742       isLinked() const VULKAN_HPP_NOEXCEPT
743     {
744       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
745       return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
746     }
747 
748     template <typename ClassType, size_t Which = 0>
749     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
relink()750       relink() VULKAN_HPP_NOEXCEPT
751     {
752       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" );
753       auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
754       VULKAN_HPP_ASSERT( !isLinked( pNext ) );
755       auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
756       pNext->pNext       = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
757       headElement.pNext  = pNext;
758     }
759 
760     template <typename ClassType, size_t Which = 0>
761     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
unlink()762       unlink() VULKAN_HPP_NOEXCEPT
763     {
764       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
765       unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
766     }
767 
768   private:
769     template <int Index, typename T, int Which, typename, class First, class... Types>
770     struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
771     {
772     };
773 
774     template <int Index, typename T, int Which, class First, class... Types>
775     struct ChainElementIndex<Index, T, Which, typename std::enable_if<!std::is_same<T, First>::value, void>::type, First, Types...>
776       : ChainElementIndex<Index + 1, T, Which, void, Types...>
777     {
778     };
779 
780     template <int Index, typename T, int Which, class First, class... Types>
781     struct ChainElementIndex<Index, T, Which, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
782       : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
783     {
784     };
785 
786     template <int Index, typename T, class First, class... Types>
787     struct ChainElementIndex<Index, T, 0, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
788       : std::integral_constant<int, Index>
789     {
790     };
791 
isLinked(VkBaseInStructure const * pNext) const792     bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEXCEPT
793     {
794       VkBaseInStructure const * elementPtr =
795         reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( static_cast<std::tuple<ChainElements...> const &>( *this ) ) );
796       while ( elementPtr )
797       {
798         if ( elementPtr->pNext == pNext )
799         {
800           return true;
801         }
802         elementPtr = elementPtr->pNext;
803       }
804       return false;
805     }
806 
807     template <size_t Index>
link()808     typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
809     {
810       auto & x = std::get<Index - 1>( static_cast<std::tuple<ChainElements...> &>( *this ) );
811       x.pNext  = &std::get<Index>( static_cast<std::tuple<ChainElements...> &>( *this ) );
812       link<Index - 1>();
813     }
814 
815     template <size_t Index>
link()816     typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
817     {
818     }
819 
link(void * dstBase,void const * srcBase,VkBaseOutStructure * dst,VkBaseInStructure const * src)820     void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
821     {
822       while ( src->pNext )
823       {
824         std::ptrdiff_t offset = reinterpret_cast<char const *>( src->pNext ) - reinterpret_cast<char const *>( srcBase );
825         dst->pNext            = reinterpret_cast<VkBaseOutStructure *>( reinterpret_cast<char *>( dstBase ) + offset );
826         dst                   = dst->pNext;
827         src                   = src->pNext;
828       }
829       dst->pNext = nullptr;
830     }
831 
unlink(VkBaseOutStructure const * pNext)832     void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
833     {
834       VkBaseOutStructure * elementPtr = reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ) );
835       while ( elementPtr && ( elementPtr->pNext != pNext ) )
836       {
837         elementPtr = elementPtr->pNext;
838       }
839       if ( elementPtr )
840       {
841         elementPtr->pNext = pNext->pNext;
842       }
843       else
844       {
845         VULKAN_HPP_ASSERT( false );  // fires, if the ClassType member has already been unlinked !
846       }
847     }
848   };
849 
850   // interupt the VULKAN_HPP_NAMESPACE for a moment to add specializations of std::tuple_size and std::tuple_element for the StructureChain!
851 }
852 
853 namespace std
854 {
855   template <typename... Elements>
856   struct tuple_size<VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
857   {
858     static constexpr size_t value = std::tuple_size<std::tuple<Elements...>>::value;
859   };
860 
861   template <std::size_t Index, typename... Elements>
862   struct tuple_element<Index, VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
863   {
864     using type = typename std::tuple_element<Index, std::tuple<Elements...>>::type;
865   };
866 }  // namespace std
867 
868 namespace VULKAN_HPP_NAMESPACE
869 {
870 
871 #  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
872   template <typename Type, typename Dispatch>
873   class UniqueHandleTraits;
874 
875   template <typename Type, typename Dispatch>
876   class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
877   {
878   private:
879     using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
880 
881   public:
882     using element_type = Type;
883 
UniqueHandle()884     UniqueHandle() : Deleter(), m_value() {}
885 
UniqueHandle(Type const & value,Deleter const & deleter=Deleter ())886     explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
887       : Deleter( deleter )
888       , m_value( value )
889     {
890     }
891 
892     UniqueHandle( UniqueHandle const & ) = delete;
893 
UniqueHandle(UniqueHandle && other)894     UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
895       : Deleter( std::move( static_cast<Deleter &>( other ) ) )
896       , m_value( other.release() )
897     {
898     }
899 
~UniqueHandle()900     ~UniqueHandle() VULKAN_HPP_NOEXCEPT
901     {
902       if ( m_value )
903       {
904         this->destroy( m_value );
905       }
906     }
907 
908     UniqueHandle & operator=( UniqueHandle const & ) = delete;
909 
operator =(UniqueHandle && other)910     UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
911     {
912       reset( other.release() );
913       *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
914       return *this;
915     }
916 
operator bool() const917     explicit operator bool() const VULKAN_HPP_NOEXCEPT
918     {
919       return m_value.operator bool();
920     }
921 
922 #    if defined( VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST )
operator Type() const923     operator Type() const VULKAN_HPP_NOEXCEPT
924     {
925       return m_value;
926     }
927 #    endif
928 
operator ->() const929     Type const * operator->() const VULKAN_HPP_NOEXCEPT
930     {
931       return &m_value;
932     }
933 
operator ->()934     Type * operator->() VULKAN_HPP_NOEXCEPT
935     {
936       return &m_value;
937     }
938 
operator *() const939     Type const & operator*() const VULKAN_HPP_NOEXCEPT
940     {
941       return m_value;
942     }
943 
operator *()944     Type & operator*() VULKAN_HPP_NOEXCEPT
945     {
946       return m_value;
947     }
948 
get() const949     const Type & get() const VULKAN_HPP_NOEXCEPT
950     {
951       return m_value;
952     }
953 
get()954     Type & get() VULKAN_HPP_NOEXCEPT
955     {
956       return m_value;
957     }
958 
reset(Type const & value=Type ())959     void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
960     {
961       if ( m_value != value )
962       {
963         if ( m_value )
964         {
965           this->destroy( m_value );
966         }
967         m_value = value;
968       }
969     }
970 
release()971     Type release() VULKAN_HPP_NOEXCEPT
972     {
973       Type value = m_value;
974       m_value    = nullptr;
975       return value;
976     }
977 
swap(UniqueHandle<Type,Dispatch> & rhs)978     void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
979     {
980       std::swap( m_value, rhs.m_value );
981       std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
982     }
983 
984   private:
985     Type m_value;
986   };
987 
988   template <typename UniqueType>
uniqueToRaw(std::vector<UniqueType> const & handles)989   VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type> uniqueToRaw( std::vector<UniqueType> const & handles )
990   {
991     std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
992     std::transform( handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
993     return newBuffer;
994   }
995 
996   template <typename Type, typename Dispatch>
swap(UniqueHandle<Type,Dispatch> & lhs,UniqueHandle<Type,Dispatch> & rhs)997   VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs, UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
998   {
999     lhs.swap( rhs );
1000   }
1001 #  endif
1002 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
1003 
1004   class DispatchLoaderBase
1005   {
1006   public:
1007     DispatchLoaderBase() = default;
DispatchLoaderBase(std::nullptr_t)1008     DispatchLoaderBase( std::nullptr_t )
1009 #if !defined( NDEBUG )
1010       : m_valid( false )
1011 #endif
1012     {
1013     }
1014 
1015 #if !defined( NDEBUG )
getVkHeaderVersion() const1016     size_t getVkHeaderVersion() const
1017     {
1018       VULKAN_HPP_ASSERT( m_valid );
1019       return vkHeaderVersion;
1020     }
1021 
1022   private:
1023     size_t vkHeaderVersion = VK_HEADER_VERSION;
1024     bool   m_valid         = true;
1025 #endif
1026   };
1027 
1028 #if !defined( VK_NO_PROTOTYPES )
1029   class DispatchLoaderStatic : public DispatchLoaderBase
1030   {
1031   public:
1032     //=== VK_VERSION_1_0 ===
1033 
1034     VkResult
vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance) const1035       vkCreateInstance( const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance ) const VULKAN_HPP_NOEXCEPT
1036     {
1037       return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
1038     }
1039 
vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator) const1040     void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1041     {
1042       return ::vkDestroyInstance( instance, pAllocator );
1043     }
1044 
vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices) const1045     VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
1046     {
1047       return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
1048     }
1049 
vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures) const1050     void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
1051     {
1052       return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
1053     }
1054 
1055     void
vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties) const1056       vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
1057     {
1058       return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
1059     }
1060 
vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties) const1061     VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
1062                                                        VkFormat                  format,
1063                                                        VkImageType               type,
1064                                                        VkImageTiling             tiling,
1065                                                        VkImageUsageFlags         usage,
1066                                                        VkImageCreateFlags        flags,
1067                                                        VkImageFormatProperties * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
1068     {
1069       return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
1070     }
1071 
vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties) const1072     void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1073     {
1074       return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
1075     }
1076 
vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties) const1077     void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
1078                                                    uint32_t *                pQueueFamilyPropertyCount,
1079                                                    VkQueueFamilyProperties * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
1080     {
1081       return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
1082     }
1083 
vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties) const1084     void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
1085     {
1086       return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
1087     }
1088 
vkGetInstanceProcAddr(VkInstance instance,const char * pName) const1089     PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
1090     {
1091       return ::vkGetInstanceProcAddr( instance, pName );
1092     }
1093 
vkGetDeviceProcAddr(VkDevice device,const char * pName) const1094     PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
1095     {
1096       return ::vkGetDeviceProcAddr( device, pName );
1097     }
1098 
vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice) const1099     VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
1100                              const VkDeviceCreateInfo *    pCreateInfo,
1101                              const VkAllocationCallbacks * pAllocator,
1102                              VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
1103     {
1104       return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
1105     }
1106 
vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator) const1107     void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1108     {
1109       return ::vkDestroyDevice( device, pAllocator );
1110     }
1111 
vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1112     VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
1113                                                      uint32_t *              pPropertyCount,
1114                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1115     {
1116       return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
1117     }
1118 
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1119     VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
1120                                                    const char *            pLayerName,
1121                                                    uint32_t *              pPropertyCount,
1122                                                    VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1123     {
1124       return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
1125     }
1126 
vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1127     VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1128     {
1129       return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
1130     }
1131 
1132     VkResult
vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1133       vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1134     {
1135       return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
1136     }
1137 
vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue) const1138     void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
1139     {
1140       return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
1141     }
1142 
vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence) const1143     VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1144     {
1145       return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
1146     }
1147 
vkQueueWaitIdle(VkQueue queue) const1148     VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
1149     {
1150       return ::vkQueueWaitIdle( queue );
1151     }
1152 
vkDeviceWaitIdle(VkDevice device) const1153     VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
1154     {
1155       return ::vkDeviceWaitIdle( device );
1156     }
1157 
vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory) const1158     VkResult vkAllocateMemory( VkDevice                      device,
1159                                const VkMemoryAllocateInfo *  pAllocateInfo,
1160                                const VkAllocationCallbacks * pAllocator,
1161                                VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
1162     {
1163       return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
1164     }
1165 
vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator) const1166     void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1167     {
1168       return ::vkFreeMemory( device, memory, pAllocator );
1169     }
1170 
vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData) const1171     VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData ) const
1172       VULKAN_HPP_NOEXCEPT
1173     {
1174       return ::vkMapMemory( device, memory, offset, size, flags, ppData );
1175     }
1176 
vkUnmapMemory(VkDevice device,VkDeviceMemory memory) const1177     void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
1178     {
1179       return ::vkUnmapMemory( device, memory );
1180     }
1181 
vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1182     VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1183     {
1184       return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1185     }
1186 
vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1187     VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1188     {
1189       return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1190     }
1191 
vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes) const1192     void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
1193     {
1194       return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
1195     }
1196 
vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1197     VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1198     {
1199       return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
1200     }
1201 
vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1202     VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1203     {
1204       return ::vkBindImageMemory( device, image, memory, memoryOffset );
1205     }
1206 
vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements) const1207     void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1208     {
1209       return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
1210     }
1211 
vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements) const1212     void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1213     {
1214       return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
1215     }
1216 
vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements) const1217     void vkGetImageSparseMemoryRequirements( VkDevice                          device,
1218                                              VkImage                           image,
1219                                              uint32_t *                        pSparseMemoryRequirementCount,
1220                                              VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1221     {
1222       return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1223     }
1224 
vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties) const1225     void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
1226                                                          VkFormat                        format,
1227                                                          VkImageType                     type,
1228                                                          VkSampleCountFlagBits           samples,
1229                                                          VkImageUsageFlags               usage,
1230                                                          VkImageTiling                   tiling,
1231                                                          uint32_t *                      pPropertyCount,
1232                                                          VkSparseImageFormatProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1233     {
1234       return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
1235     }
1236 
vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence) const1237     VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1238     {
1239       return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
1240     }
1241 
vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const1242     VkResult vkCreateFence( VkDevice                      device,
1243                             const VkFenceCreateInfo *     pCreateInfo,
1244                             const VkAllocationCallbacks * pAllocator,
1245                             VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
1246     {
1247       return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
1248     }
1249 
vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator) const1250     void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1251     {
1252       return ::vkDestroyFence( device, fence, pAllocator );
1253     }
1254 
vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences) const1255     VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
1256     {
1257       return ::vkResetFences( device, fenceCount, pFences );
1258     }
1259 
vkGetFenceStatus(VkDevice device,VkFence fence) const1260     VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1261     {
1262       return ::vkGetFenceStatus( device, fence );
1263     }
1264 
vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout) const1265     VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
1266     {
1267       return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
1268     }
1269 
vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore) const1270     VkResult vkCreateSemaphore( VkDevice                      device,
1271                                 const VkSemaphoreCreateInfo * pCreateInfo,
1272                                 const VkAllocationCallbacks * pAllocator,
1273                                 VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
1274     {
1275       return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
1276     }
1277 
vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator) const1278     void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1279     {
1280       return ::vkDestroySemaphore( device, semaphore, pAllocator );
1281     }
1282 
vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent) const1283     VkResult vkCreateEvent( VkDevice                      device,
1284                             const VkEventCreateInfo *     pCreateInfo,
1285                             const VkAllocationCallbacks * pAllocator,
1286                             VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
1287     {
1288       return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
1289     }
1290 
vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator) const1291     void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1292     {
1293       return ::vkDestroyEvent( device, event, pAllocator );
1294     }
1295 
vkGetEventStatus(VkDevice device,VkEvent event) const1296     VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1297     {
1298       return ::vkGetEventStatus( device, event );
1299     }
1300 
vkSetEvent(VkDevice device,VkEvent event) const1301     VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1302     {
1303       return ::vkSetEvent( device, event );
1304     }
1305 
vkResetEvent(VkDevice device,VkEvent event) const1306     VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1307     {
1308       return ::vkResetEvent( device, event );
1309     }
1310 
vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool) const1311     VkResult vkCreateQueryPool( VkDevice                      device,
1312                                 const VkQueryPoolCreateInfo * pCreateInfo,
1313                                 const VkAllocationCallbacks * pAllocator,
1314                                 VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
1315     {
1316       return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
1317     }
1318 
vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator) const1319     void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1320     {
1321       return ::vkDestroyQueryPool( device, queryPool, pAllocator );
1322     }
1323 
vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags) const1324     VkResult vkGetQueryPoolResults( VkDevice           device,
1325                                     VkQueryPool        queryPool,
1326                                     uint32_t           firstQuery,
1327                                     uint32_t           queryCount,
1328                                     size_t             dataSize,
1329                                     void *             pData,
1330                                     VkDeviceSize       stride,
1331                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1332     {
1333       return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
1334     }
1335 
vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer) const1336     VkResult vkCreateBuffer( VkDevice                      device,
1337                              const VkBufferCreateInfo *    pCreateInfo,
1338                              const VkAllocationCallbacks * pAllocator,
1339                              VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
1340     {
1341       return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
1342     }
1343 
vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator) const1344     void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1345     {
1346       return ::vkDestroyBuffer( device, buffer, pAllocator );
1347     }
1348 
vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView) const1349     VkResult vkCreateBufferView( VkDevice                       device,
1350                                  const VkBufferViewCreateInfo * pCreateInfo,
1351                                  const VkAllocationCallbacks *  pAllocator,
1352                                  VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
1353     {
1354       return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
1355     }
1356 
vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator) const1357     void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1358     {
1359       return ::vkDestroyBufferView( device, bufferView, pAllocator );
1360     }
1361 
vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage) const1362     VkResult vkCreateImage( VkDevice                      device,
1363                             const VkImageCreateInfo *     pCreateInfo,
1364                             const VkAllocationCallbacks * pAllocator,
1365                             VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
1366     {
1367       return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
1368     }
1369 
vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator) const1370     void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1371     {
1372       return ::vkDestroyImage( device, image, pAllocator );
1373     }
1374 
vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout) const1375     void vkGetImageSubresourceLayout( VkDevice                   device,
1376                                       VkImage                    image,
1377                                       const VkImageSubresource * pSubresource,
1378                                       VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
1379     {
1380       return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
1381     }
1382 
vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView) const1383     VkResult vkCreateImageView( VkDevice                      device,
1384                                 const VkImageViewCreateInfo * pCreateInfo,
1385                                 const VkAllocationCallbacks * pAllocator,
1386                                 VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
1387     {
1388       return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
1389     }
1390 
vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator) const1391     void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1392     {
1393       return ::vkDestroyImageView( device, imageView, pAllocator );
1394     }
1395 
vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule) const1396     VkResult vkCreateShaderModule( VkDevice                         device,
1397                                    const VkShaderModuleCreateInfo * pCreateInfo,
1398                                    const VkAllocationCallbacks *    pAllocator,
1399                                    VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
1400     {
1401       return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
1402     }
1403 
vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator) const1404     void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1405     {
1406       return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
1407     }
1408 
vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache) const1409     VkResult vkCreatePipelineCache( VkDevice                          device,
1410                                     const VkPipelineCacheCreateInfo * pCreateInfo,
1411                                     const VkAllocationCallbacks *     pAllocator,
1412                                     VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
1413     {
1414       return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
1415     }
1416 
vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator) const1417     void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1418     {
1419       return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
1420     }
1421 
vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData) const1422     VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
1423     {
1424       return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
1425     }
1426 
1427     VkResult
vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches) const1428       vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
1429     {
1430       return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
1431     }
1432 
vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1433     VkResult vkCreateGraphicsPipelines( VkDevice                             device,
1434                                         VkPipelineCache                      pipelineCache,
1435                                         uint32_t                             createInfoCount,
1436                                         const VkGraphicsPipelineCreateInfo * pCreateInfos,
1437                                         const VkAllocationCallbacks *        pAllocator,
1438                                         VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
1439     {
1440       return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1441     }
1442 
vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1443     VkResult vkCreateComputePipelines( VkDevice                            device,
1444                                        VkPipelineCache                     pipelineCache,
1445                                        uint32_t                            createInfoCount,
1446                                        const VkComputePipelineCreateInfo * pCreateInfos,
1447                                        const VkAllocationCallbacks *       pAllocator,
1448                                        VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
1449     {
1450       return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1451     }
1452 
vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator) const1453     void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1454     {
1455       return ::vkDestroyPipeline( device, pipeline, pAllocator );
1456     }
1457 
vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout) const1458     VkResult vkCreatePipelineLayout( VkDevice                           device,
1459                                      const VkPipelineLayoutCreateInfo * pCreateInfo,
1460                                      const VkAllocationCallbacks *      pAllocator,
1461                                      VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
1462     {
1463       return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
1464     }
1465 
vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator) const1466     void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1467     {
1468       return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
1469     }
1470 
vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler) const1471     VkResult vkCreateSampler( VkDevice                      device,
1472                               const VkSamplerCreateInfo *   pCreateInfo,
1473                               const VkAllocationCallbacks * pAllocator,
1474                               VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
1475     {
1476       return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
1477     }
1478 
vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator) const1479     void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1480     {
1481       return ::vkDestroySampler( device, sampler, pAllocator );
1482     }
1483 
vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout) const1484     VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
1485                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
1486                                           const VkAllocationCallbacks *           pAllocator,
1487                                           VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
1488     {
1489       return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
1490     }
1491 
vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator) const1492     void vkDestroyDescriptorSetLayout( VkDevice                      device,
1493                                        VkDescriptorSetLayout         descriptorSetLayout,
1494                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1495     {
1496       return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
1497     }
1498 
vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool) const1499     VkResult vkCreateDescriptorPool( VkDevice                           device,
1500                                      const VkDescriptorPoolCreateInfo * pCreateInfo,
1501                                      const VkAllocationCallbacks *      pAllocator,
1502                                      VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
1503     {
1504       return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
1505     }
1506 
vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator) const1507     void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1508     {
1509       return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
1510     }
1511 
vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags) const1512     VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1513     {
1514       return ::vkResetDescriptorPool( device, descriptorPool, flags );
1515     }
1516 
vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets) const1517     VkResult vkAllocateDescriptorSets( VkDevice                            device,
1518                                        const VkDescriptorSetAllocateInfo * pAllocateInfo,
1519                                        VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1520     {
1521       return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
1522     }
1523 
vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets) const1524     VkResult vkFreeDescriptorSets( VkDevice                device,
1525                                    VkDescriptorPool        descriptorPool,
1526                                    uint32_t                descriptorSetCount,
1527                                    const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1528     {
1529       return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
1530     }
1531 
vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies) const1532     void vkUpdateDescriptorSets( VkDevice                     device,
1533                                  uint32_t                     descriptorWriteCount,
1534                                  const VkWriteDescriptorSet * pDescriptorWrites,
1535                                  uint32_t                     descriptorCopyCount,
1536                                  const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
1537     {
1538       return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
1539     }
1540 
vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer) const1541     VkResult vkCreateFramebuffer( VkDevice                        device,
1542                                   const VkFramebufferCreateInfo * pCreateInfo,
1543                                   const VkAllocationCallbacks *   pAllocator,
1544                                   VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
1545     {
1546       return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
1547     }
1548 
vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator) const1549     void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1550     {
1551       return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
1552     }
1553 
vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const1554     VkResult vkCreateRenderPass( VkDevice                       device,
1555                                  const VkRenderPassCreateInfo * pCreateInfo,
1556                                  const VkAllocationCallbacks *  pAllocator,
1557                                  VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
1558     {
1559       return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
1560     }
1561 
vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator) const1562     void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1563     {
1564       return ::vkDestroyRenderPass( device, renderPass, pAllocator );
1565     }
1566 
vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity) const1567     void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
1568     {
1569       return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
1570     }
1571 
vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool) const1572     VkResult vkCreateCommandPool( VkDevice                        device,
1573                                   const VkCommandPoolCreateInfo * pCreateInfo,
1574                                   const VkAllocationCallbacks *   pAllocator,
1575                                   VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
1576     {
1577       return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
1578     }
1579 
vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator) const1580     void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1581     {
1582       return ::vkDestroyCommandPool( device, commandPool, pAllocator );
1583     }
1584 
vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags) const1585     VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1586     {
1587       return ::vkResetCommandPool( device, commandPool, flags );
1588     }
1589 
vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers) const1590     VkResult vkAllocateCommandBuffers( VkDevice                            device,
1591                                        const VkCommandBufferAllocateInfo * pAllocateInfo,
1592                                        VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1593     {
1594       return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
1595     }
1596 
vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1597     void vkFreeCommandBuffers( VkDevice                device,
1598                                VkCommandPool           commandPool,
1599                                uint32_t                commandBufferCount,
1600                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1601     {
1602       return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
1603     }
1604 
vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo) const1605     VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
1606     {
1607       return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
1608     }
1609 
vkEndCommandBuffer(VkCommandBuffer commandBuffer) const1610     VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1611     {
1612       return ::vkEndCommandBuffer( commandBuffer );
1613     }
1614 
vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags) const1615     VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1616     {
1617       return ::vkResetCommandBuffer( commandBuffer, flags );
1618     }
1619 
vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const1620     void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
1621     {
1622       return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
1623     }
1624 
1625     void
vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports) const1626       vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
1627     {
1628       return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
1629     }
1630 
vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors) const1631     void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
1632     {
1633       return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
1634     }
1635 
vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth) const1636     void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
1637     {
1638       return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
1639     }
1640 
vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const1641     void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
1642                             float           depthBiasConstantFactor,
1643                             float           depthBiasClamp,
1644                             float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
1645     {
1646       return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
1647     }
1648 
vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4]) const1649     void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
1650     {
1651       return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
1652     }
1653 
vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds) const1654     void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
1655     {
1656       return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
1657     }
1658 
vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask) const1659     void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT
1660     {
1661       return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
1662     }
1663 
vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask) const1664     void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT
1665     {
1666       return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
1667     }
1668 
vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference) const1669     void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT
1670     {
1671       return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
1672     }
1673 
vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets) const1674     void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
1675                                   VkPipelineBindPoint     pipelineBindPoint,
1676                                   VkPipelineLayout        layout,
1677                                   uint32_t                firstSet,
1678                                   uint32_t                descriptorSetCount,
1679                                   const VkDescriptorSet * pDescriptorSets,
1680                                   uint32_t                dynamicOffsetCount,
1681                                   const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
1682     {
1683       return ::vkCmdBindDescriptorSets(
1684         commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
1685     }
1686 
vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType) const1687     void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const VULKAN_HPP_NOEXCEPT
1688     {
1689       return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
1690     }
1691 
vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets) const1692     void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
1693                                  uint32_t             firstBinding,
1694                                  uint32_t             bindingCount,
1695                                  const VkBuffer *     pBuffers,
1696                                  const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
1697     {
1698       return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
1699     }
1700 
vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const1701     void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
1702       VULKAN_HPP_NOEXCEPT
1703     {
1704       return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
1705     }
1706 
vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const1707     void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
1708                            uint32_t        indexCount,
1709                            uint32_t        instanceCount,
1710                            uint32_t        firstIndex,
1711                            int32_t         vertexOffset,
1712                            uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
1713     {
1714       return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
1715     }
1716 
vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1717     void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT
1718     {
1719       return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
1720     }
1721 
vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1722     void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1723       VULKAN_HPP_NOEXCEPT
1724     {
1725       return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
1726     }
1727 
vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1728     void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
1729     {
1730       return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
1731     }
1732 
vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const1733     void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
1734     {
1735       return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
1736     }
1737 
vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions) const1738     void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions ) const
1739       VULKAN_HPP_NOEXCEPT
1740     {
1741       return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
1742     }
1743 
vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions) const1744     void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
1745                          VkImage             srcImage,
1746                          VkImageLayout       srcImageLayout,
1747                          VkImage             dstImage,
1748                          VkImageLayout       dstImageLayout,
1749                          uint32_t            regionCount,
1750                          const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1751     {
1752       return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1753     }
1754 
vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter) const1755     void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
1756                          VkImage             srcImage,
1757                          VkImageLayout       srcImageLayout,
1758                          VkImage             dstImage,
1759                          VkImageLayout       dstImageLayout,
1760                          uint32_t            regionCount,
1761                          const VkImageBlit * pRegions,
1762                          VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
1763     {
1764       return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
1765     }
1766 
vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1767     void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
1768                                  VkBuffer                  srcBuffer,
1769                                  VkImage                   dstImage,
1770                                  VkImageLayout             dstImageLayout,
1771                                  uint32_t                  regionCount,
1772                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1773     {
1774       return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
1775     }
1776 
vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1777     void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
1778                                  VkImage                   srcImage,
1779                                  VkImageLayout             srcImageLayout,
1780                                  VkBuffer                  dstBuffer,
1781                                  uint32_t                  regionCount,
1782                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1783     {
1784       return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
1785     }
1786 
vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData) const1787     void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData ) const
1788       VULKAN_HPP_NOEXCEPT
1789     {
1790       return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
1791     }
1792 
1793     void
vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data) const1794       vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT
1795     {
1796       return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
1797     }
1798 
vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1799     void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
1800                                VkImage                         image,
1801                                VkImageLayout                   imageLayout,
1802                                const VkClearColorValue *       pColor,
1803                                uint32_t                        rangeCount,
1804                                const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
1805     {
1806       return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
1807     }
1808 
vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1809     void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
1810                                       VkImage                          image,
1811                                       VkImageLayout                    imageLayout,
1812                                       const VkClearDepthStencilValue * pDepthStencil,
1813                                       uint32_t                         rangeCount,
1814                                       const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
1815     {
1816       return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
1817     }
1818 
vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects) const1819     void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
1820                                 uint32_t                  attachmentCount,
1821                                 const VkClearAttachment * pAttachments,
1822                                 uint32_t                  rectCount,
1823                                 const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
1824     {
1825       return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
1826     }
1827 
vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions) const1828     void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
1829                             VkImage                srcImage,
1830                             VkImageLayout          srcImageLayout,
1831                             VkImage                dstImage,
1832                             VkImageLayout          dstImageLayout,
1833                             uint32_t               regionCount,
1834                             const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
1835     {
1836       return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1837     }
1838 
vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1839     void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1840     {
1841       return ::vkCmdSetEvent( commandBuffer, event, stageMask );
1842     }
1843 
vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1844     void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1845     {
1846       return ::vkCmdResetEvent( commandBuffer, event, stageMask );
1847     }
1848 
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) const1849     void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
1850                           uint32_t                      eventCount,
1851                           const VkEvent *               pEvents,
1852                           VkPipelineStageFlags          srcStageMask,
1853                           VkPipelineStageFlags          dstStageMask,
1854                           uint32_t                      memoryBarrierCount,
1855                           const VkMemoryBarrier *       pMemoryBarriers,
1856                           uint32_t                      bufferMemoryBarrierCount,
1857                           const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1858                           uint32_t                      imageMemoryBarrierCount,
1859                           const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1860     {
1861       return ::vkCmdWaitEvents( commandBuffer,
1862                                 eventCount,
1863                                 pEvents,
1864                                 srcStageMask,
1865                                 dstStageMask,
1866                                 memoryBarrierCount,
1867                                 pMemoryBarriers,
1868                                 bufferMemoryBarrierCount,
1869                                 pBufferMemoryBarriers,
1870                                 imageMemoryBarrierCount,
1871                                 pImageMemoryBarriers );
1872     }
1873 
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) const1874     void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
1875                                VkPipelineStageFlags          srcStageMask,
1876                                VkPipelineStageFlags          dstStageMask,
1877                                VkDependencyFlags             dependencyFlags,
1878                                uint32_t                      memoryBarrierCount,
1879                                const VkMemoryBarrier *       pMemoryBarriers,
1880                                uint32_t                      bufferMemoryBarrierCount,
1881                                const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1882                                uint32_t                      imageMemoryBarrierCount,
1883                                const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1884     {
1885       return ::vkCmdPipelineBarrier( commandBuffer,
1886                                      srcStageMask,
1887                                      dstStageMask,
1888                                      dependencyFlags,
1889                                      memoryBarrierCount,
1890                                      pMemoryBarriers,
1891                                      bufferMemoryBarrierCount,
1892                                      pBufferMemoryBarriers,
1893                                      imageMemoryBarrierCount,
1894                                      pImageMemoryBarriers );
1895     }
1896 
vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags) const1897     void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
1898     {
1899       return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
1900     }
1901 
vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query) const1902     void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
1903     {
1904       return ::vkCmdEndQuery( commandBuffer, queryPool, query );
1905     }
1906 
vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const1907     void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
1908     {
1909       return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
1910     }
1911 
vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query) const1912     void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
1913                               VkPipelineStageFlagBits pipelineStage,
1914                               VkQueryPool             queryPool,
1915                               uint32_t                query ) const VULKAN_HPP_NOEXCEPT
1916     {
1917       return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
1918     }
1919 
vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags) const1920     void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
1921                                     VkQueryPool        queryPool,
1922                                     uint32_t           firstQuery,
1923                                     uint32_t           queryCount,
1924                                     VkBuffer           dstBuffer,
1925                                     VkDeviceSize       dstOffset,
1926                                     VkDeviceSize       stride,
1927                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1928     {
1929       return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
1930     }
1931 
vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues) const1932     void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
1933                              VkPipelineLayout   layout,
1934                              VkShaderStageFlags stageFlags,
1935                              uint32_t           offset,
1936                              uint32_t           size,
1937                              const void *       pValues ) const VULKAN_HPP_NOEXCEPT
1938     {
1939       return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
1940     }
1941 
vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents) const1942     void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
1943                                const VkRenderPassBeginInfo * pRenderPassBegin,
1944                                VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
1945     {
1946       return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
1947     }
1948 
vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents) const1949     void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
1950     {
1951       return ::vkCmdNextSubpass( commandBuffer, contents );
1952     }
1953 
vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const1954     void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1955     {
1956       return ::vkCmdEndRenderPass( commandBuffer );
1957     }
1958 
vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1959     void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1960     {
1961       return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
1962     }
1963 
1964     //=== VK_VERSION_1_1 ===
1965 
vkEnumerateInstanceVersion(uint32_t * pApiVersion) const1966     VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
1967     {
1968       return ::vkEnumerateInstanceVersion( pApiVersion );
1969     }
1970 
vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const1971     VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1972     {
1973       return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
1974     }
1975 
vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const1976     VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1977     {
1978       return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
1979     }
1980 
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const1981     void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
1982                                              uint32_t                   heapIndex,
1983                                              uint32_t                   localDeviceIndex,
1984                                              uint32_t                   remoteDeviceIndex,
1985                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
1986     {
1987       return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
1988     }
1989 
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask) const1990     void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
1991     {
1992       return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
1993     }
1994 
vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1995     void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
1996                             uint32_t        baseGroupX,
1997                             uint32_t        baseGroupY,
1998                             uint32_t        baseGroupZ,
1999                             uint32_t        groupCountX,
2000                             uint32_t        groupCountY,
2001                             uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
2002     {
2003       return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
2004     }
2005 
vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const2006     VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
2007                                               uint32_t *                        pPhysicalDeviceGroupCount,
2008                                               VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
2009     {
2010       return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
2011     }
2012 
vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2013     void vkGetImageMemoryRequirements2( VkDevice                               device,
2014                                         const VkImageMemoryRequirementsInfo2 * pInfo,
2015                                         VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2016     {
2017       return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
2018     }
2019 
vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2020     void vkGetBufferMemoryRequirements2( VkDevice                                device,
2021                                          const VkBufferMemoryRequirementsInfo2 * pInfo,
2022                                          VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2023     {
2024       return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
2025     }
2026 
vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2027     void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
2028                                               const VkImageSparseMemoryRequirementsInfo2 * pInfo,
2029                                               uint32_t *                                   pSparseMemoryRequirementCount,
2030                                               VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2031     {
2032       return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2033     }
2034 
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const2035     void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
2036     {
2037       return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
2038     }
2039 
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const2040     void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
2041     {
2042       return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
2043     }
2044 
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const2045     void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
2046                                                VkFormat              format,
2047                                                VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
2048     {
2049       return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
2050     }
2051 
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const2052     VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
2053                                                         const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
2054                                                         VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
2055     {
2056       return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
2057     }
2058 
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const2059     void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
2060                                                     uint32_t *                 pQueueFamilyPropertyCount,
2061                                                     VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
2062     {
2063       return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
2064     }
2065 
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const2066     void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice                    physicalDevice,
2067                                                VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
2068     {
2069       return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
2070     }
2071 
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const2072     void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
2073                                                           const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
2074                                                           uint32_t *                                     pPropertyCount,
2075                                                           VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
2076     {
2077       return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
2078     }
2079 
vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const2080     void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
2081     {
2082       return ::vkTrimCommandPool( device, commandPool, flags );
2083     }
2084 
vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue) const2085     void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
2086     {
2087       return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
2088     }
2089 
vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const2090     VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
2091                                              const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
2092                                              const VkAllocationCallbacks *              pAllocator,
2093                                              VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
2094     {
2095       return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
2096     }
2097 
vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const2098     void vkDestroySamplerYcbcrConversion( VkDevice                      device,
2099                                           VkSamplerYcbcrConversion      ycbcrConversion,
2100                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2101     {
2102       return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
2103     }
2104 
vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const2105     VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
2106                                                const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
2107                                                const VkAllocationCallbacks *                pAllocator,
2108                                                VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
2109     {
2110       return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
2111     }
2112 
vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const2113     void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
2114                                             VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
2115                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2116     {
2117       return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
2118     }
2119 
vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const2120     void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
2121                                             VkDescriptorSet            descriptorSet,
2122                                             VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2123                                             const void *               pData ) const VULKAN_HPP_NOEXCEPT
2124     {
2125       return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
2126     }
2127 
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const2128     void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
2129                                                       const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
2130                                                       VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
2131     {
2132       return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
2133     }
2134 
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const2135     void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
2136                                                      const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
2137                                                      VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
2138     {
2139       return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
2140     }
2141 
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const2142     void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice                              physicalDevice,
2143                                                          const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
2144                                                          VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
2145     {
2146       return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
2147     }
2148 
vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const2149     void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
2150                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
2151                                           VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
2152     {
2153       return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
2154     }
2155 
2156     //=== VK_VERSION_1_2 ===
2157 
vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2158     void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
2159                                  VkBuffer        buffer,
2160                                  VkDeviceSize    offset,
2161                                  VkBuffer        countBuffer,
2162                                  VkDeviceSize    countBufferOffset,
2163                                  uint32_t        maxDrawCount,
2164                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2165     {
2166       return ::vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2167     }
2168 
vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2169     void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
2170                                         VkBuffer        buffer,
2171                                         VkDeviceSize    offset,
2172                                         VkBuffer        countBuffer,
2173                                         VkDeviceSize    countBufferOffset,
2174                                         uint32_t        maxDrawCount,
2175                                         uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2176     {
2177       return ::vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2178     }
2179 
vkCreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const2180     VkResult vkCreateRenderPass2( VkDevice                        device,
2181                                   const VkRenderPassCreateInfo2 * pCreateInfo,
2182                                   const VkAllocationCallbacks *   pAllocator,
2183                                   VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
2184     {
2185       return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
2186     }
2187 
vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const2188     void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
2189                                 const VkRenderPassBeginInfo * pRenderPassBegin,
2190                                 const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
2191     {
2192       return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
2193     }
2194 
vkCmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const2195     void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
2196                             const VkSubpassBeginInfo * pSubpassBeginInfo,
2197                             const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2198     {
2199       return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
2200     }
2201 
vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const2202     void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2203     {
2204       return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
2205     }
2206 
vkResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2207     void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
2208     {
2209       return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
2210     }
2211 
vkGetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const2212     VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
2213     {
2214       return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
2215     }
2216 
vkWaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const2217     VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
2218     {
2219       return ::vkWaitSemaphores( device, pWaitInfo, timeout );
2220     }
2221 
vkSignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const2222     VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
2223     {
2224       return ::vkSignalSemaphore( device, pSignalInfo );
2225     }
2226 
vkGetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2227     VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2228     {
2229       return ::vkGetBufferDeviceAddress( device, pInfo );
2230     }
2231 
vkGetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2232     uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2233     {
2234       return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
2235     }
2236 
vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const2237     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2238     {
2239       return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
2240     }
2241 
2242     //=== VK_VERSION_1_3 ===
2243 
vkGetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const2244     VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice                 physicalDevice,
2245                                                 uint32_t *                       pToolCount,
2246                                                 VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
2247     {
2248       return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
2249     }
2250 
vkCreatePrivateDataSlot(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const2251     VkResult vkCreatePrivateDataSlot( VkDevice                            device,
2252                                       const VkPrivateDataSlotCreateInfo * pCreateInfo,
2253                                       const VkAllocationCallbacks *       pAllocator,
2254                                       VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
2255     {
2256       return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
2257     }
2258 
vkDestroyPrivateDataSlot(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const2259     void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2260     {
2261       return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
2262     }
2263 
vkSetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const2264     VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
2265       VULKAN_HPP_NOEXCEPT
2266     {
2267       return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
2268     }
2269 
vkGetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const2270     void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
2271       VULKAN_HPP_NOEXCEPT
2272     {
2273       return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
2274     }
2275 
vkCmdSetEvent2(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const2276     void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2277     {
2278       return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
2279     }
2280 
vkCmdResetEvent2(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const2281     void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
2282     {
2283       return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
2284     }
2285 
vkCmdWaitEvents2(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const2286     void vkCmdWaitEvents2( VkCommandBuffer          commandBuffer,
2287                            uint32_t                 eventCount,
2288                            const VkEvent *          pEvents,
2289                            const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
2290     {
2291       return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
2292     }
2293 
vkCmdPipelineBarrier2(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const2294     void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2295     {
2296       return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
2297     }
2298 
vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const2299     void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
2300     {
2301       return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
2302     }
2303 
vkQueueSubmit2(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const2304     VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
2305     {
2306       return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
2307     }
2308 
vkCmdCopyBuffer2(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const2309     void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
2310     {
2311       return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
2312     }
2313 
vkCmdCopyImage2(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const2314     void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
2315     {
2316       return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
2317     }
2318 
vkCmdCopyBufferToImage2(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const2319     void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
2320     {
2321       return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
2322     }
2323 
vkCmdCopyImageToBuffer2(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const2324     void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
2325     {
2326       return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
2327     }
2328 
vkCmdBlitImage2(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const2329     void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
2330     {
2331       return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
2332     }
2333 
vkCmdResolveImage2(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const2334     void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
2335     {
2336       return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
2337     }
2338 
vkCmdBeginRendering(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2339     void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2340     {
2341       return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
2342     }
2343 
vkCmdEndRendering(VkCommandBuffer commandBuffer) const2344     void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2345     {
2346       return ::vkCmdEndRendering( commandBuffer );
2347     }
2348 
vkCmdSetCullMode(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const2349     void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
2350     {
2351       return ::vkCmdSetCullMode( commandBuffer, cullMode );
2352     }
2353 
vkCmdSetFrontFace(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const2354     void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
2355     {
2356       return ::vkCmdSetFrontFace( commandBuffer, frontFace );
2357     }
2358 
vkCmdSetPrimitiveTopology(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const2359     void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
2360     {
2361       return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
2362     }
2363 
vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const2364     void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
2365     {
2366       return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
2367     }
2368 
vkCmdSetScissorWithCount(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const2369     void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
2370     {
2371       return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
2372     }
2373 
vkCmdBindVertexBuffers2(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const2374     void vkCmdBindVertexBuffers2( VkCommandBuffer      commandBuffer,
2375                                   uint32_t             firstBinding,
2376                                   uint32_t             bindingCount,
2377                                   const VkBuffer *     pBuffers,
2378                                   const VkDeviceSize * pOffsets,
2379                                   const VkDeviceSize * pSizes,
2380                                   const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
2381     {
2382       return ::vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
2383     }
2384 
vkCmdSetDepthTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const2385     void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
2386     {
2387       return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
2388     }
2389 
vkCmdSetDepthWriteEnable(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const2390     void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
2391     {
2392       return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
2393     }
2394 
vkCmdSetDepthCompareOp(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const2395     void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
2396     {
2397       return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
2398     }
2399 
vkCmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const2400     void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
2401     {
2402       return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
2403     }
2404 
vkCmdSetStencilTestEnable(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const2405     void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
2406     {
2407       return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
2408     }
2409 
vkCmdSetStencilOp(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const2410     void vkCmdSetStencilOp( VkCommandBuffer    commandBuffer,
2411                             VkStencilFaceFlags faceMask,
2412                             VkStencilOp        failOp,
2413                             VkStencilOp        passOp,
2414                             VkStencilOp        depthFailOp,
2415                             VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
2416     {
2417       return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
2418     }
2419 
vkCmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const2420     void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
2421     {
2422       return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
2423     }
2424 
vkCmdSetDepthBiasEnable(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const2425     void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
2426     {
2427       return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
2428     }
2429 
vkCmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const2430     void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
2431     {
2432       return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
2433     }
2434 
vkGetDeviceBufferMemoryRequirements(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2435     void vkGetDeviceBufferMemoryRequirements( VkDevice                                 device,
2436                                               const VkDeviceBufferMemoryRequirements * pInfo,
2437                                               VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2438     {
2439       return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
2440     }
2441 
vkGetDeviceImageMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2442     void vkGetDeviceImageMemoryRequirements( VkDevice                                device,
2443                                              const VkDeviceImageMemoryRequirements * pInfo,
2444                                              VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2445     {
2446       return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
2447     }
2448 
vkGetDeviceImageSparseMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2449     void vkGetDeviceImageSparseMemoryRequirements( VkDevice                                device,
2450                                                    const VkDeviceImageMemoryRequirements * pInfo,
2451                                                    uint32_t *                              pSparseMemoryRequirementCount,
2452                                                    VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2453     {
2454       return ::vkGetDeviceImageSparseMemoryRequirements( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2455     }
2456 
2457     //=== VK_KHR_surface ===
2458 
vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator) const2459     void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2460     {
2461       return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
2462     }
2463 
vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported) const2464     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
2465                                                    uint32_t         queueFamilyIndex,
2466                                                    VkSurfaceKHR     surface,
2467                                                    VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
2468     {
2469       return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
2470     }
2471 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities) const2472     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
2473                                                         VkSurfaceKHR               surface,
2474                                                         VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
2475     {
2476       return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
2477     }
2478 
vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats) const2479     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
2480                                                    VkSurfaceKHR         surface,
2481                                                    uint32_t *           pSurfaceFormatCount,
2482                                                    VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
2483     {
2484       return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
2485     }
2486 
vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const2487     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
2488                                                         VkSurfaceKHR       surface,
2489                                                         uint32_t *         pPresentModeCount,
2490                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
2491     {
2492       return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
2493     }
2494 
2495     //=== VK_KHR_swapchain ===
2496 
vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain) const2497     VkResult vkCreateSwapchainKHR( VkDevice                         device,
2498                                    const VkSwapchainCreateInfoKHR * pCreateInfo,
2499                                    const VkAllocationCallbacks *    pAllocator,
2500                                    VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
2501     {
2502       return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
2503     }
2504 
vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator) const2505     void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2506     {
2507       return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
2508     }
2509 
vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages) const2510     VkResult vkGetSwapchainImagesKHR( VkDevice       device,
2511                                       VkSwapchainKHR swapchain,
2512                                       uint32_t *     pSwapchainImageCount,
2513                                       VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
2514     {
2515       return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
2516     }
2517 
vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex) const2518     VkResult vkAcquireNextImageKHR(
2519       VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2520     {
2521       return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
2522     }
2523 
vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo) const2524     VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
2525     {
2526       return ::vkQueuePresentKHR( queue, pPresentInfo );
2527     }
2528 
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) const2529     VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice                              device,
2530                                                      VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
2531     {
2532       return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
2533     }
2534 
2535     VkResult
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes) const2536       vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
2537     {
2538       return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
2539     }
2540 
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects) const2541     VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
2542                                                       VkSurfaceKHR     surface,
2543                                                       uint32_t *       pRectCount,
2544                                                       VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
2545     {
2546       return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
2547     }
2548 
vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex) const2549     VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2550     {
2551       return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
2552     }
2553 
2554     //=== VK_KHR_display ===
2555 
vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties) const2556     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
2557                                                       uint32_t *               pPropertyCount,
2558                                                       VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2559     {
2560       return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2561     }
2562 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties) const2563     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
2564                                                            uint32_t *                    pPropertyCount,
2565                                                            VkDisplayPlanePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2566     {
2567       return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2568     }
2569 
vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays) const2570     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
2571                                                     uint32_t         planeIndex,
2572                                                     uint32_t *       pDisplayCount,
2573                                                     VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
2574     {
2575       return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
2576     }
2577 
vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties) const2578     VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
2579                                             VkDisplayKHR                 display,
2580                                             uint32_t *                   pPropertyCount,
2581                                             VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2582     {
2583       return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
2584     }
2585 
vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode) const2586     VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
2587                                      VkDisplayKHR                       display,
2588                                      const VkDisplayModeCreateInfoKHR * pCreateInfo,
2589                                      const VkAllocationCallbacks *      pAllocator,
2590                                      VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
2591     {
2592       return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
2593     }
2594 
vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities) const2595     VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
2596                                                VkDisplayModeKHR                mode,
2597                                                uint32_t                        planeIndex,
2598                                                VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
2599     {
2600       return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
2601     }
2602 
vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2603     VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
2604                                              const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
2605                                              const VkAllocationCallbacks *         pAllocator,
2606                                              VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2607     {
2608       return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2609     }
2610 
2611     //=== VK_KHR_display_swapchain ===
2612 
vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains) const2613     VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
2614                                           uint32_t                         swapchainCount,
2615                                           const VkSwapchainCreateInfoKHR * pCreateInfos,
2616                                           const VkAllocationCallbacks *    pAllocator,
2617                                           VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
2618     {
2619       return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
2620     }
2621 
2622 #  if defined( VK_USE_PLATFORM_XLIB_KHR )
2623     //=== VK_KHR_xlib_surface ===
2624 
vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2625     VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
2626                                      const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
2627                                      const VkAllocationCallbacks *      pAllocator,
2628                                      VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
2629     {
2630       return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2631     }
2632 
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID) const2633     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
2634                                                             uint32_t         queueFamilyIndex,
2635                                                             Display *        dpy,
2636                                                             VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
2637     {
2638       return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
2639     }
2640 #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
2641 
2642 #  if defined( VK_USE_PLATFORM_XCB_KHR )
2643     //=== VK_KHR_xcb_surface ===
2644 
vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2645     VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
2646                                     const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
2647                                     const VkAllocationCallbacks *     pAllocator,
2648                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
2649     {
2650       return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2651     }
2652 
vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id) const2653     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
2654                                                            uint32_t           queueFamilyIndex,
2655                                                            xcb_connection_t * connection,
2656                                                            xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
2657     {
2658       return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
2659     }
2660 #  endif /*VK_USE_PLATFORM_XCB_KHR*/
2661 
2662 #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
2663     //=== VK_KHR_wayland_surface ===
2664 
vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2665     VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
2666                                         const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
2667                                         const VkAllocationCallbacks *         pAllocator,
2668                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2669     {
2670       return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2671     }
2672 
vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct wl_display * display) const2673     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
2674                                                                uint32_t            queueFamilyIndex,
2675                                                                struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
2676     {
2677       return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
2678     }
2679 #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2680 
2681 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
2682     //=== VK_KHR_android_surface ===
2683 
vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2684     VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
2685                                         const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
2686                                         const VkAllocationCallbacks *         pAllocator,
2687                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2688     {
2689       return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2690     }
2691 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2692 
2693 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
2694     //=== VK_KHR_win32_surface ===
2695 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2696     VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2697                                       const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2698                                       const VkAllocationCallbacks *       pAllocator,
2699                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2700     {
2701       return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2702     }
2703 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2704     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2705     {
2706       return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2707     }
2708 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2709 
2710     //=== VK_EXT_debug_report ===
2711 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2712     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2713                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2714                                              const VkAllocationCallbacks *              pAllocator,
2715                                              VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2716     {
2717       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2718     }
2719 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2720     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2721                                           VkDebugReportCallbackEXT      callback,
2722                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2723     {
2724       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2725     }
2726 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2727     void vkDebugReportMessageEXT( VkInstance                 instance,
2728                                   VkDebugReportFlagsEXT      flags,
2729                                   VkDebugReportObjectTypeEXT objectType,
2730                                   uint64_t                   object,
2731                                   size_t                     location,
2732                                   int32_t                    messageCode,
2733                                   const char *               pLayerPrefix,
2734                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2735     {
2736       return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2737     }
2738 
2739     //=== VK_EXT_debug_marker ===
2740 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2741     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2742     {
2743       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2744     }
2745 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2746     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2747     {
2748       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2749     }
2750 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2751     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2752     {
2753       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2754     }
2755 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2756     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2757     {
2758       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2759     }
2760 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2761     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2762     {
2763       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2764     }
2765 
2766     //=== VK_KHR_video_queue ===
2767 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2768     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2769                                                       const VkVideoProfileInfoKHR * pVideoProfile,
2770                                                       VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2771     {
2772       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2773     }
2774 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2775     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2776                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2777                                                           uint32_t *                                 pVideoFormatPropertyCount,
2778                                                           VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2779     {
2780       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2781     }
2782 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2783     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2784                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
2785                                       const VkAllocationCallbacks *       pAllocator,
2786                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2787     {
2788       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2789     }
2790 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2791     void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2792     {
2793       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2794     }
2795 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2796     VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2797                                                      VkVideoSessionKHR                     videoSession,
2798                                                      uint32_t *                            pMemoryRequirementsCount,
2799                                                      VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2800     {
2801       return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2802     }
2803 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2804     VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2805                                           VkVideoSessionKHR                       videoSession,
2806                                           uint32_t                                bindSessionMemoryInfoCount,
2807                                           const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2808     {
2809       return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2810     }
2811 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2812     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2813                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2814                                                 const VkAllocationCallbacks *                 pAllocator,
2815                                                 VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2816     {
2817       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2818     }
2819 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2820     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2821                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
2822                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2823     {
2824       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2825     }
2826 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2827     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2828                                              VkVideoSessionParametersKHR   videoSessionParameters,
2829                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2830     {
2831       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2832     }
2833 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2834     void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2835     {
2836       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2837     }
2838 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2839     void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2840     {
2841       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2842     }
2843 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2844     void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2845     {
2846       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2847     }
2848 
2849     //=== VK_KHR_video_decode_queue ===
2850 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2851     void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2852     {
2853       return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2854     }
2855 
2856     //=== VK_EXT_transform_feedback ===
2857 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2858     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2859                                                uint32_t             firstBinding,
2860                                                uint32_t             bindingCount,
2861                                                const VkBuffer *     pBuffers,
2862                                                const VkDeviceSize * pOffsets,
2863                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2864     {
2865       return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2866     }
2867 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2868     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2869                                          uint32_t             firstCounterBuffer,
2870                                          uint32_t             counterBufferCount,
2871                                          const VkBuffer *     pCounterBuffers,
2872                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2873     {
2874       return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2875     }
2876 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2877     void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2878                                        uint32_t             firstCounterBuffer,
2879                                        uint32_t             counterBufferCount,
2880                                        const VkBuffer *     pCounterBuffers,
2881                                        const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2882     {
2883       return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2884     }
2885 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2886     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2887       VULKAN_HPP_NOEXCEPT
2888     {
2889       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2890     }
2891 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2892     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2893     {
2894       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2895     }
2896 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2897     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2898                                         uint32_t        instanceCount,
2899                                         uint32_t        firstInstance,
2900                                         VkBuffer        counterBuffer,
2901                                         VkDeviceSize    counterBufferOffset,
2902                                         uint32_t        counterOffset,
2903                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2904     {
2905       return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2906     }
2907 
2908     //=== VK_NVX_binary_import ===
2909 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2910     VkResult vkCreateCuModuleNVX( VkDevice                        device,
2911                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
2912                                   const VkAllocationCallbacks *   pAllocator,
2913                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
2914     {
2915       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
2916     }
2917 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const2918     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
2919                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
2920                                     const VkAllocationCallbacks *     pAllocator,
2921                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
2922     {
2923       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
2924     }
2925 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const2926     void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2927     {
2928       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
2929     }
2930 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const2931     void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2932     {
2933       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
2934     }
2935 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const2936     void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
2937     {
2938       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
2939     }
2940 
2941     //=== VK_NVX_image_view_handle ===
2942 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const2943     uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
2944     {
2945       return ::vkGetImageViewHandleNVX( device, pInfo );
2946     }
2947 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const2948     VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
2949     {
2950       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
2951     }
2952 
2953     //=== VK_AMD_draw_indirect_count ===
2954 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2955     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
2956                                     VkBuffer        buffer,
2957                                     VkDeviceSize    offset,
2958                                     VkBuffer        countBuffer,
2959                                     VkDeviceSize    countBufferOffset,
2960                                     uint32_t        maxDrawCount,
2961                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2962     {
2963       return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2964     }
2965 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2966     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
2967                                            VkBuffer        buffer,
2968                                            VkDeviceSize    offset,
2969                                            VkBuffer        countBuffer,
2970                                            VkDeviceSize    countBufferOffset,
2971                                            uint32_t        maxDrawCount,
2972                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2973     {
2974       return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2975     }
2976 
2977     //=== VK_AMD_shader_info ===
2978 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const2979     VkResult vkGetShaderInfoAMD( VkDevice              device,
2980                                  VkPipeline            pipeline,
2981                                  VkShaderStageFlagBits shaderStage,
2982                                  VkShaderInfoTypeAMD   infoType,
2983                                  size_t *              pInfoSize,
2984                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
2985     {
2986       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
2987     }
2988 
2989     //=== VK_KHR_dynamic_rendering ===
2990 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2991     void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2992     {
2993       return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
2994     }
2995 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const2996     void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2997     {
2998       return ::vkCmdEndRenderingKHR( commandBuffer );
2999     }
3000 
3001 #  if defined( VK_USE_PLATFORM_GGP )
3002     //=== VK_GGP_stream_descriptor_surface ===
3003 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3004     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3005                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3006                                                  const VkAllocationCallbacks *                  pAllocator,
3007                                                  VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3008     {
3009       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3010     }
3011 #  endif /*VK_USE_PLATFORM_GGP*/
3012 
3013     //=== VK_NV_external_memory_capabilities ===
3014 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3015     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3016                                                                  VkFormat                            format,
3017                                                                  VkImageType                         type,
3018                                                                  VkImageTiling                       tiling,
3019                                                                  VkImageUsageFlags                   usage,
3020                                                                  VkImageCreateFlags                  flags,
3021                                                                  VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3022                                                                  VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3023     {
3024       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3025         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3026     }
3027 
3028 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3029     //=== VK_NV_external_memory_win32 ===
3030 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3031     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3032                                        VkDeviceMemory                    memory,
3033                                        VkExternalMemoryHandleTypeFlagsNV handleType,
3034                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3035     {
3036       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3037     }
3038 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3039 
3040     //=== VK_KHR_get_physical_device_properties2 ===
3041 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3042     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3043     {
3044       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3045     }
3046 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3047     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3048     {
3049       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3050     }
3051 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3052     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3053                                                   VkFormat              format,
3054                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3055     {
3056       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3057     }
3058 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3059     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3060                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3061                                                            VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3062     {
3063       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3064     }
3065 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3066     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3067                                                        uint32_t *                 pQueueFamilyPropertyCount,
3068                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3069     {
3070       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3071     }
3072 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3073     void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3074                                                   VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3075     {
3076       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3077     }
3078 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3079     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3080                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3081                                                              uint32_t *                                     pPropertyCount,
3082                                                              VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3083     {
3084       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3085     }
3086 
3087     //=== VK_KHR_device_group ===
3088 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3089     void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3090                                                 uint32_t                   heapIndex,
3091                                                 uint32_t                   localDeviceIndex,
3092                                                 uint32_t                   remoteDeviceIndex,
3093                                                 VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3094     {
3095       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3096     }
3097 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3098     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3099     {
3100       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3101     }
3102 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3103     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3104                                uint32_t        baseGroupX,
3105                                uint32_t        baseGroupY,
3106                                uint32_t        baseGroupZ,
3107                                uint32_t        groupCountX,
3108                                uint32_t        groupCountY,
3109                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3110     {
3111       return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3112     }
3113 
3114 #  if defined( VK_USE_PLATFORM_VI_NN )
3115     //=== VK_NN_vi_surface ===
3116 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3117     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3118                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
3119                                   const VkAllocationCallbacks *   pAllocator,
3120                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3121     {
3122       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3123     }
3124 #  endif /*VK_USE_PLATFORM_VI_NN*/
3125 
3126     //=== VK_KHR_maintenance1 ===
3127 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3128     void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3129     {
3130       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3131     }
3132 
3133     //=== VK_KHR_device_group_creation ===
3134 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3135     VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3136                                                  uint32_t *                        pPhysicalDeviceGroupCount,
3137                                                  VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3138     {
3139       return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3140     }
3141 
3142     //=== VK_KHR_external_memory_capabilities ===
3143 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3144     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3145                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3146                                                          VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3147     {
3148       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3149     }
3150 
3151 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3152     //=== VK_KHR_external_memory_win32 ===
3153 
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3154     VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3155     {
3156       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3157     }
3158 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3159     VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3160                                                   VkExternalMemoryHandleTypeFlagBits handleType,
3161                                                   HANDLE                             handle,
3162                                                   VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3163     {
3164       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3165     }
3166 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3167 
3168     //=== VK_KHR_external_memory_fd ===
3169 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3170     VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3171     {
3172       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3173     }
3174 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3175     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3176                                          VkExternalMemoryHandleTypeFlagBits handleType,
3177                                          int                                fd,
3178                                          VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3179     {
3180       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3181     }
3182 
3183     //=== VK_KHR_external_semaphore_capabilities ===
3184 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3185     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3186                                                             const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3187                                                             VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3188     {
3189       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3190     }
3191 
3192 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3193     //=== VK_KHR_external_semaphore_win32 ===
3194 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3195     VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3196                                               const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3197     {
3198       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3199     }
3200 
3201     VkResult
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3202       vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3203     {
3204       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3205     }
3206 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3207 
3208     //=== VK_KHR_external_semaphore_fd ===
3209 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3210     VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3211     {
3212       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3213     }
3214 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3215     VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3216     {
3217       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3218     }
3219 
3220     //=== VK_KHR_push_descriptor ===
3221 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3222     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3223                                     VkPipelineBindPoint          pipelineBindPoint,
3224                                     VkPipelineLayout             layout,
3225                                     uint32_t                     set,
3226                                     uint32_t                     descriptorWriteCount,
3227                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3228     {
3229       return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3230     }
3231 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3232     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3233                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3234                                                 VkPipelineLayout           layout,
3235                                                 uint32_t                   set,
3236                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
3237     {
3238       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3239     }
3240 
3241     //=== VK_EXT_conditional_rendering ===
3242 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3243     void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3244                                             const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3245     {
3246       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3247     }
3248 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3249     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3250     {
3251       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3252     }
3253 
3254     //=== VK_KHR_descriptor_update_template ===
3255 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3256     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3257                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3258                                                   const VkAllocationCallbacks *                pAllocator,
3259                                                   VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3260     {
3261       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3262     }
3263 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3264     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3265                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3266                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3267     {
3268       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3269     }
3270 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3271     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3272                                                VkDescriptorSet            descriptorSet,
3273                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3274                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
3275     {
3276       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3277     }
3278 
3279     //=== VK_NV_clip_space_w_scaling ===
3280 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3281     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3282                                      uint32_t                     firstViewport,
3283                                      uint32_t                     viewportCount,
3284                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3285     {
3286       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3287     }
3288 
3289     //=== VK_EXT_direct_mode_display ===
3290 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3291     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3292     {
3293       return ::vkReleaseDisplayEXT( physicalDevice, display );
3294     }
3295 
3296 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3297     //=== VK_EXT_acquire_xlib_display ===
3298 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3299     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3300     {
3301       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3302     }
3303 
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3304     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3305     {
3306       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3307     }
3308 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3309 
3310     //=== VK_EXT_display_surface_counter ===
3311 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3312     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3313                                                          VkSurfaceKHR                surface,
3314                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3315     {
3316       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3317     }
3318 
3319     //=== VK_EXT_display_control ===
3320 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3321     VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3322     {
3323       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3324     }
3325 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3326     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3327                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3328                                        const VkAllocationCallbacks * pAllocator,
3329                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3330     {
3331       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3332     }
3333 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3334     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3335                                         VkDisplayKHR                  display,
3336                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
3337                                         const VkAllocationCallbacks * pAllocator,
3338                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3339     {
3340       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3341     }
3342 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3343     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3344                                        VkSwapchainKHR              swapchain,
3345                                        VkSurfaceCounterFlagBitsEXT counter,
3346                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3347     {
3348       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3349     }
3350 
3351     //=== VK_GOOGLE_display_timing ===
3352 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3353     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3354                                               VkSwapchainKHR                 swapchain,
3355                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3356     {
3357       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3358     }
3359 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3360     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3361                                                 VkSwapchainKHR                   swapchain,
3362                                                 uint32_t *                       pPresentationTimingCount,
3363                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3364     {
3365       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3366     }
3367 
3368     //=== VK_EXT_discard_rectangles ===
3369 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3370     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3371                                       uint32_t         firstDiscardRectangle,
3372                                       uint32_t         discardRectangleCount,
3373                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3374     {
3375       return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3376     }
3377 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3378     void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3379     {
3380       return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3381     }
3382 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3383     void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3384     {
3385       return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3386     }
3387 
3388     //=== VK_EXT_hdr_metadata ===
3389 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3390     void vkSetHdrMetadataEXT( VkDevice                 device,
3391                               uint32_t                 swapchainCount,
3392                               const VkSwapchainKHR *   pSwapchains,
3393                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3394     {
3395       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3396     }
3397 
3398     //=== VK_KHR_create_renderpass2 ===
3399 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3400     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3401                                      const VkRenderPassCreateInfo2 * pCreateInfo,
3402                                      const VkAllocationCallbacks *   pAllocator,
3403                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3404     {
3405       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3406     }
3407 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3408     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3409                                    const VkRenderPassBeginInfo * pRenderPassBegin,
3410                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3411     {
3412       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3413     }
3414 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3415     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3416                                const VkSubpassBeginInfo * pSubpassBeginInfo,
3417                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3418     {
3419       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3420     }
3421 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3422     void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3423     {
3424       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3425     }
3426 
3427     //=== VK_KHR_shared_presentable_image ===
3428 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3429     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3430     {
3431       return ::vkGetSwapchainStatusKHR( device, swapchain );
3432     }
3433 
3434     //=== VK_KHR_external_fence_capabilities ===
3435 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3436     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3437                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3438                                                         VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3439     {
3440       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3441     }
3442 
3443 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3444     //=== VK_KHR_external_fence_win32 ===
3445 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3446     VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3447     {
3448       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3449     }
3450 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3451     VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3452     {
3453       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3454     }
3455 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3456 
3457     //=== VK_KHR_external_fence_fd ===
3458 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3459     VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3460     {
3461       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3462     }
3463 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3464     VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3465     {
3466       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3467     }
3468 
3469     //=== VK_KHR_performance_query ===
3470 
3471     VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3472       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3473                                                                        uint32_t                             queueFamilyIndex,
3474                                                                        uint32_t *                           pCounterCount,
3475                                                                        VkPerformanceCounterKHR *            pCounters,
3476                                                                        VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3477     {
3478       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3479         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3480     }
3481 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3482     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3483                                                                   const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3484                                                                   uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3485     {
3486       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3487     }
3488 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3489     VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3490     {
3491       return ::vkAcquireProfilingLockKHR( device, pInfo );
3492     }
3493 
vkReleaseProfilingLockKHR(VkDevice device) const3494     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3495     {
3496       return ::vkReleaseProfilingLockKHR( device );
3497     }
3498 
3499     //=== VK_KHR_get_surface_capabilities2 ===
3500 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3501     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3502                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3503                                                          VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3504     {
3505       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3506     }
3507 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3508     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3509                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3510                                                     uint32_t *                              pSurfaceFormatCount,
3511                                                     VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3512     {
3513       return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3514     }
3515 
3516     //=== VK_KHR_get_display_properties2 ===
3517 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3518     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3519                                                        uint32_t *                pPropertyCount,
3520                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3521     {
3522       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3523     }
3524 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3525     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3526                                                             uint32_t *                     pPropertyCount,
3527                                                             VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3528     {
3529       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3530     }
3531 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3532     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3533                                              VkDisplayKHR                  display,
3534                                              uint32_t *                    pPropertyCount,
3535                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3536     {
3537       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3538     }
3539 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3540     VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3541                                                 const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3542                                                 VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3543     {
3544       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3545     }
3546 
3547 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3548     //=== VK_MVK_ios_surface ===
3549 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3550     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3551                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3552                                     const VkAllocationCallbacks *     pAllocator,
3553                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3554     {
3555       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3556     }
3557 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3558 
3559 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3560     //=== VK_MVK_macos_surface ===
3561 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3562     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3563                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3564                                       const VkAllocationCallbacks *       pAllocator,
3565                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3566     {
3567       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3568     }
3569 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3570 
3571     //=== VK_EXT_debug_utils ===
3572 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3573     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3574     {
3575       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3576     }
3577 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3578     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3579     {
3580       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3581     }
3582 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3583     void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3584     {
3585       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3586     }
3587 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3588     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3589     {
3590       return ::vkQueueEndDebugUtilsLabelEXT( queue );
3591     }
3592 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3593     void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3594     {
3595       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3596     }
3597 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3598     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3599     {
3600       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3601     }
3602 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3603     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3604     {
3605       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3606     }
3607 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3608     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3609     {
3610       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3611     }
3612 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3613     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3614                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3615                                              const VkAllocationCallbacks *              pAllocator,
3616                                              VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3617     {
3618       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3619     }
3620 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3621     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3622                                           VkDebugUtilsMessengerEXT      messenger,
3623                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3624     {
3625       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3626     }
3627 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3628     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3629                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3630                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3631                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3632     {
3633       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3634     }
3635 
3636 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3637     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3638 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3639     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3640                                                           const struct AHardwareBuffer *             buffer,
3641                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3642     {
3643       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3644     }
3645 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3646     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3647                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3648                                                       struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3649     {
3650       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3651     }
3652 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3653 
3654 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3655     //=== VK_AMDX_shader_enqueue ===
3656 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3657     VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3658                                                   VkPipelineCache                                pipelineCache,
3659                                                   uint32_t                                       createInfoCount,
3660                                                   const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3661                                                   const VkAllocationCallbacks *                  pAllocator,
3662                                                   VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3663     {
3664       return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3665     }
3666 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3667     VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3668                                                          VkPipeline                                executionGraph,
3669                                                          VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3670     {
3671       return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3672     }
3673 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3674     VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3675                                                        VkPipeline                                      executionGraph,
3676                                                        const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3677                                                        uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3678     {
3679       return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3680     }
3681 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch) const3682     void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
3683     {
3684       return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
3685     }
3686 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3687     void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3688                                  VkDeviceAddress                      scratch,
3689                                  const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3690     {
3691       return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
3692     }
3693 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3694     void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3695                                          VkDeviceAddress                      scratch,
3696                                          const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3697     {
3698       return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
3699     }
3700 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceAddress countInfo) const3701     void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3702     {
3703       return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
3704     }
3705 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3706 
3707     //=== VK_EXT_sample_locations ===
3708 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3709     void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3710     {
3711       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3712     }
3713 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3714     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3715                                                       VkSampleCountFlagBits        samples,
3716                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3717     {
3718       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3719     }
3720 
3721     //=== VK_KHR_get_memory_requirements2 ===
3722 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3723     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3724                                            const VkImageMemoryRequirementsInfo2 * pInfo,
3725                                            VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3726     {
3727       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3728     }
3729 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3730     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3731                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
3732                                             VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3733     {
3734       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3735     }
3736 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3737     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3738                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3739                                                  uint32_t *                                   pSparseMemoryRequirementCount,
3740                                                  VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3741     {
3742       return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3743     }
3744 
3745     //=== VK_KHR_acceleration_structure ===
3746 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3747     VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3748                                                const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3749                                                const VkAllocationCallbacks *                pAllocator,
3750                                                VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3751     {
3752       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3753     }
3754 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3755     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3756                                             VkAccelerationStructureKHR    accelerationStructure,
3757                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3758     {
3759       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3760     }
3761 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3762     void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3763                                               uint32_t                                                 infoCount,
3764                                               const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3765                                               const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3766     {
3767       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3768     }
3769 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3770     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3771                                                       uint32_t                                            infoCount,
3772                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3773                                                       const VkDeviceAddress *                             pIndirectDeviceAddresses,
3774                                                       const uint32_t *                                    pIndirectStrides,
3775                                                       const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3776     {
3777       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3778         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3779     }
3780 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3781     VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3782                                                VkDeferredOperationKHR                                   deferredOperation,
3783                                                uint32_t                                                 infoCount,
3784                                                const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3785                                                const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3786     {
3787       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3788     }
3789 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3790     VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3791                                              VkDeferredOperationKHR                     deferredOperation,
3792                                              const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3793     {
3794       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3795     }
3796 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3797     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3798                                                      VkDeferredOperationKHR                             deferredOperation,
3799                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3800     {
3801       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3802     }
3803 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3804     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3805                                                      VkDeferredOperationKHR                             deferredOperation,
3806                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3807     {
3808       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3809     }
3810 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3811     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3812                                                          uint32_t                           accelerationStructureCount,
3813                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
3814                                                          VkQueryType                        queryType,
3815                                                          size_t                             dataSize,
3816                                                          void *                             pData,
3817                                                          size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3818     {
3819       return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3820     }
3821 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3822     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3823     {
3824       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3825     }
3826 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3827     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3828                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3829     {
3830       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3831     }
3832 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3833     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3834                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3835     {
3836       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3837     }
3838 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3839     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3840                                                                 const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3841     {
3842       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3843     }
3844 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3845     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3846                                                         uint32_t                           accelerationStructureCount,
3847                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
3848                                                         VkQueryType                        queryType,
3849                                                         VkQueryPool                        queryPool,
3850                                                         uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3851     {
3852       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3853         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3854     }
3855 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3856     void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3857                                                            const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3858                                                            VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3859     {
3860       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3861     }
3862 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3863     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3864                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
3865                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3866                                                   const uint32_t *                                    pMaxPrimitiveCounts,
3867                                                   VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3868     {
3869       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3870     }
3871 
3872     //=== VK_KHR_ray_tracing_pipeline ===
3873 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3874     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3875                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3876                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3877                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3878                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3879                             uint32_t                                width,
3880                             uint32_t                                height,
3881                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3882     {
3883       return ::vkCmdTraceRaysKHR(
3884         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3885     }
3886 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3887     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3888                                              VkDeferredOperationKHR                    deferredOperation,
3889                                              VkPipelineCache                           pipelineCache,
3890                                              uint32_t                                  createInfoCount,
3891                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3892                                              const VkAllocationCallbacks *             pAllocator,
3893                                              VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
3894     {
3895       return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3896     }
3897 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3898     VkResult vkGetRayTracingShaderGroupHandlesKHR(
3899       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3900     {
3901       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3902     }
3903 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3904     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3905       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3906     {
3907       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3908     }
3909 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const3910     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
3911                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3912                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3913                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3914                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3915                                     VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
3916     {
3917       return ::vkCmdTraceRaysIndirectKHR(
3918         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
3919     }
3920 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const3921     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
3922                                                          VkPipeline             pipeline,
3923                                                          uint32_t               group,
3924                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
3925     {
3926       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
3927     }
3928 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const3929     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
3930     {
3931       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
3932     }
3933 
3934     //=== VK_KHR_sampler_ycbcr_conversion ===
3935 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const3936     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
3937                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
3938                                                 const VkAllocationCallbacks *              pAllocator,
3939                                                 VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
3940     {
3941       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
3942     }
3943 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const3944     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
3945                                              VkSamplerYcbcrConversion      ycbcrConversion,
3946                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3947     {
3948       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
3949     }
3950 
3951     //=== VK_KHR_bind_memory2 ===
3952 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const3953     VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3954     {
3955       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
3956     }
3957 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const3958     VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3959     {
3960       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
3961     }
3962 
3963     //=== VK_EXT_image_drm_format_modifier ===
3964 
3965     VkResult
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const3966       vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
3967     {
3968       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
3969     }
3970 
3971     //=== VK_EXT_validation_cache ===
3972 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const3973     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
3974                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
3975                                          const VkAllocationCallbacks *          pAllocator,
3976                                          VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
3977     {
3978       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
3979     }
3980 
3981     void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const3982       vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3983     {
3984       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
3985     }
3986 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const3987     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
3988                                          VkValidationCacheEXT         dstCache,
3989                                          uint32_t                     srcCacheCount,
3990                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
3991     {
3992       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
3993     }
3994 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const3995     VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3996     {
3997       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
3998     }
3999 
4000     //=== VK_NV_shading_rate_image ===
4001 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4002     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
4003     {
4004       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4005     }
4006 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4007     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4008                                                uint32_t                       firstViewport,
4009                                                uint32_t                       viewportCount,
4010                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4011     {
4012       return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4013     }
4014 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4015     void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4016                                       VkCoarseSampleOrderTypeNV           sampleOrderType,
4017                                       uint32_t                            customSampleOrderCount,
4018                                       const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4019     {
4020       return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4021     }
4022 
4023     //=== VK_NV_ray_tracing ===
4024 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4025     VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4026                                               const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4027                                               const VkAllocationCallbacks *               pAllocator,
4028                                               VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4029     {
4030       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4031     }
4032 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4033     void vkDestroyAccelerationStructureNV( VkDevice                      device,
4034                                            VkAccelerationStructureNV     accelerationStructure,
4035                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4036     {
4037       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4038     }
4039 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4040     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4041                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4042                                                          VkMemoryRequirements2KHR *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4043     {
4044       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4045     }
4046 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4047     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4048                                                   uint32_t                                        bindInfoCount,
4049                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4050     {
4051       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4052     }
4053 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4054     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4055                                             const VkAccelerationStructureInfoNV * pInfo,
4056                                             VkBuffer                              instanceData,
4057                                             VkDeviceSize                          instanceOffset,
4058                                             VkBool32                              update,
4059                                             VkAccelerationStructureNV             dst,
4060                                             VkAccelerationStructureNV             src,
4061                                             VkBuffer                              scratch,
4062                                             VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4063     {
4064       return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4065     }
4066 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4067     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4068                                            VkAccelerationStructureNV          dst,
4069                                            VkAccelerationStructureNV          src,
4070                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4071     {
4072       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4073     }
4074 
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) const4075     void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4076                            VkBuffer        raygenShaderBindingTableBuffer,
4077                            VkDeviceSize    raygenShaderBindingOffset,
4078                            VkBuffer        missShaderBindingTableBuffer,
4079                            VkDeviceSize    missShaderBindingOffset,
4080                            VkDeviceSize    missShaderBindingStride,
4081                            VkBuffer        hitShaderBindingTableBuffer,
4082                            VkDeviceSize    hitShaderBindingOffset,
4083                            VkDeviceSize    hitShaderBindingStride,
4084                            VkBuffer        callableShaderBindingTableBuffer,
4085                            VkDeviceSize    callableShaderBindingOffset,
4086                            VkDeviceSize    callableShaderBindingStride,
4087                            uint32_t        width,
4088                            uint32_t        height,
4089                            uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4090     {
4091       return ::vkCmdTraceRaysNV( commandBuffer,
4092                                  raygenShaderBindingTableBuffer,
4093                                  raygenShaderBindingOffset,
4094                                  missShaderBindingTableBuffer,
4095                                  missShaderBindingOffset,
4096                                  missShaderBindingStride,
4097                                  hitShaderBindingTableBuffer,
4098                                  hitShaderBindingOffset,
4099                                  hitShaderBindingStride,
4100                                  callableShaderBindingTableBuffer,
4101                                  callableShaderBindingOffset,
4102                                  callableShaderBindingStride,
4103                                  width,
4104                                  height,
4105                                  depth );
4106     }
4107 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4108     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4109                                             VkPipelineCache                          pipelineCache,
4110                                             uint32_t                                 createInfoCount,
4111                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4112                                             const VkAllocationCallbacks *            pAllocator,
4113                                             VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4114     {
4115       return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4116     }
4117 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4118     VkResult vkGetRayTracingShaderGroupHandlesNV(
4119       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4120     {
4121       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4122     }
4123 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4124     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4125                                                  VkAccelerationStructureNV accelerationStructure,
4126                                                  size_t                    dataSize,
4127                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
4128     {
4129       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4130     }
4131 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4132     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4133                                                        uint32_t                          accelerationStructureCount,
4134                                                        const VkAccelerationStructureNV * pAccelerationStructures,
4135                                                        VkQueryType                       queryType,
4136                                                        VkQueryPool                       queryPool,
4137                                                        uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4138     {
4139       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4140         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4141     }
4142 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4143     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4144     {
4145       return ::vkCompileDeferredNV( device, pipeline, shader );
4146     }
4147 
4148     //=== VK_KHR_maintenance3 ===
4149 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4150     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4151                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4152                                              VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4153     {
4154       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4155     }
4156 
4157     //=== VK_KHR_draw_indirect_count ===
4158 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4159     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4160                                     VkBuffer        buffer,
4161                                     VkDeviceSize    offset,
4162                                     VkBuffer        countBuffer,
4163                                     VkDeviceSize    countBufferOffset,
4164                                     uint32_t        maxDrawCount,
4165                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4166     {
4167       return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4168     }
4169 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4170     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4171                                            VkBuffer        buffer,
4172                                            VkDeviceSize    offset,
4173                                            VkBuffer        countBuffer,
4174                                            VkDeviceSize    countBufferOffset,
4175                                            uint32_t        maxDrawCount,
4176                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4177     {
4178       return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4179     }
4180 
4181     //=== VK_EXT_external_memory_host ===
4182 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4183     VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4184                                                   VkExternalMemoryHandleTypeFlagBits handleType,
4185                                                   const void *                       pHostPointer,
4186                                                   VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4187     {
4188       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4189     }
4190 
4191     //=== VK_AMD_buffer_marker ===
4192 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4193     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4194                                     VkPipelineStageFlagBits pipelineStage,
4195                                     VkBuffer                dstBuffer,
4196                                     VkDeviceSize            dstOffset,
4197                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4198     {
4199       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4200     }
4201 
4202     //=== VK_EXT_calibrated_timestamps ===
4203 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4204     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4205                                                              uint32_t *        pTimeDomainCount,
4206                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4207     {
4208       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4209     }
4210 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4211     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4212                                            uint32_t                             timestampCount,
4213                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4214                                            uint64_t *                           pTimestamps,
4215                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4216     {
4217       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4218     }
4219 
4220     //=== VK_NV_mesh_shader ===
4221 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4222     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4223     {
4224       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4225     }
4226 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4227     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4228       VULKAN_HPP_NOEXCEPT
4229     {
4230       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4231     }
4232 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4233     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4234                                             VkBuffer        buffer,
4235                                             VkDeviceSize    offset,
4236                                             VkBuffer        countBuffer,
4237                                             VkDeviceSize    countBufferOffset,
4238                                             uint32_t        maxDrawCount,
4239                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4240     {
4241       return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4242     }
4243 
4244     //=== VK_NV_scissor_exclusive ===
4245 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4246     void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4247                                            uint32_t         firstExclusiveScissor,
4248                                            uint32_t         exclusiveScissorCount,
4249                                            const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4250     {
4251       return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4252     }
4253 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4254     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4255                                      uint32_t         firstExclusiveScissor,
4256                                      uint32_t         exclusiveScissorCount,
4257                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4258     {
4259       return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4260     }
4261 
4262     //=== VK_NV_device_diagnostic_checkpoints ===
4263 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4264     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4265     {
4266       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4267     }
4268 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4269     void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4270     {
4271       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4272     }
4273 
4274     //=== VK_KHR_timeline_semaphore ===
4275 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4276     VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4277     {
4278       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4279     }
4280 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4281     VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4282     {
4283       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4284     }
4285 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4286     VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4287     {
4288       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4289     }
4290 
4291     //=== VK_INTEL_performance_query ===
4292 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4293     VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4294     {
4295       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4296     }
4297 
vkUninitializePerformanceApiINTEL(VkDevice device) const4298     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4299     {
4300       return ::vkUninitializePerformanceApiINTEL( device );
4301     }
4302 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4303     VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4304     {
4305       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4306     }
4307 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4308     VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4309                                                    const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4310     {
4311       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4312     }
4313 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4314     VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4315     {
4316       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4317     }
4318 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4319     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4320                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4321                                                      VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4322     {
4323       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4324     }
4325 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4326     VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4327     {
4328       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4329     }
4330 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4331     VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4332     {
4333       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4334     }
4335 
4336     VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4337       vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4338     {
4339       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4340     }
4341 
4342     //=== VK_AMD_display_native_hdr ===
4343 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4344     void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4345     {
4346       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4347     }
4348 
4349 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4350     //=== VK_FUCHSIA_imagepipe_surface ===
4351 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4352     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4353                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4354                                               const VkAllocationCallbacks *               pAllocator,
4355                                               VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4356     {
4357       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4358     }
4359 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4360 
4361 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4362     //=== VK_EXT_metal_surface ===
4363 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4364     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4365                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4366                                       const VkAllocationCallbacks *       pAllocator,
4367                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4368     {
4369       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4370     }
4371 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4372 
4373     //=== VK_KHR_fragment_shading_rate ===
4374 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4375     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4376                                                          uint32_t *                               pFragmentShadingRateCount,
4377                                                          VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4378     {
4379       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4380     }
4381 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4382     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4383                                          const VkExtent2D *                       pFragmentSize,
4384                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4385     {
4386       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4387     }
4388 
4389     //=== VK_KHR_dynamic_rendering_local_read ===
4390 
vkCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfoKHR * pLocationInfo) const4391     void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer                              commandBuffer,
4392                                                   const VkRenderingAttachmentLocationInfoKHR * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
4393     {
4394       return ::vkCmdSetRenderingAttachmentLocationsKHR( commandBuffer, pLocationInfo );
4395     }
4396 
vkCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfoKHR * pLocationInfo) const4397     void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer                                commandBuffer,
4398                                                      const VkRenderingInputAttachmentIndexInfoKHR * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
4399     {
4400       return ::vkCmdSetRenderingInputAttachmentIndicesKHR( commandBuffer, pLocationInfo );
4401     }
4402 
4403     //=== VK_EXT_buffer_device_address ===
4404 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4405     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4406     {
4407       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4408     }
4409 
4410     //=== VK_EXT_tooling_info ===
4411 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4412     VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4413                                                    uint32_t *                       pToolCount,
4414                                                    VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4415     {
4416       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4417     }
4418 
4419     //=== VK_KHR_present_wait ===
4420 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4421     VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4422     {
4423       return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4424     }
4425 
4426     //=== VK_NV_cooperative_matrix ===
4427 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4428     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4429                                                                uint32_t *                        pPropertyCount,
4430                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4431     {
4432       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4433     }
4434 
4435     //=== VK_NV_coverage_reduction_mode ===
4436 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4437     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4438       VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4439     {
4440       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4441     }
4442 
4443 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4444     //=== VK_EXT_full_screen_exclusive ===
4445 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4446     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4447                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4448                                                          uint32_t *                              pPresentModeCount,
4449                                                          VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4450     {
4451       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4452     }
4453 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4454     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4455     {
4456       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4457     }
4458 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4459     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4460     {
4461       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4462     }
4463 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4464     VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4465                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4466                                                       VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4467     {
4468       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4469     }
4470 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4471 
4472     //=== VK_EXT_headless_surface ===
4473 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4474     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4475                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4476                                          const VkAllocationCallbacks *          pAllocator,
4477                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4478     {
4479       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4480     }
4481 
4482     //=== VK_KHR_buffer_device_address ===
4483 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4484     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4485     {
4486       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4487     }
4488 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4489     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4490     {
4491       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4492     }
4493 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4494     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4495     {
4496       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4497     }
4498 
4499     //=== VK_EXT_line_rasterization ===
4500 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4501     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4502     {
4503       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4504     }
4505 
4506     //=== VK_EXT_host_query_reset ===
4507 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4508     void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4509     {
4510       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4511     }
4512 
4513     //=== VK_EXT_extended_dynamic_state ===
4514 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4515     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4516     {
4517       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4518     }
4519 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4520     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4521     {
4522       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4523     }
4524 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4525     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4526     {
4527       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4528     }
4529 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4530     void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4531     {
4532       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4533     }
4534 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4535     void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4536     {
4537       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4538     }
4539 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4540     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4541                                      uint32_t             firstBinding,
4542                                      uint32_t             bindingCount,
4543                                      const VkBuffer *     pBuffers,
4544                                      const VkDeviceSize * pOffsets,
4545                                      const VkDeviceSize * pSizes,
4546                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4547     {
4548       return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4549     }
4550 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4551     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4552     {
4553       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4554     }
4555 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4556     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4557     {
4558       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4559     }
4560 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4561     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4562     {
4563       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4564     }
4565 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4566     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4567     {
4568       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4569     }
4570 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4571     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4572     {
4573       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4574     }
4575 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4576     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4577                                VkStencilFaceFlags faceMask,
4578                                VkStencilOp        failOp,
4579                                VkStencilOp        passOp,
4580                                VkStencilOp        depthFailOp,
4581                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4582     {
4583       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4584     }
4585 
4586     //=== VK_KHR_deferred_host_operations ===
4587 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4588     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4589                                            const VkAllocationCallbacks * pAllocator,
4590                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4591     {
4592       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4593     }
4594 
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4595     void vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4596     {
4597       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4598     }
4599 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4600     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4601     {
4602       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4603     }
4604 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4605     VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4606     {
4607       return ::vkGetDeferredOperationResultKHR( device, operation );
4608     }
4609 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4610     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4611     {
4612       return ::vkDeferredOperationJoinKHR( device, operation );
4613     }
4614 
4615     //=== VK_KHR_pipeline_executable_properties ===
4616 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4617     VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4618                                                    const VkPipelineInfoKHR *           pPipelineInfo,
4619                                                    uint32_t *                          pExecutableCount,
4620                                                    VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4621     {
4622       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4623     }
4624 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4625     VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4626                                                    const VkPipelineExecutableInfoKHR * pExecutableInfo,
4627                                                    uint32_t *                          pStatisticCount,
4628                                                    VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4629     {
4630       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4631     }
4632 
4633     VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4634       vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4635                                                          const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4636                                                          uint32_t *                                      pInternalRepresentationCount,
4637                                                          VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4638     {
4639       return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4640     }
4641 
4642     //=== VK_EXT_host_image_copy ===
4643 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo) const4644     VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4645     {
4646       return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4647     }
4648 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo) const4649     VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4650     {
4651       return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4652     }
4653 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo) const4654     VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4655     {
4656       return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4657     }
4658 
4659     VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfoEXT * pTransitions) const4660       vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT * pTransitions ) const VULKAN_HPP_NOEXCEPT
4661     {
4662       return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4663     }
4664 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const4665     void vkGetImageSubresourceLayout2EXT( VkDevice                       device,
4666                                           VkImage                        image,
4667                                           const VkImageSubresource2KHR * pSubresource,
4668                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
4669     {
4670       return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4671     }
4672 
4673     //=== VK_KHR_map_memory2 ===
4674 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfoKHR * pMemoryMapInfo,void ** ppData) const4675     VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfoKHR * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4676     {
4677       return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4678     }
4679 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo) const4680     VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4681     {
4682       return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4683     }
4684 
4685     //=== VK_EXT_swapchain_maintenance1 ===
4686 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4687     VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4688     {
4689       return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4690     }
4691 
4692     //=== VK_NV_device_generated_commands ===
4693 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4694     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4695                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4696                                                      VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4697     {
4698       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4699     }
4700 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4701     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4702     {
4703       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4704     }
4705 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4706     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4707                                           VkBool32                          isPreprocessed,
4708                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4709     {
4710       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4711     }
4712 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4713     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4714                                          VkPipelineBindPoint pipelineBindPoint,
4715                                          VkPipeline          pipeline,
4716                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4717     {
4718       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4719     }
4720 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4721     VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4722                                                const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4723                                                const VkAllocationCallbacks *                pAllocator,
4724                                                VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4725     {
4726       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4727     }
4728 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4729     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4730                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4731                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4732     {
4733       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4734     }
4735 
4736     //=== VK_EXT_depth_bias_control ===
4737 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4738     void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4739     {
4740       return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4741     }
4742 
4743     //=== VK_EXT_acquire_drm_display ===
4744 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4745     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4746     {
4747       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4748     }
4749 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4750     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4751     {
4752       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4753     }
4754 
4755     //=== VK_EXT_private_data ===
4756 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4757     VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4758                                          const VkPrivateDataSlotCreateInfo * pCreateInfo,
4759                                          const VkAllocationCallbacks *       pAllocator,
4760                                          VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4761     {
4762       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4763     }
4764 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4765     void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4766     {
4767       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4768     }
4769 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4770     VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4771       VULKAN_HPP_NOEXCEPT
4772     {
4773       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4774     }
4775 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4776     void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4777       VULKAN_HPP_NOEXCEPT
4778     {
4779       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4780     }
4781 
4782     //=== VK_KHR_video_encode_queue ===
4783 
4784     VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4785       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4786                                                                const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4787                                                                VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4788     {
4789       return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4790     }
4791 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4792     VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4793                                                     const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4794                                                     VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4795                                                     size_t *                                         pDataSize,
4796                                                     void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4797     {
4798       return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4799     }
4800 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4801     void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4802     {
4803       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4804     }
4805 
4806 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4807     //=== VK_NV_cuda_kernel_launch ===
4808 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4809     VkResult vkCreateCudaModuleNV( VkDevice                         device,
4810                                    const VkCudaModuleCreateInfoNV * pCreateInfo,
4811                                    const VkAllocationCallbacks *    pAllocator,
4812                                    VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4813     {
4814       return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4815     }
4816 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4817     VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4818     {
4819       return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4820     }
4821 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4822     VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4823                                      const VkCudaFunctionCreateInfoNV * pCreateInfo,
4824                                      const VkAllocationCallbacks *      pAllocator,
4825                                      VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4826     {
4827       return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4828     }
4829 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4830     void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4831     {
4832       return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4833     }
4834 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4835     void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4836     {
4837       return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4838     }
4839 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4840     void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4841     {
4842       return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4843     }
4844 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4845 
4846 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4847     //=== VK_EXT_metal_objects ===
4848 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4849     void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4850     {
4851       return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4852     }
4853 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4854 
4855     //=== VK_KHR_synchronization2 ===
4856 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4857     void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4858     {
4859       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4860     }
4861 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4862     void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4863     {
4864       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4865     }
4866 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4867     void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4868                               uint32_t                 eventCount,
4869                               const VkEvent *          pEvents,
4870                               const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4871     {
4872       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4873     }
4874 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4875     void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4876     {
4877       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4878     }
4879 
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const4880     void vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
4881     {
4882       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
4883     }
4884 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const4885     VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
4886     {
4887       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
4888     }
4889 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4890     void vkCmdWriteBufferMarker2AMD(
4891       VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4892     {
4893       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4894     }
4895 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4896     void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4897     {
4898       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4899     }
4900 
4901     //=== VK_EXT_descriptor_buffer ===
4902 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const4903     void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
4904     {
4905       return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
4906     }
4907 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const4908     void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
4909                                                    VkDescriptorSetLayout layout,
4910                                                    uint32_t              binding,
4911                                                    VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
4912     {
4913       return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
4914     }
4915 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const4916     void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
4917     {
4918       return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
4919     }
4920 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const4921     void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
4922                                         uint32_t                                 bufferCount,
4923                                         const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
4924     {
4925       return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
4926     }
4927 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const4928     void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
4929                                              VkPipelineBindPoint  pipelineBindPoint,
4930                                              VkPipelineLayout     layout,
4931                                              uint32_t             firstSet,
4932                                              uint32_t             setCount,
4933                                              const uint32_t *     pBufferIndices,
4934                                              const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
4935     {
4936       return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
4937     }
4938 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const4939     void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
4940                                                        VkPipelineBindPoint pipelineBindPoint,
4941                                                        VkPipelineLayout    layout,
4942                                                        uint32_t            set ) const VULKAN_HPP_NOEXCEPT
4943     {
4944       return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
4945     }
4946 
4947     VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4948       vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4949     {
4950       return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4951     }
4952 
4953     VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4954       vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4955     {
4956       return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4957     }
4958 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4959     VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
4960                                                            const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
4961                                                            void *                                          pData ) const VULKAN_HPP_NOEXCEPT
4962     {
4963       return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4964     }
4965 
4966     VkResult
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4967       vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4968     {
4969       return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4970     }
4971 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4972     VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
4973                                                                        const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
4974                                                                        void * pData ) const VULKAN_HPP_NOEXCEPT
4975     {
4976       return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4977     }
4978 
4979     //=== VK_NV_fragment_shading_rate_enums ===
4980 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4981     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
4982                                             VkFragmentShadingRateNV                  shadingRate,
4983                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4984     {
4985       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
4986     }
4987 
4988     //=== VK_EXT_mesh_shader ===
4989 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const4990     void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
4991     {
4992       return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
4993     }
4994 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4995     void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4996       VULKAN_HPP_NOEXCEPT
4997     {
4998       return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
4999     }
5000 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const5001     void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
5002                                              VkBuffer        buffer,
5003                                              VkDeviceSize    offset,
5004                                              VkBuffer        countBuffer,
5005                                              VkDeviceSize    countBufferOffset,
5006                                              uint32_t        maxDrawCount,
5007                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5008     {
5009       return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
5010     }
5011 
5012     //=== VK_KHR_copy_commands2 ===
5013 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const5014     void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5015     {
5016       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5017     }
5018 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const5019     void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5020     {
5021       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5022     }
5023 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5024     void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5025     {
5026       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5027     }
5028 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5029     void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5030     {
5031       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5032     }
5033 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5034     void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5035     {
5036       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5037     }
5038 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5039     void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5040     {
5041       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5042     }
5043 
5044     //=== VK_EXT_device_fault ===
5045 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5046     VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5047     {
5048       return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5049     }
5050 
5051 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5052     //=== VK_NV_acquire_winrt_display ===
5053 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5054     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5055     {
5056       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5057     }
5058 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5059     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5060     {
5061       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5062     }
5063 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5064 
5065 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5066     //=== VK_EXT_directfb_surface ===
5067 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5068     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5069                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5070                                          const VkAllocationCallbacks *          pAllocator,
5071                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5072     {
5073       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5074     }
5075 
5076     VkBool32
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5077       vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB * dfb ) const VULKAN_HPP_NOEXCEPT
5078     {
5079       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5080     }
5081 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5082 
5083     //=== VK_EXT_vertex_input_dynamic_state ===
5084 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5085     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5086                                  uint32_t                                      vertexBindingDescriptionCount,
5087                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5088                                  uint32_t                                      vertexAttributeDescriptionCount,
5089                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5090     {
5091       return ::vkCmdSetVertexInputEXT(
5092         commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5093     }
5094 
5095 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5096     //=== VK_FUCHSIA_external_memory ===
5097 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5098     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5099                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5100                                              zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5101     {
5102       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5103     }
5104 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5105     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5106                                                        VkExternalMemoryHandleTypeFlagBits      handleType,
5107                                                        zx_handle_t                             zirconHandle,
5108                                                        VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5109     {
5110       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5111     }
5112 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5113 
5114 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5115     //=== VK_FUCHSIA_external_semaphore ===
5116 
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5117     VkResult vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5118                                                    const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5119     {
5120       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5121     }
5122 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5123     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5124                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5125                                                 zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5126     {
5127       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5128     }
5129 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5130 
5131 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5132     //=== VK_FUCHSIA_buffer_collection ===
5133 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5134     VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5135                                               const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5136                                               const VkAllocationCallbacks *               pAllocator,
5137                                               VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5138     {
5139       return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5140     }
5141 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5142     VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5143                                                            VkBufferCollectionFUCHSIA             collection,
5144                                                            const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5145     {
5146       return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5147     }
5148 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5149     VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5150                                                             VkBufferCollectionFUCHSIA              collection,
5151                                                             const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5152     {
5153       return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5154     }
5155 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5156     void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5157                                            VkBufferCollectionFUCHSIA     collection,
5158                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5159     {
5160       return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5161     }
5162 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5163     VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5164                                                      VkBufferCollectionFUCHSIA             collection,
5165                                                      VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5166     {
5167       return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5168     }
5169 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5170 
5171     //=== VK_HUAWEI_subpass_shading ===
5172 
5173     VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5174       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5175     {
5176       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5177     }
5178 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5179     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5180     {
5181       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5182     }
5183 
5184     //=== VK_HUAWEI_invocation_mask ===
5185 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5186     void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5187     {
5188       return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5189     }
5190 
5191     //=== VK_NV_external_memory_rdma ===
5192 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5193     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5194                                          const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5195                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5196     {
5197       return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5198     }
5199 
5200     //=== VK_EXT_pipeline_properties ===
5201 
5202     VkResult
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5203       vkGetPipelinePropertiesEXT( VkDevice device, const VkPipelineInfoEXT * pPipelineInfo, VkBaseOutStructure * pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5204     {
5205       return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5206     }
5207 
5208     //=== VK_EXT_extended_dynamic_state2 ===
5209 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5210     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5211     {
5212       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5213     }
5214 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5215     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5216     {
5217       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5218     }
5219 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5220     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5221     {
5222       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5223     }
5224 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5225     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5226     {
5227       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5228     }
5229 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5230     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5231     {
5232       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5233     }
5234 
5235 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5236     //=== VK_QNX_screen_surface ===
5237 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5238     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5239                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5240                                        const VkAllocationCallbacks *        pAllocator,
5241                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5242     {
5243       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5244     }
5245 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5246     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5247                                                               uint32_t                queueFamilyIndex,
5248                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5249     {
5250       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5251     }
5252 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5253 
5254     //=== VK_EXT_color_write_enable ===
5255 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5256     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5257     {
5258       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5259     }
5260 
5261     //=== VK_KHR_ray_tracing_maintenance1 ===
5262 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5263     void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5264     {
5265       return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5266     }
5267 
5268     //=== VK_EXT_multi_draw ===
5269 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5270     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5271                             uint32_t                   drawCount,
5272                             const VkMultiDrawInfoEXT * pVertexInfo,
5273                             uint32_t                   instanceCount,
5274                             uint32_t                   firstInstance,
5275                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5276     {
5277       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5278     }
5279 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5280     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5281                                    uint32_t                          drawCount,
5282                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5283                                    uint32_t                          instanceCount,
5284                                    uint32_t                          firstInstance,
5285                                    uint32_t                          stride,
5286                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5287     {
5288       return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5289     }
5290 
5291     //=== VK_EXT_opacity_micromap ===
5292 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5293     VkResult vkCreateMicromapEXT( VkDevice                        device,
5294                                   const VkMicromapCreateInfoEXT * pCreateInfo,
5295                                   const VkAllocationCallbacks *   pAllocator,
5296                                   VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5297     {
5298       return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5299     }
5300 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5301     void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5302     {
5303       return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5304     }
5305 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5306     void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5307     {
5308       return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5309     }
5310 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5311     VkResult vkBuildMicromapsEXT( VkDevice                       device,
5312                                   VkDeferredOperationKHR         deferredOperation,
5313                                   uint32_t                       infoCount,
5314                                   const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5315     {
5316       return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5317     }
5318 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5319     VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5320     {
5321       return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5322     }
5323 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5324     VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5325                                         VkDeferredOperationKHR                deferredOperation,
5326                                         const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5327     {
5328       return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5329     }
5330 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5331     VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5332                                         VkDeferredOperationKHR                deferredOperation,
5333                                         const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5334     {
5335       return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5336     }
5337 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5338     VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5339                                             uint32_t              micromapCount,
5340                                             const VkMicromapEXT * pMicromaps,
5341                                             VkQueryType           queryType,
5342                                             size_t                dataSize,
5343                                             void *                pData,
5344                                             size_t                stride ) const VULKAN_HPP_NOEXCEPT
5345     {
5346       return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5347     }
5348 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5349     void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5350     {
5351       return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5352     }
5353 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5354     void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5355     {
5356       return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5357     }
5358 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5359     void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5360     {
5361       return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5362     }
5363 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5364     void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5365                                            uint32_t              micromapCount,
5366                                            const VkMicromapEXT * pMicromaps,
5367                                            VkQueryType           queryType,
5368                                            VkQueryPool           queryPool,
5369                                            uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5370     {
5371       return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5372     }
5373 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5374     void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5375                                               const VkMicromapVersionInfoEXT *          pVersionInfo,
5376                                               VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5377     {
5378       return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5379     }
5380 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5381     void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5382                                      VkAccelerationStructureBuildTypeKHR buildType,
5383                                      const VkMicromapBuildInfoEXT *      pBuildInfo,
5384                                      VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5385     {
5386       return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5387     }
5388 
5389     //=== VK_HUAWEI_cluster_culling_shader ===
5390 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5391     void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5392     {
5393       return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5394     }
5395 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5396     void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5397     {
5398       return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5399     }
5400 
5401     //=== VK_EXT_pageable_device_local_memory ===
5402 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5403     void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5404     {
5405       return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5406     }
5407 
5408     //=== VK_KHR_maintenance4 ===
5409 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5410     void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5411                                                  const VkDeviceBufferMemoryRequirements * pInfo,
5412                                                  VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5413     {
5414       return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5415     }
5416 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5417     void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5418                                                 const VkDeviceImageMemoryRequirements * pInfo,
5419                                                 VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5420     {
5421       return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5422     }
5423 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5424     void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5425                                                       const VkDeviceImageMemoryRequirements * pInfo,
5426                                                       uint32_t *                              pSparseMemoryRequirementCount,
5427                                                       VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5428     {
5429       return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5430     }
5431 
5432     //=== VK_VALVE_descriptor_set_host_mapping ===
5433 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5434     void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5435                                                        const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5436                                                        VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5437     {
5438       return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5439     }
5440 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5441     void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5442     {
5443       return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5444     }
5445 
5446     //=== VK_NV_copy_memory_indirect ===
5447 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5448     void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5449                                     VkDeviceAddress copyBufferAddress,
5450                                     uint32_t        copyCount,
5451                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5452     {
5453       return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5454     }
5455 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5456     void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5457                                            VkDeviceAddress                  copyBufferAddress,
5458                                            uint32_t                         copyCount,
5459                                            uint32_t                         stride,
5460                                            VkImage                          dstImage,
5461                                            VkImageLayout                    dstImageLayout,
5462                                            const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5463     {
5464       return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5465     }
5466 
5467     //=== VK_NV_memory_decompression ===
5468 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5469     void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5470                                   uint32_t                           decompressRegionCount,
5471                                   const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5472     {
5473       return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5474     }
5475 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5476     void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5477                                                VkDeviceAddress indirectCommandsAddress,
5478                                                VkDeviceAddress indirectCommandsCountAddress,
5479                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5480     {
5481       return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5482     }
5483 
5484     //=== VK_NV_device_generated_commands_compute ===
5485 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5486     void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5487                                                     const VkComputePipelineCreateInfo * pCreateInfo,
5488                                                     VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5489     {
5490       return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5491     }
5492 
5493     void
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5494       vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
5495     {
5496       return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5497     }
5498 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5499     VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5500     {
5501       return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5502     }
5503 
5504     //=== VK_EXT_extended_dynamic_state3 ===
5505 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5506     void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5507     {
5508       return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5509     }
5510 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5511     void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5512     {
5513       return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5514     }
5515 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5516     void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5517     {
5518       return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5519     }
5520 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5521     void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5522     {
5523       return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5524     }
5525 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5526     void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5527     {
5528       return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5529     }
5530 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5531     void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5532     {
5533       return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5534     }
5535 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5536     void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5537     {
5538       return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5539     }
5540 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5541     void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5542                                       uint32_t         firstAttachment,
5543                                       uint32_t         attachmentCount,
5544                                       const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5545     {
5546       return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5547     }
5548 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5549     void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5550                                         uint32_t                        firstAttachment,
5551                                         uint32_t                        attachmentCount,
5552                                         const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5553     {
5554       return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5555     }
5556 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5557     void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5558                                     uint32_t                      firstAttachment,
5559                                     uint32_t                      attachmentCount,
5560                                     const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5561     {
5562       return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5563     }
5564 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5565     void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5566     {
5567       return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5568     }
5569 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5570     void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5571     {
5572       return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5573     }
5574 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5575     void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5576                                                    VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5577     {
5578       return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5579     }
5580 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5581     void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5582     {
5583       return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5584     }
5585 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5586     void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5587     {
5588       return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5589     }
5590 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5591     void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5592     {
5593       return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5594     }
5595 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5596     void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5597                                         uint32_t                        firstAttachment,
5598                                         uint32_t                        attachmentCount,
5599                                         const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5600     {
5601       return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5602     }
5603 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5604     void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5605     {
5606       return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5607     }
5608 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5609     void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5610     {
5611       return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5612     }
5613 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5614     void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5615     {
5616       return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5617     }
5618 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5619     void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5620     {
5621       return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5622     }
5623 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5624     void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5625     {
5626       return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5627     }
5628 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5629     void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5630                                     uint32_t                    firstViewport,
5631                                     uint32_t                    viewportCount,
5632                                     const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5633     {
5634       return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5635     }
5636 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5637     void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5638     {
5639       return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5640     }
5641 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5642     void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5643     {
5644       return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5645     }
5646 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5647     void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5648     {
5649       return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5650     }
5651 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5652     void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5653     {
5654       return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5655     }
5656 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5657     void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5658                                             uint32_t        coverageModulationTableCount,
5659                                             const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5660     {
5661       return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5662     }
5663 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5664     void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5665     {
5666       return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5667     }
5668 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5669     void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5670     {
5671       return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5672     }
5673 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5674     void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5675     {
5676       return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5677     }
5678 
5679     //=== VK_EXT_shader_module_identifier ===
5680 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5681     void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5682     {
5683       return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5684     }
5685 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5686     void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5687                                                    const VkShaderModuleCreateInfo * pCreateInfo,
5688                                                    VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5689     {
5690       return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5691     }
5692 
5693     //=== VK_NV_optical_flow ===
5694 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5695     VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5696                                                            const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5697                                                            uint32_t *                             pFormatCount,
5698                                                            VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5699     {
5700       return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5701     }
5702 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5703     VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5704                                            const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5705                                            const VkAllocationCallbacks *            pAllocator,
5706                                            VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5707     {
5708       return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5709     }
5710 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5711     void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5712     {
5713       return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5714     }
5715 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5716     VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5717                                               VkOpticalFlowSessionNV             session,
5718                                               VkOpticalFlowSessionBindingPointNV bindingPoint,
5719                                               VkImageView                        view,
5720                                               VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5721     {
5722       return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5723     }
5724 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5725     void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5726                                     VkOpticalFlowSessionNV             session,
5727                                     const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5728     {
5729       return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5730     }
5731 
5732     //=== VK_KHR_maintenance5 ===
5733 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5734     void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5735       VULKAN_HPP_NOEXCEPT
5736     {
5737       return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5738     }
5739 
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfoKHR * pRenderingAreaInfo,VkExtent2D * pGranularity) const5740     void vkGetRenderingAreaGranularityKHR( VkDevice                       device,
5741                                            const VkRenderingAreaInfoKHR * pRenderingAreaInfo,
5742                                            VkExtent2D *                   pGranularity ) const VULKAN_HPP_NOEXCEPT
5743     {
5744       return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5745     }
5746 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfoKHR * pInfo,VkSubresourceLayout2KHR * pLayout) const5747     void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                                device,
5748                                                const VkDeviceImageSubresourceInfoKHR * pInfo,
5749                                                VkSubresourceLayout2KHR *               pLayout ) const VULKAN_HPP_NOEXCEPT
5750     {
5751       return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5752     }
5753 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const5754     void vkGetImageSubresourceLayout2KHR( VkDevice                       device,
5755                                           VkImage                        image,
5756                                           const VkImageSubresource2KHR * pSubresource,
5757                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
5758     {
5759       return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5760     }
5761 
5762     //=== VK_EXT_shader_object ===
5763 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5764     VkResult vkCreateShadersEXT( VkDevice                      device,
5765                                  uint32_t                      createInfoCount,
5766                                  const VkShaderCreateInfoEXT * pCreateInfos,
5767                                  const VkAllocationCallbacks * pAllocator,
5768                                  VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5769     {
5770       return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5771     }
5772 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5773     void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5774     {
5775       return ::vkDestroyShaderEXT( device, shader, pAllocator );
5776     }
5777 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5778     VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5779     {
5780       return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5781     }
5782 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5783     void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5784                               uint32_t                      stageCount,
5785                               const VkShaderStageFlagBits * pStages,
5786                               const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5787     {
5788       return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5789     }
5790 
5791     //=== VK_QCOM_tile_properties ===
5792 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5793     VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5794                                                  VkFramebuffer          framebuffer,
5795                                                  uint32_t *             pPropertiesCount,
5796                                                  VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5797     {
5798       return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5799     }
5800 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5801     VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5802                                                       const VkRenderingInfo * pRenderingInfo,
5803                                                       VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5804     {
5805       return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5806     }
5807 
5808     //=== VK_NV_low_latency2 ===
5809 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5810     VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5811     {
5812       return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
5813     }
5814 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const5815     VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
5816     {
5817       return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
5818     }
5819 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5820     void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5821     {
5822       return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
5823     }
5824 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5825     void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5826     {
5827       return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
5828     }
5829 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const5830     void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
5831     {
5832       return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
5833     }
5834 
5835     //=== VK_KHR_cooperative_matrix ===
5836 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const5837     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
5838                                                                 uint32_t *                         pPropertyCount,
5839                                                                 VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
5840     {
5841       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
5842     }
5843 
5844     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
5845 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const5846     void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
5847     {
5848       return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
5849     }
5850 
5851 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5852     //=== VK_QNX_external_memory_screen_buffer ===
5853 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const5854     VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
5855                                              const struct _screen_buffer * buffer,
5856                                              VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
5857     {
5858       return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
5859     }
5860 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5861 
5862     //=== VK_KHR_line_rasterization ===
5863 
vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const5864     void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
5865     {
5866       return ::vkCmdSetLineStippleKHR( commandBuffer, lineStippleFactor, lineStipplePattern );
5867     }
5868 
5869     //=== VK_KHR_calibrated_timestamps ===
5870 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const5871     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
5872                                                              uint32_t *        pTimeDomainCount,
5873                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
5874     {
5875       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
5876     }
5877 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const5878     VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
5879                                            uint32_t                             timestampCount,
5880                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
5881                                            uint64_t *                           pTimestamps,
5882                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
5883     {
5884       return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
5885     }
5886 
5887     //=== VK_KHR_maintenance6 ===
5888 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo) const5889     void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
5890     {
5891       return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
5892     }
5893 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfoKHR * pPushConstantsInfo) const5894     void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
5895     {
5896       return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
5897     }
5898 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo) const5899     void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
5900     {
5901       return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
5902     }
5903 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo) const5904     void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                                commandBuffer,
5905                                                  const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
5906     {
5907       return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
5908     }
5909 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const5910     void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
5911                                               const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
5912     {
5913       return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
5914     }
5915 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const5916     void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
5917       VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
5918     {
5919       return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
5920     }
5921   };
5922 
getDispatchLoaderStatic()5923   inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
5924   {
5925     static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
5926     return dls;
5927   }
5928 #endif
5929 
5930 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
5931   struct AllocationCallbacks;
5932 
5933   template <typename OwnerType, typename Dispatch>
5934   class ObjectDestroy
5935   {
5936   public:
5937     ObjectDestroy() = default;
5938 
ObjectDestroy(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5939     ObjectDestroy( OwnerType                                               owner,
5940                    Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5941                    Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5942       : m_owner( owner )
5943       , m_allocationCallbacks( allocationCallbacks )
5944       , m_dispatch( &dispatch )
5945     {
5946     }
5947 
getOwner() const5948     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5949     {
5950       return m_owner;
5951     }
5952 
getAllocator() const5953     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5954     {
5955       return m_allocationCallbacks;
5956     }
5957 
getDispatch() const5958     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5959     {
5960       return *m_dispatch;
5961     }
5962 
5963   protected:
5964     template <typename T>
destroy(T t)5965     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5966     {
5967       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5968       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
5969     }
5970 
5971   private:
5972     OwnerType                           m_owner               = {};
5973     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5974     Dispatch const *                    m_dispatch            = nullptr;
5975   };
5976 
5977   class NoParent;
5978 
5979   template <typename Dispatch>
5980   class ObjectDestroy<NoParent, Dispatch>
5981   {
5982   public:
5983     ObjectDestroy() = default;
5984 
ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5985     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
5986                    Dispatch const & dispatch           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5987       : m_allocationCallbacks( allocationCallbacks )
5988       , m_dispatch( &dispatch )
5989     {
5990     }
5991 
getAllocator() const5992     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5993     {
5994       return m_allocationCallbacks;
5995     }
5996 
getDispatch() const5997     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5998     {
5999       return *m_dispatch;
6000     }
6001 
6002   protected:
6003     template <typename T>
destroy(T t)6004     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6005     {
6006       VULKAN_HPP_ASSERT( m_dispatch );
6007       t.destroy( m_allocationCallbacks, *m_dispatch );
6008     }
6009 
6010   private:
6011     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6012     Dispatch const *                    m_dispatch            = nullptr;
6013   };
6014 
6015   template <typename OwnerType, typename Dispatch>
6016   class ObjectFree
6017   {
6018   public:
6019     ObjectFree() = default;
6020 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6021     ObjectFree( OwnerType                                               owner,
6022                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6023                 Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6024       : m_owner( owner )
6025       , m_allocationCallbacks( allocationCallbacks )
6026       , m_dispatch( &dispatch )
6027     {
6028     }
6029 
getOwner() const6030     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6031     {
6032       return m_owner;
6033     }
6034 
getAllocator() const6035     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6036     {
6037       return m_allocationCallbacks;
6038     }
6039 
getDispatch() const6040     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6041     {
6042       return *m_dispatch;
6043     }
6044 
6045   protected:
6046     template <typename T>
destroy(T t)6047     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6048     {
6049       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6050       ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6051     }
6052 
6053   private:
6054     OwnerType                           m_owner               = {};
6055     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6056     Dispatch const *                    m_dispatch            = nullptr;
6057   };
6058 
6059   template <typename OwnerType, typename Dispatch>
6060   class ObjectRelease
6061   {
6062   public:
6063     ObjectRelease() = default;
6064 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6065     ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6066       : m_owner( owner )
6067       , m_dispatch( &dispatch )
6068     {
6069     }
6070 
getOwner() const6071     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6072     {
6073       return m_owner;
6074     }
6075 
getDispatch() const6076     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6077     {
6078       return *m_dispatch;
6079     }
6080 
6081   protected:
6082     template <typename T>
destroy(T t)6083     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6084     {
6085       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6086       m_owner.release( t, *m_dispatch );
6087     }
6088 
6089   private:
6090     OwnerType        m_owner    = {};
6091     Dispatch const * m_dispatch = nullptr;
6092   };
6093 
6094   template <typename OwnerType, typename PoolType, typename Dispatch>
6095   class PoolFree
6096   {
6097   public:
6098     PoolFree() = default;
6099 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6100     PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6101       : m_owner( owner )
6102       , m_pool( pool )
6103       , m_dispatch( &dispatch )
6104     {
6105     }
6106 
getOwner() const6107     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6108     {
6109       return m_owner;
6110     }
6111 
getPool() const6112     PoolType getPool() const VULKAN_HPP_NOEXCEPT
6113     {
6114       return m_pool;
6115     }
6116 
getDispatch() const6117     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6118     {
6119       return *m_dispatch;
6120     }
6121 
6122   protected:
6123     template <typename T>
destroy(T t)6124     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6125     {
6126       ( m_owner.free )( m_pool, t, *m_dispatch );
6127     }
6128 
6129   private:
6130     OwnerType        m_owner    = OwnerType();
6131     PoolType         m_pool     = PoolType();
6132     Dispatch const * m_dispatch = nullptr;
6133   };
6134 
6135 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6136 
6137   //==================
6138   //=== BASE TYPEs ===
6139   //==================
6140 
6141   using Bool32          = uint32_t;
6142   using DeviceAddress   = uint64_t;
6143   using DeviceSize      = uint64_t;
6144   using RemoteAddressNV = void *;
6145   using SampleMask      = uint32_t;
6146 
6147   template <typename Type, Type value = Type{}>
6148   struct CppType
6149   {
6150   };
6151 }  // namespace VULKAN_HPP_NAMESPACE
6152 
6153 #include <vulkan/vulkan_enums.hpp>
6154 #if !defined( VULKAN_HPP_NO_TO_STRING )
6155 #  include <vulkan/vulkan_to_string.hpp>
6156 #endif
6157 
6158 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6159 namespace std
6160 {
6161   template <>
6162   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6163   {
6164   };
6165 }  // namespace std
6166 #endif
6167 
6168 namespace VULKAN_HPP_NAMESPACE
6169 {
6170 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6171   class ErrorCategoryImpl : public std::error_category
6172   {
6173   public:
name() const6174     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6175     {
6176       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6177     }
6178 
message(int ev) const6179     virtual std::string message( int ev ) const override
6180     {
6181 #  if defined( VULKAN_HPP_NO_TO_STRING )
6182       return std::to_string( ev );
6183 #  else
6184       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6185 #  endif
6186     }
6187   };
6188 
6189   class Error
6190   {
6191   public:
6192     Error() VULKAN_HPP_NOEXCEPT                = default;
6193     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6194     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6195 
6196     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6197   };
6198 
6199   class LogicError
6200     : public Error
6201     , public std::logic_error
6202   {
6203   public:
LogicError(const std::string & what)6204     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6205 
LogicError(char const * what)6206     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6207 
what() const6208     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6209     {
6210       return std::logic_error::what();
6211     }
6212   };
6213 
6214   class SystemError
6215     : public Error
6216     , public std::system_error
6217   {
6218   public:
SystemError(std::error_code ec)6219     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6220 
SystemError(std::error_code ec,std::string const & what)6221     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6222 
SystemError(std::error_code ec,char const * what)6223     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6224 
SystemError(int ev,std::error_category const & ecat)6225     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6226 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6227     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6228 
SystemError(int ev,std::error_category const & ecat,char const * what)6229     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6230 
what() const6231     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6232     {
6233       return std::system_error::what();
6234     }
6235   };
6236 
errorCategory()6237   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6238   {
6239     static ErrorCategoryImpl instance;
6240     return instance;
6241   }
6242 
make_error_code(Result e)6243   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6244   {
6245     return std::error_code( static_cast<int>( e ), errorCategory() );
6246   }
6247 
make_error_condition(Result e)6248   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6249   {
6250     return std::error_condition( static_cast<int>( e ), errorCategory() );
6251   }
6252 
6253   class OutOfHostMemoryError : public SystemError
6254   {
6255   public:
OutOfHostMemoryError(std::string const & message)6256     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6257 
OutOfHostMemoryError(char const * message)6258     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6259   };
6260 
6261   class OutOfDeviceMemoryError : public SystemError
6262   {
6263   public:
OutOfDeviceMemoryError(std::string const & message)6264     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6265 
OutOfDeviceMemoryError(char const * message)6266     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6267   };
6268 
6269   class InitializationFailedError : public SystemError
6270   {
6271   public:
InitializationFailedError(std::string const & message)6272     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6273 
InitializationFailedError(char const * message)6274     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6275   };
6276 
6277   class DeviceLostError : public SystemError
6278   {
6279   public:
DeviceLostError(std::string const & message)6280     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6281 
DeviceLostError(char const * message)6282     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6283   };
6284 
6285   class MemoryMapFailedError : public SystemError
6286   {
6287   public:
MemoryMapFailedError(std::string const & message)6288     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6289 
MemoryMapFailedError(char const * message)6290     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6291   };
6292 
6293   class LayerNotPresentError : public SystemError
6294   {
6295   public:
LayerNotPresentError(std::string const & message)6296     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6297 
LayerNotPresentError(char const * message)6298     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6299   };
6300 
6301   class ExtensionNotPresentError : public SystemError
6302   {
6303   public:
ExtensionNotPresentError(std::string const & message)6304     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6305 
ExtensionNotPresentError(char const * message)6306     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6307   };
6308 
6309   class FeatureNotPresentError : public SystemError
6310   {
6311   public:
FeatureNotPresentError(std::string const & message)6312     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6313 
FeatureNotPresentError(char const * message)6314     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6315   };
6316 
6317   class IncompatibleDriverError : public SystemError
6318   {
6319   public:
IncompatibleDriverError(std::string const & message)6320     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6321 
IncompatibleDriverError(char const * message)6322     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6323   };
6324 
6325   class TooManyObjectsError : public SystemError
6326   {
6327   public:
TooManyObjectsError(std::string const & message)6328     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6329 
TooManyObjectsError(char const * message)6330     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6331   };
6332 
6333   class FormatNotSupportedError : public SystemError
6334   {
6335   public:
FormatNotSupportedError(std::string const & message)6336     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6337 
FormatNotSupportedError(char const * message)6338     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6339   };
6340 
6341   class FragmentedPoolError : public SystemError
6342   {
6343   public:
FragmentedPoolError(std::string const & message)6344     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6345 
FragmentedPoolError(char const * message)6346     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6347   };
6348 
6349   class UnknownError : public SystemError
6350   {
6351   public:
UnknownError(std::string const & message)6352     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6353 
UnknownError(char const * message)6354     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6355   };
6356 
6357   class OutOfPoolMemoryError : public SystemError
6358   {
6359   public:
OutOfPoolMemoryError(std::string const & message)6360     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6361 
OutOfPoolMemoryError(char const * message)6362     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6363   };
6364 
6365   class InvalidExternalHandleError : public SystemError
6366   {
6367   public:
InvalidExternalHandleError(std::string const & message)6368     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6369 
InvalidExternalHandleError(char const * message)6370     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6371   };
6372 
6373   class FragmentationError : public SystemError
6374   {
6375   public:
FragmentationError(std::string const & message)6376     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6377 
FragmentationError(char const * message)6378     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6379   };
6380 
6381   class InvalidOpaqueCaptureAddressError : public SystemError
6382   {
6383   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6384     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6385 
InvalidOpaqueCaptureAddressError(char const * message)6386     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6387   };
6388 
6389   class SurfaceLostKHRError : public SystemError
6390   {
6391   public:
SurfaceLostKHRError(std::string const & message)6392     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6393 
SurfaceLostKHRError(char const * message)6394     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6395   };
6396 
6397   class NativeWindowInUseKHRError : public SystemError
6398   {
6399   public:
NativeWindowInUseKHRError(std::string const & message)6400     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6401 
NativeWindowInUseKHRError(char const * message)6402     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6403   };
6404 
6405   class OutOfDateKHRError : public SystemError
6406   {
6407   public:
OutOfDateKHRError(std::string const & message)6408     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6409 
OutOfDateKHRError(char const * message)6410     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6411   };
6412 
6413   class IncompatibleDisplayKHRError : public SystemError
6414   {
6415   public:
IncompatibleDisplayKHRError(std::string const & message)6416     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6417 
IncompatibleDisplayKHRError(char const * message)6418     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6419   };
6420 
6421   class ValidationFailedEXTError : public SystemError
6422   {
6423   public:
ValidationFailedEXTError(std::string const & message)6424     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6425 
ValidationFailedEXTError(char const * message)6426     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6427   };
6428 
6429   class InvalidShaderNVError : public SystemError
6430   {
6431   public:
InvalidShaderNVError(std::string const & message)6432     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6433 
InvalidShaderNVError(char const * message)6434     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6435   };
6436 
6437   class ImageUsageNotSupportedKHRError : public SystemError
6438   {
6439   public:
ImageUsageNotSupportedKHRError(std::string const & message)6440     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6441 
ImageUsageNotSupportedKHRError(char const * message)6442     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6443   };
6444 
6445   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6446   {
6447   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6448     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6449       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6450     {
6451     }
6452 
VideoPictureLayoutNotSupportedKHRError(char const * message)6453     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6454     {
6455     }
6456   };
6457 
6458   class VideoProfileOperationNotSupportedKHRError : public SystemError
6459   {
6460   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6461     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6462       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6463     {
6464     }
6465 
VideoProfileOperationNotSupportedKHRError(char const * message)6466     VideoProfileOperationNotSupportedKHRError( char const * message )
6467       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6468     {
6469     }
6470   };
6471 
6472   class VideoProfileFormatNotSupportedKHRError : public SystemError
6473   {
6474   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6475     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6476       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6477     {
6478     }
6479 
VideoProfileFormatNotSupportedKHRError(char const * message)6480     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6481     {
6482     }
6483   };
6484 
6485   class VideoProfileCodecNotSupportedKHRError : public SystemError
6486   {
6487   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6488     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6489       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6490     {
6491     }
6492 
VideoProfileCodecNotSupportedKHRError(char const * message)6493     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6494   };
6495 
6496   class VideoStdVersionNotSupportedKHRError : public SystemError
6497   {
6498   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6499     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6500     {
6501     }
6502 
VideoStdVersionNotSupportedKHRError(char const * message)6503     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6504   };
6505 
6506   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6507   {
6508   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6509     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6510       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6511     {
6512     }
6513 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6514     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6515       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6516     {
6517     }
6518   };
6519 
6520   class NotPermittedKHRError : public SystemError
6521   {
6522   public:
NotPermittedKHRError(std::string const & message)6523     NotPermittedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6524 
NotPermittedKHRError(char const * message)6525     NotPermittedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6526   };
6527 
6528 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6529   class FullScreenExclusiveModeLostEXTError : public SystemError
6530   {
6531   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6532     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6533     {
6534     }
6535 
FullScreenExclusiveModeLostEXTError(char const * message)6536     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6537   };
6538 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6539 
6540   class InvalidVideoStdParametersKHRError : public SystemError
6541   {
6542   public:
InvalidVideoStdParametersKHRError(std::string const & message)6543     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6544 
InvalidVideoStdParametersKHRError(char const * message)6545     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6546   };
6547 
6548   class CompressionExhaustedEXTError : public SystemError
6549   {
6550   public:
CompressionExhaustedEXTError(std::string const & message)6551     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6552 
CompressionExhaustedEXTError(char const * message)6553     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6554   };
6555 
6556   namespace detail
6557   {
throwResultException(Result result,char const * message)6558     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6559     {
6560       switch ( result )
6561       {
6562         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6563         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6564         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6565         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6566         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6567         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6568         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6569         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6570         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6571         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6572         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6573         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6574         case Result::eErrorUnknown: throw UnknownError( message );
6575         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6576         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6577         case Result::eErrorFragmentation: throw FragmentationError( message );
6578         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6579         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6580         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6581         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6582         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6583         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6584         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6585         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6586         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6587         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6588         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6589         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6590         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6591         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6592         case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message );
6593 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6594         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6595 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6596         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6597         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6598         default: throw SystemError( make_error_code( result ), message );
6599       }
6600     }
6601   }  // namespace detail
6602 #endif
6603 
6604   template <typename T>
6605   struct ResultValue
6606   {
6607 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6608     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6609 #else
6610     ResultValue( Result r, T & v )
6611 #endif
6612       : result( r ), value( v )
6613     {
6614     }
6615 
6616 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6617     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6618 #else
6619     ResultValue( Result r, T && v )
6620 #endif
6621       : result( r ), value( std::move( v ) )
6622     {
6623     }
6624 
6625     Result result;
6626     T      value;
6627 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6628     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6629     {
6630       return std::tuple<Result &, T &>( result, value );
6631     }
6632   };
6633 
6634 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6635   template <typename Type, typename Dispatch>
6636   struct ResultValue<UniqueHandle<Type, Dispatch>>
6637   {
6638 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6639     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6640 #  else
6641     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6642 #  endif
6643       : result( r )
6644       , value( std::move( v ) )
6645     {
6646     }
6647 
6648     VULKAN_HPP_DEPRECATED(
6649       "asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
6650 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6651     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6652     {
6653       return std::make_tuple( result, std::move( value ) );
6654     }
6655 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6656     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6657     {
6658       return std::make_tuple( result, std::move( value ) );
6659     }
6660 
6661     Result                       result;
6662     UniqueHandle<Type, Dispatch> value;
6663   };
6664 
6665   template <typename Type, typename Dispatch>
6666   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6667   {
6668 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6669     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6670 #  else
6671     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6672 #  endif
6673       : result( r )
6674       , value( std::move( v ) )
6675     {
6676     }
6677 
6678     VULKAN_HPP_DEPRECATED(
6679       "asTuple() on an l-value is deprecated, as it implicitly moves the UniqueHandle out of the ResultValue. Use asTuple() on an r-value instead, requiring to explicitly move the UniqueHandle." )
6680 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6681     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
6682     {
6683       return std::make_tuple( result, std::move( value ) );
6684     }
6685 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6686     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
6687     {
6688       return std::make_tuple( result, std::move( value ) );
6689     }
6690 
6691     Result                                    result;
6692     std::vector<UniqueHandle<Type, Dispatch>> value;
6693   };
6694 #endif
6695 
6696   template <typename T>
6697   struct ResultValueType
6698   {
6699 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6700     using type = ResultValue<T>;
6701 #else
6702     using type = T;
6703 #endif
6704   };
6705 
6706   template <>
6707   struct ResultValueType<void>
6708   {
6709 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6710     using type = Result;
6711 #else
6712     using type = void;
6713 #endif
6714   };
6715 
6716   namespace detail
6717   {
6718     template <typename T>
ignore(T const &)6719     void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6720     {
6721     }
6722 
createResultValueType(VULKAN_HPP_NAMESPACE::Result result)6723     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<void>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result )
6724     {
6725 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6726       return result;
6727 #else
6728       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6729 #endif
6730     }
6731 
6732     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T & data)6733     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T & data )
6734     {
6735 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6736       return ResultValue<T>( result, data );
6737 #else
6738       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6739       return data;
6740 #endif
6741     }
6742 
6743     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T && data)6744     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T && data )
6745     {
6746 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6747       return ResultValue<T>( result, std::move( data ) );
6748 #else
6749       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6750       return std::move( data );
6751 #endif
6752     }
6753   }  // namespace detail
6754 
6755   namespace detail
6756   {
resultCheck(Result result,char const * message)6757     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
6758     {
6759 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6760       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6761       VULKAN_HPP_NAMESPACE::detail::ignore( message );
6762       VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6763 #else
6764       if ( result != Result::eSuccess )
6765       {
6766         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
6767       }
6768 #endif
6769     }
6770 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)6771     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
6772     {
6773 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6774       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6775       VULKAN_HPP_NAMESPACE::detail::ignore( message );
6776       VULKAN_HPP_NAMESPACE::detail::ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6777       VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6778 #else
6779       if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6780       {
6781         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
6782       }
6783 #endif
6784     }
6785   }  // namespace detail
6786 
6787   //===========================
6788   //=== CONSTEXPR CONSTANTs ===
6789   //===========================
6790 
6791   //=== VK_VERSION_1_0 ===
6792   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
6793   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
6794   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
6795   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
6796   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
6797   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
6798   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
6799   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
6800   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
6801   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
6802   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
6803   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
6804   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
6805   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
6806   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
6807 
6808   //=== VK_VERSION_1_1 ===
6809   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
6810   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
6811   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
6812 
6813   //=== VK_VERSION_1_2 ===
6814   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
6815   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
6816 
6817   //=== VK_KHR_device_group_creation ===
6818   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
6819 
6820   //=== VK_KHR_external_memory_capabilities ===
6821   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
6822 
6823   //=== VK_KHR_external_memory ===
6824   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
6825 
6826   //=== VK_EXT_queue_family_foreign ===
6827   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
6828 
6829 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6830   //=== VK_AMDX_shader_enqueue ===
6831   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
6832 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6833 
6834   //=== VK_KHR_ray_tracing_pipeline ===
6835   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
6836 
6837   //=== VK_NV_ray_tracing ===
6838   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
6839 
6840   //=== VK_KHR_global_priority ===
6841   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
6842 
6843   //=== VK_KHR_driver_properties ===
6844   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
6845   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
6846 
6847   //=== VK_EXT_global_priority_query ===
6848   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
6849 
6850   //=== VK_EXT_image_sliced_view_of_3d ===
6851   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
6852 
6853   //=== VK_EXT_shader_module_identifier ===
6854   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
6855 
6856   //=== VK_KHR_video_decode_av1 ===
6857   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoAv1ReferencesPerFrameKHR = VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR;
6858 
6859   //========================
6860   //=== CONSTEXPR VALUEs ===
6861   //========================
6862   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion = VK_HEADER_VERSION;
6863 
6864   //=========================
6865   //=== CONSTEXPR CALLEEs ===
6866   //=========================
6867   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)6868   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
6869   {
6870     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
6871   }
6872 
6873   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)6874   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
6875   {
6876     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6877   }
6878 
6879   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)6880   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
6881   {
6882     return ( (uint32_t)(version)&0xFFFU );
6883   }
6884 
6885   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)6886   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
6887   {
6888     return ( (uint32_t)( version ) >> 29U );
6889   }
6890 
6891   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
makeApiVersion(T const variant,T const major,T const minor,T const patch)6892   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
6893   {
6894     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6895   }
6896 
6897   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6898   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_MAKE_API_VERSION should be used instead." )
makeVersion(T const major,T const minor,T const patch)6899   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
6900   {
6901     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6902   }
6903 
6904   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6905   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)6906   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
6907   {
6908     return ( (uint32_t)( version ) >> 22U );
6909   }
6910 
6911   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6912   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)6913   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
6914   {
6915     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6916   }
6917 
6918   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6919   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)6920   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
6921   {
6922     return ( (uint32_t)(version)&0xFFFU );
6923   }
6924 
6925   //=========================
6926   //=== CONSTEXPR CALLERs ===
6927   //=========================
6928   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
6929   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
6930   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
6931   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
6932   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
6933   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 3, VK_HEADER_VERSION );
6934 
6935   //=================================
6936   //=== CONSTEXPR EXTENSION NAMEs ===
6937   //=================================
6938 
6939   //=== VK_KHR_surface ===
6940   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
6941   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
6942 
6943   //=== VK_KHR_swapchain ===
6944   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
6945   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
6946 
6947   //=== VK_KHR_display ===
6948   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
6949   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
6950 
6951   //=== VK_KHR_display_swapchain ===
6952   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
6953   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
6954 
6955 #if defined( VK_USE_PLATFORM_XLIB_KHR )
6956   //=== VK_KHR_xlib_surface ===
6957   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
6958   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
6959 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
6960 
6961 #if defined( VK_USE_PLATFORM_XCB_KHR )
6962   //=== VK_KHR_xcb_surface ===
6963   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
6964   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
6965 #endif /*VK_USE_PLATFORM_XCB_KHR*/
6966 
6967 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
6968   //=== VK_KHR_wayland_surface ===
6969   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
6970   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
6971 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
6972 
6973 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6974   //=== VK_KHR_android_surface ===
6975   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
6976   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
6977 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6978 
6979 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6980   //=== VK_KHR_win32_surface ===
6981   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
6982   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
6983 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6984 
6985   //=== VK_EXT_debug_report ===
6986   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6987   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
6988   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
6990 
6991   //=== VK_NV_glsl_shader ===
6992   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6993   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
6994   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6995   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
6996 
6997   //=== VK_EXT_depth_range_unrestricted ===
6998   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
6999   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
7000 
7001   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
7002   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
7003   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
7004   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
7005   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
7006 
7007   //=== VK_IMG_filter_cubic ===
7008   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
7009   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
7010 
7011   //=== VK_AMD_rasterization_order ===
7012   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
7013   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
7014 
7015   //=== VK_AMD_shader_trinary_minmax ===
7016   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
7017   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
7018 
7019   //=== VK_AMD_shader_explicit_vertex_parameter ===
7020   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
7021   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
7022 
7023   //=== VK_EXT_debug_marker ===
7024   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
7025   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
7026   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
7027   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
7028 
7029   //=== VK_KHR_video_queue ===
7030   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
7031   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7032 
7033   //=== VK_KHR_video_decode_queue ===
7034   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7035   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7036 
7037   //=== VK_AMD_gcn_shader ===
7038   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7039   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7040 
7041   //=== VK_NV_dedicated_allocation ===
7042   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7043   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7044   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7045   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7046 
7047   //=== VK_EXT_transform_feedback ===
7048   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7049   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7050 
7051   //=== VK_NVX_binary_import ===
7052   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7053   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7054 
7055   //=== VK_NVX_image_view_handle ===
7056   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7057   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7058 
7059   //=== VK_AMD_draw_indirect_count ===
7060   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7061   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7062   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7063   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7064 
7065   //=== VK_AMD_negative_viewport_height ===
7066   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7067   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7068   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7069   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7070 
7071   //=== VK_AMD_gpu_shader_half_float ===
7072   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7073   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7074   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7075   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7076 
7077   //=== VK_AMD_shader_ballot ===
7078   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7079   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7080 
7081   //=== VK_KHR_video_encode_h264 ===
7082   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7083   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7084 
7085   //=== VK_KHR_video_encode_h265 ===
7086   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7087   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7088 
7089   //=== VK_KHR_video_decode_h264 ===
7090   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7091   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7092 
7093   //=== VK_AMD_texture_gather_bias_lod ===
7094   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7095   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7096 
7097   //=== VK_AMD_shader_info ===
7098   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7099   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7100 
7101   //=== VK_KHR_dynamic_rendering ===
7102   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7103   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7104   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7105   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7106 
7107   //=== VK_AMD_shader_image_load_store_lod ===
7108   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7109   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7110 
7111 #if defined( VK_USE_PLATFORM_GGP )
7112   //=== VK_GGP_stream_descriptor_surface ===
7113   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7114   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7115 #endif /*VK_USE_PLATFORM_GGP*/
7116 
7117   //=== VK_NV_corner_sampled_image ===
7118   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7119   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7120 
7121   //=== VK_KHR_multiview ===
7122   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7123   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7124   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7125   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion = VK_KHR_MULTIVIEW_SPEC_VERSION;
7126 
7127   //=== VK_IMG_format_pvrtc ===
7128   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7129   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7130   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7131   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7132 
7133   //=== VK_NV_external_memory_capabilities ===
7134   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7135   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7136   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7137   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7138 
7139   //=== VK_NV_external_memory ===
7140   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7141   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7142   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7143   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7144 
7145 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7146   //=== VK_NV_external_memory_win32 ===
7147   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7148   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7149   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7150   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7151 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7152 
7153 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7154   //=== VK_NV_win32_keyed_mutex ===
7155   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7156   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7157   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7158   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7159 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7160 
7161   //=== VK_KHR_get_physical_device_properties2 ===
7162   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7163   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7164   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7165   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7166 
7167   //=== VK_KHR_device_group ===
7168   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7169   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7170   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7171   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7172 
7173   //=== VK_EXT_validation_flags ===
7174   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7175   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7176   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7177   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7178 
7179 #if defined( VK_USE_PLATFORM_VI_NN )
7180   //=== VK_NN_vi_surface ===
7181   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7182   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7183 #endif /*VK_USE_PLATFORM_VI_NN*/
7184 
7185   //=== VK_KHR_shader_draw_parameters ===
7186   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7187   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7188   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7189   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7190 
7191   //=== VK_EXT_shader_subgroup_ballot ===
7192   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7193   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7194   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7195   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7196 
7197   //=== VK_EXT_shader_subgroup_vote ===
7198   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7199   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7200   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7201   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7202 
7203   //=== VK_EXT_texture_compression_astc_hdr ===
7204   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7205   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7206   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7207   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7208 
7209   //=== VK_EXT_astc_decode_mode ===
7210   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7211   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7212 
7213   //=== VK_EXT_pipeline_robustness ===
7214   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7215   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7216 
7217   //=== VK_KHR_maintenance1 ===
7218   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7219   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7220   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7221   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7222 
7223   //=== VK_KHR_device_group_creation ===
7224   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7225   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7226   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7227   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7228 
7229   //=== VK_KHR_external_memory_capabilities ===
7230   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7231   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7232   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7233   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7234 
7235   //=== VK_KHR_external_memory ===
7236   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7237   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7238   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7239   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7240 
7241 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7242   //=== VK_KHR_external_memory_win32 ===
7243   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7244   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7245 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7246 
7247   //=== VK_KHR_external_memory_fd ===
7248   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7249   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7250 
7251 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7252   //=== VK_KHR_win32_keyed_mutex ===
7253   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7254   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7255 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7256 
7257   //=== VK_KHR_external_semaphore_capabilities ===
7258   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7259   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7260   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7261   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7262 
7263   //=== VK_KHR_external_semaphore ===
7264   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7265   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7266   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7267   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7268 
7269 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7270   //=== VK_KHR_external_semaphore_win32 ===
7271   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7272   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7273 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7274 
7275   //=== VK_KHR_external_semaphore_fd ===
7276   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7277   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7278 
7279   //=== VK_KHR_push_descriptor ===
7280   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7281   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7282 
7283   //=== VK_EXT_conditional_rendering ===
7284   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7285   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7286 
7287   //=== VK_KHR_shader_float16_int8 ===
7288   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7289   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7290   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7291   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7292 
7293   //=== VK_KHR_16bit_storage ===
7294   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7295   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7296   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7297   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7298 
7299   //=== VK_KHR_incremental_present ===
7300   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7301   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7302 
7303   //=== VK_KHR_descriptor_update_template ===
7304   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7305   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7306   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7307   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7308 
7309   //=== VK_NV_clip_space_w_scaling ===
7310   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7311   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7312 
7313   //=== VK_EXT_direct_mode_display ===
7314   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7315   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7316 
7317 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7318   //=== VK_EXT_acquire_xlib_display ===
7319   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7320   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7321 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7322 
7323   //=== VK_EXT_display_surface_counter ===
7324   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7325   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7326 
7327   //=== VK_EXT_display_control ===
7328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7330 
7331   //=== VK_GOOGLE_display_timing ===
7332   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7333   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7334 
7335   //=== VK_NV_sample_mask_override_coverage ===
7336   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7337   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7338 
7339   //=== VK_NV_geometry_shader_passthrough ===
7340   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7341   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7342 
7343   //=== VK_NV_viewport_array2 ===
7344   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7345   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7346 
7347   //=== VK_NVX_multiview_per_view_attributes ===
7348   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7349   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7350 
7351   //=== VK_NV_viewport_swizzle ===
7352   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7353   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7354 
7355   //=== VK_EXT_discard_rectangles ===
7356   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7357   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7358 
7359   //=== VK_EXT_conservative_rasterization ===
7360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7362 
7363   //=== VK_EXT_depth_clip_enable ===
7364   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7365   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7366 
7367   //=== VK_EXT_swapchain_colorspace ===
7368   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7369   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7370 
7371   //=== VK_EXT_hdr_metadata ===
7372   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7373   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7374 
7375   //=== VK_KHR_imageless_framebuffer ===
7376   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7377   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7378   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7379   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7380 
7381   //=== VK_KHR_create_renderpass2 ===
7382   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7383   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7384   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7385   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7386 
7387   //=== VK_IMG_relaxed_line_rasterization ===
7388   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7389   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7390 
7391   //=== VK_KHR_shared_presentable_image ===
7392   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7393   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7394 
7395   //=== VK_KHR_external_fence_capabilities ===
7396   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7397   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7398   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7399   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7400 
7401   //=== VK_KHR_external_fence ===
7402   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7403   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7404   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7405   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7406 
7407 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7408   //=== VK_KHR_external_fence_win32 ===
7409   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7410   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7411 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7412 
7413   //=== VK_KHR_external_fence_fd ===
7414   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7415   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7416 
7417   //=== VK_KHR_performance_query ===
7418   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7419   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7420 
7421   //=== VK_KHR_maintenance2 ===
7422   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7423   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7424   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7425   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7426 
7427   //=== VK_KHR_get_surface_capabilities2 ===
7428   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7429   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7430 
7431   //=== VK_KHR_variable_pointers ===
7432   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7433   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7434   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7435   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7436 
7437   //=== VK_KHR_get_display_properties2 ===
7438   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7439   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7440 
7441 #if defined( VK_USE_PLATFORM_IOS_MVK )
7442   //=== VK_MVK_ios_surface ===
7443   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7444   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7445   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7446   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7447 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7448 
7449 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7450   //=== VK_MVK_macos_surface ===
7451   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7452   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7453   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7454   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7455 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7456 
7457   //=== VK_EXT_external_memory_dma_buf ===
7458   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7459   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7460 
7461   //=== VK_EXT_queue_family_foreign ===
7462   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7464 
7465   //=== VK_KHR_dedicated_allocation ===
7466   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7467   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7468   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7469   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7470 
7471   //=== VK_EXT_debug_utils ===
7472   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7473   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7474 
7475 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7476   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7477   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7478   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7479 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7480 
7481   //=== VK_EXT_sampler_filter_minmax ===
7482   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7483   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7484   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7485   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7486 
7487   //=== VK_KHR_storage_buffer_storage_class ===
7488   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7489   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7490   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7491   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7492 
7493   //=== VK_AMD_gpu_shader_int16 ===
7494   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7495   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7496   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7497   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7498 
7499 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7500   //=== VK_AMDX_shader_enqueue ===
7501   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7502   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7503 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7504 
7505   //=== VK_AMD_mixed_attachment_samples ===
7506   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7507   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7508 
7509   //=== VK_AMD_shader_fragment_mask ===
7510   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7511   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7512 
7513   //=== VK_EXT_inline_uniform_block ===
7514   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7515   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7516   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7517   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7518 
7519   //=== VK_EXT_shader_stencil_export ===
7520   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7521   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7522 
7523   //=== VK_EXT_sample_locations ===
7524   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7525   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7526 
7527   //=== VK_KHR_relaxed_block_layout ===
7528   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7529   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7530   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7531   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7532 
7533   //=== VK_KHR_get_memory_requirements2 ===
7534   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7535   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7536   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7537   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7538 
7539   //=== VK_KHR_image_format_list ===
7540   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7541   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7542   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7543   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7544 
7545   //=== VK_EXT_blend_operation_advanced ===
7546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7547   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7548 
7549   //=== VK_NV_fragment_coverage_to_color ===
7550   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7551   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7552 
7553   //=== VK_KHR_acceleration_structure ===
7554   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7555   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7556 
7557   //=== VK_KHR_ray_tracing_pipeline ===
7558   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7559   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7560 
7561   //=== VK_KHR_ray_query ===
7562   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7563   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7564 
7565   //=== VK_NV_framebuffer_mixed_samples ===
7566   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7567   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7568 
7569   //=== VK_NV_fill_rectangle ===
7570   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7571   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7572 
7573   //=== VK_NV_shader_sm_builtins ===
7574   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7575   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7576 
7577   //=== VK_EXT_post_depth_coverage ===
7578   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7579   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7580 
7581   //=== VK_KHR_sampler_ycbcr_conversion ===
7582   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7583   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7584   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7585   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7586 
7587   //=== VK_KHR_bind_memory2 ===
7588   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7589   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7590   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7591   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7592 
7593   //=== VK_EXT_image_drm_format_modifier ===
7594   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7595   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7596 
7597   //=== VK_EXT_validation_cache ===
7598   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7599   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7600 
7601   //=== VK_EXT_descriptor_indexing ===
7602   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7603   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7604   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7605   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7606 
7607   //=== VK_EXT_shader_viewport_index_layer ===
7608   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7609   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7610   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7611   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7612 
7613 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7614   //=== VK_KHR_portability_subset ===
7615   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7616   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7617 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7618 
7619   //=== VK_NV_shading_rate_image ===
7620   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7621   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7622 
7623   //=== VK_NV_ray_tracing ===
7624   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7625   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion   = VK_NV_RAY_TRACING_SPEC_VERSION;
7626 
7627   //=== VK_NV_representative_fragment_test ===
7628   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7629   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7630 
7631   //=== VK_KHR_maintenance3 ===
7632   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7633   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7634   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7635   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7636 
7637   //=== VK_KHR_draw_indirect_count ===
7638   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7639   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7640   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7641   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7642 
7643   //=== VK_EXT_filter_cubic ===
7644   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7645   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7646 
7647   //=== VK_QCOM_render_pass_shader_resolve ===
7648   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7649   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7650 
7651   //=== VK_EXT_global_priority ===
7652   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7653   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7654   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7655   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7656 
7657   //=== VK_KHR_shader_subgroup_extended_types ===
7658   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7659   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7660   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7661   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7662 
7663   //=== VK_KHR_8bit_storage ===
7664   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7665   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7666   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7667   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7668 
7669   //=== VK_EXT_external_memory_host ===
7670   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7671   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7672 
7673   //=== VK_AMD_buffer_marker ===
7674   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7675   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7676 
7677   //=== VK_KHR_shader_atomic_int64 ===
7678   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7679   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7680   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7681   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7682 
7683   //=== VK_KHR_shader_clock ===
7684   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7685   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7686 
7687   //=== VK_AMD_pipeline_compiler_control ===
7688   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7689   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7690 
7691   //=== VK_EXT_calibrated_timestamps ===
7692   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7693   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7694   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7696 
7697   //=== VK_AMD_shader_core_properties ===
7698   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7699   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7700 
7701   //=== VK_KHR_video_decode_h265 ===
7702   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7703   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7704 
7705   //=== VK_KHR_global_priority ===
7706   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7707   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7708 
7709   //=== VK_AMD_memory_overallocation_behavior ===
7710   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7711   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7712 
7713   //=== VK_EXT_vertex_attribute_divisor ===
7714   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7715   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7716   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7717   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7718 
7719 #if defined( VK_USE_PLATFORM_GGP )
7720   //=== VK_GGP_frame_token ===
7721   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7722   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7723 #endif /*VK_USE_PLATFORM_GGP*/
7724 
7725   //=== VK_EXT_pipeline_creation_feedback ===
7726   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7727   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7728   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7729   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7730 
7731   //=== VK_KHR_driver_properties ===
7732   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7733   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
7734   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7735   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
7736 
7737   //=== VK_KHR_shader_float_controls ===
7738   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7739   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
7740   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7741   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
7742 
7743   //=== VK_NV_shader_subgroup_partitioned ===
7744   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
7745   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
7746 
7747   //=== VK_KHR_depth_stencil_resolve ===
7748   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7749   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
7750   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7751   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
7752 
7753   //=== VK_KHR_swapchain_mutable_format ===
7754   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
7755   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
7756 
7757   //=== VK_NV_compute_shader_derivatives ===
7758   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
7759   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
7760 
7761   //=== VK_NV_mesh_shader ===
7762   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
7763   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
7764 
7765   //=== VK_NV_fragment_shader_barycentric ===
7766   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7767   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
7768   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7769   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
7770 
7771   //=== VK_NV_shader_image_footprint ===
7772   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
7773   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
7774 
7775   //=== VK_NV_scissor_exclusive ===
7776   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
7777   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
7778 
7779   //=== VK_NV_device_diagnostic_checkpoints ===
7780   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
7781   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
7782 
7783   //=== VK_KHR_timeline_semaphore ===
7784   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7785   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
7786   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7787   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
7788 
7789   //=== VK_INTEL_shader_integer_functions2 ===
7790   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
7791   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
7792 
7793   //=== VK_INTEL_performance_query ===
7794   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
7795   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
7796 
7797   //=== VK_KHR_vulkan_memory_model ===
7798   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7799   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
7800   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7801   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
7802 
7803   //=== VK_EXT_pci_bus_info ===
7804   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
7805   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
7806 
7807   //=== VK_AMD_display_native_hdr ===
7808   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
7809   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
7810 
7811 #if defined( VK_USE_PLATFORM_FUCHSIA )
7812   //=== VK_FUCHSIA_imagepipe_surface ===
7813   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
7814   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
7815 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7816 
7817   //=== VK_KHR_shader_terminate_invocation ===
7818   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7819   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
7820   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7821   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
7822 
7823 #if defined( VK_USE_PLATFORM_METAL_EXT )
7824   //=== VK_EXT_metal_surface ===
7825   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
7826   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
7827 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7828 
7829   //=== VK_EXT_fragment_density_map ===
7830   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
7831   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
7832 
7833   //=== VK_EXT_scalar_block_layout ===
7834   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7835   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
7836   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7837   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
7838 
7839   //=== VK_GOOGLE_hlsl_functionality1 ===
7840   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
7841   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
7842 
7843   //=== VK_GOOGLE_decorate_string ===
7844   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
7845   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
7846 
7847   //=== VK_EXT_subgroup_size_control ===
7848   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7849   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
7850   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7851   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
7852 
7853   //=== VK_KHR_fragment_shading_rate ===
7854   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
7855   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
7856 
7857   //=== VK_AMD_shader_core_properties2 ===
7858   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
7859   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
7860 
7861   //=== VK_AMD_device_coherent_memory ===
7862   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
7863   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
7864 
7865   //=== VK_KHR_dynamic_rendering_local_read ===
7866   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadExtensionName = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME;
7867   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadSpecVersion   = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION;
7868 
7869   //=== VK_EXT_shader_image_atomic_int64 ===
7870   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
7871   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
7872 
7873   //=== VK_KHR_shader_quad_control ===
7874   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlExtensionName = VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME;
7875   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlSpecVersion   = VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION;
7876 
7877   //=== VK_KHR_spirv_1_4 ===
7878   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7879   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
7880   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7881   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion = VK_KHR_SPIRV_1_4_SPEC_VERSION;
7882 
7883   //=== VK_EXT_memory_budget ===
7884   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
7885   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
7886 
7887   //=== VK_EXT_memory_priority ===
7888   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
7889   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
7890 
7891   //=== VK_KHR_surface_protected_capabilities ===
7892   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
7893   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
7894 
7895   //=== VK_NV_dedicated_allocation_image_aliasing ===
7896   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
7897   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
7898 
7899   //=== VK_KHR_separate_depth_stencil_layouts ===
7900   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7901   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
7902   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7903   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
7904 
7905   //=== VK_EXT_buffer_device_address ===
7906   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7907   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7908   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7909   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7910 
7911   //=== VK_EXT_tooling_info ===
7912   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7913   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
7914   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7915   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion = VK_EXT_TOOLING_INFO_SPEC_VERSION;
7916 
7917   //=== VK_EXT_separate_stencil_usage ===
7918   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7919   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
7920   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7921   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
7922 
7923   //=== VK_EXT_validation_features ===
7924   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7925   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
7926   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7927   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
7928 
7929   //=== VK_KHR_present_wait ===
7930   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
7931   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
7932 
7933   //=== VK_NV_cooperative_matrix ===
7934   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
7935   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
7936 
7937   //=== VK_NV_coverage_reduction_mode ===
7938   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
7939   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
7940 
7941   //=== VK_EXT_fragment_shader_interlock ===
7942   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
7943   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
7944 
7945   //=== VK_EXT_ycbcr_image_arrays ===
7946   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
7947   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
7948 
7949   //=== VK_KHR_uniform_buffer_standard_layout ===
7950   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7951   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
7952   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7953   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
7954 
7955   //=== VK_EXT_provoking_vertex ===
7956   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
7957   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
7958 
7959 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7960   //=== VK_EXT_full_screen_exclusive ===
7961   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
7962   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
7963 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7964 
7965   //=== VK_EXT_headless_surface ===
7966   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
7967   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
7968 
7969   //=== VK_KHR_buffer_device_address ===
7970   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7971   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7972   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7973   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7974 
7975   //=== VK_EXT_line_rasterization ===
7976   VULKAN_HPP_DEPRECATED( "The VK_EXT_line_rasterization extension has been promoted to VK_KHR_line_rasterization." )
7977   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
7978   VULKAN_HPP_DEPRECATED( "The VK_EXT_line_rasterization extension has been promoted to VK_KHR_line_rasterization." )
7979   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
7980 
7981   //=== VK_EXT_shader_atomic_float ===
7982   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
7983   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
7984 
7985   //=== VK_EXT_host_query_reset ===
7986   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7987   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
7988   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
7990 
7991   //=== VK_EXT_index_type_uint8 ===
7992   VULKAN_HPP_DEPRECATED( "The VK_EXT_index_type_uint8 extension has been promoted to VK_KHR_index_type_uint8." )
7993   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
7994   VULKAN_HPP_DEPRECATED( "The VK_EXT_index_type_uint8 extension has been promoted to VK_KHR_index_type_uint8." )
7995   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
7996 
7997   //=== VK_EXT_extended_dynamic_state ===
7998   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
7999   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
8000   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
8001   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
8002 
8003   //=== VK_KHR_deferred_host_operations ===
8004   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
8005   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
8006 
8007   //=== VK_KHR_pipeline_executable_properties ===
8008   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
8009   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
8010 
8011   //=== VK_EXT_host_image_copy ===
8012   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
8013   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
8014 
8015   //=== VK_KHR_map_memory2 ===
8016   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
8017   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
8018 
8019   //=== VK_EXT_map_memory_placed ===
8020   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedExtensionName = VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME;
8021   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedSpecVersion   = VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION;
8022 
8023   //=== VK_EXT_shader_atomic_float2 ===
8024   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
8025   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
8026 
8027   //=== VK_EXT_surface_maintenance1 ===
8028   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
8029   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
8030 
8031   //=== VK_EXT_swapchain_maintenance1 ===
8032   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
8033   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
8034 
8035   //=== VK_EXT_shader_demote_to_helper_invocation ===
8036   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
8037   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
8038   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
8039   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
8040 
8041   //=== VK_NV_device_generated_commands ===
8042   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8043   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8044 
8045   //=== VK_NV_inherited_viewport_scissor ===
8046   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
8047   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8048 
8049   //=== VK_KHR_shader_integer_dot_product ===
8050   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8051   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8052   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8053   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8054 
8055   //=== VK_EXT_texel_buffer_alignment ===
8056   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8057   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8058   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8059   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8060 
8061   //=== VK_QCOM_render_pass_transform ===
8062   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8063   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8064 
8065   //=== VK_EXT_depth_bias_control ===
8066   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8067   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8068 
8069   //=== VK_EXT_device_memory_report ===
8070   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8071   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8072 
8073   //=== VK_EXT_acquire_drm_display ===
8074   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8075   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8076 
8077   //=== VK_EXT_robustness2 ===
8078   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8079   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8080 
8081   //=== VK_EXT_custom_border_color ===
8082   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8083   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8084 
8085   //=== VK_GOOGLE_user_type ===
8086   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8087   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8088 
8089   //=== VK_KHR_pipeline_library ===
8090   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8091   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8092 
8093   //=== VK_NV_present_barrier ===
8094   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8095   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8096 
8097   //=== VK_KHR_shader_non_semantic_info ===
8098   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8099   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8100   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8101   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8102 
8103   //=== VK_KHR_present_id ===
8104   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8105   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8106 
8107   //=== VK_EXT_private_data ===
8108   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8109   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8110   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8111   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8112 
8113   //=== VK_EXT_pipeline_creation_cache_control ===
8114   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8115   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8116   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8117   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8118 
8119   //=== VK_KHR_video_encode_queue ===
8120   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8121   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8122 
8123   //=== VK_NV_device_diagnostics_config ===
8124   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8125   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8126 
8127   //=== VK_QCOM_render_pass_store_ops ===
8128   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8129   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8130 
8131 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8132   //=== VK_NV_cuda_kernel_launch ===
8133   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8134   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8135 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8136 
8137   //=== VK_NV_low_latency ===
8138   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8139   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8140 
8141 #if defined( VK_USE_PLATFORM_METAL_EXT )
8142   //=== VK_EXT_metal_objects ===
8143   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8144   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8145 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8146 
8147   //=== VK_KHR_synchronization2 ===
8148   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8149   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8150   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8151   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8152 
8153   //=== VK_EXT_descriptor_buffer ===
8154   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8155   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8156 
8157   //=== VK_EXT_graphics_pipeline_library ===
8158   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8159   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8160 
8161   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8162   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8163   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8164 
8165   //=== VK_KHR_fragment_shader_barycentric ===
8166   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8167   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8168 
8169   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8170   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8171   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8172 
8173   //=== VK_KHR_zero_initialize_workgroup_memory ===
8174   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8175   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8176   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8177   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8178 
8179   //=== VK_NV_fragment_shading_rate_enums ===
8180   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8181   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8182 
8183   //=== VK_NV_ray_tracing_motion_blur ===
8184   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8185   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8186 
8187   //=== VK_EXT_mesh_shader ===
8188   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8189   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8190 
8191   //=== VK_EXT_ycbcr_2plane_444_formats ===
8192   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8193   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8194   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8195   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8196 
8197   //=== VK_EXT_fragment_density_map2 ===
8198   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8199   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8200 
8201   //=== VK_QCOM_rotated_copy_commands ===
8202   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8203   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8204 
8205   //=== VK_EXT_image_robustness ===
8206   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8207   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8208   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8209   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8210 
8211   //=== VK_KHR_workgroup_memory_explicit_layout ===
8212   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8213   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8214 
8215   //=== VK_KHR_copy_commands2 ===
8216   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8217   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8218   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8219   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8220 
8221   //=== VK_EXT_image_compression_control ===
8222   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8223   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8224 
8225   //=== VK_EXT_attachment_feedback_loop_layout ===
8226   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8227   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8228 
8229   //=== VK_EXT_4444_formats ===
8230   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8231   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8232   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8233   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion = VK_EXT_4444_FORMATS_SPEC_VERSION;
8234 
8235   //=== VK_EXT_device_fault ===
8236   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8237   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8238 
8239   //=== VK_ARM_rasterization_order_attachment_access ===
8240   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8241   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8242   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8243   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8244 
8245   //=== VK_EXT_rgba10x6_formats ===
8246   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8247   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8248 
8249 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8250   //=== VK_NV_acquire_winrt_display ===
8251   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8252   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8253 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8254 
8255 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8256   //=== VK_EXT_directfb_surface ===
8257   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8258   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8259 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8260 
8261   //=== VK_VALVE_mutable_descriptor_type ===
8262   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8263   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8264   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8265   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8266 
8267   //=== VK_EXT_vertex_input_dynamic_state ===
8268   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8269   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8270 
8271   //=== VK_EXT_physical_device_drm ===
8272   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8273   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8274 
8275   //=== VK_EXT_device_address_binding_report ===
8276   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8277   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8278 
8279   //=== VK_EXT_depth_clip_control ===
8280   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8281   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8282 
8283   //=== VK_EXT_primitive_topology_list_restart ===
8284   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8285   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8286 
8287   //=== VK_KHR_format_feature_flags2 ===
8288   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8289   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8290   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8291   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8292 
8293 #if defined( VK_USE_PLATFORM_FUCHSIA )
8294   //=== VK_FUCHSIA_external_memory ===
8295   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8296   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8297 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8298 
8299 #if defined( VK_USE_PLATFORM_FUCHSIA )
8300   //=== VK_FUCHSIA_external_semaphore ===
8301   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8302   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8303 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8304 
8305 #if defined( VK_USE_PLATFORM_FUCHSIA )
8306   //=== VK_FUCHSIA_buffer_collection ===
8307   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8308   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8309 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8310 
8311   //=== VK_HUAWEI_subpass_shading ===
8312   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8313   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8314 
8315   //=== VK_HUAWEI_invocation_mask ===
8316   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8317   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8318 
8319   //=== VK_NV_external_memory_rdma ===
8320   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8321   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8322 
8323   //=== VK_EXT_pipeline_properties ===
8324   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8325   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8326 
8327   //=== VK_EXT_frame_boundary ===
8328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8330 
8331   //=== VK_EXT_multisampled_render_to_single_sampled ===
8332   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8333   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8334 
8335   //=== VK_EXT_extended_dynamic_state2 ===
8336   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8337   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8338   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8339   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8340 
8341 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8342   //=== VK_QNX_screen_surface ===
8343   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8344   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8345 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8346 
8347   //=== VK_EXT_color_write_enable ===
8348   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8349   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8350 
8351   //=== VK_EXT_primitives_generated_query ===
8352   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8353   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8354 
8355   //=== VK_KHR_ray_tracing_maintenance1 ===
8356   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8357   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8358 
8359   //=== VK_EXT_global_priority_query ===
8360   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8362   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8363   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8364 
8365   //=== VK_EXT_image_view_min_lod ===
8366   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8367   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8368 
8369   //=== VK_EXT_multi_draw ===
8370   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8371   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8372 
8373   //=== VK_EXT_image_2d_view_of_3d ===
8374   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8375   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8376 
8377   //=== VK_KHR_portability_enumeration ===
8378   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8379   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8380 
8381   //=== VK_EXT_shader_tile_image ===
8382   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8383   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8384 
8385   //=== VK_EXT_opacity_micromap ===
8386   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8387   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8388 
8389 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8390   //=== VK_NV_displacement_micromap ===
8391   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8392   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8393 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8394 
8395   //=== VK_EXT_load_store_op_none ===
8396   VULKAN_HPP_DEPRECATED( "The VK_EXT_load_store_op_none extension has been promoted to VK_KHR_load_store_op_none." )
8397   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8398   VULKAN_HPP_DEPRECATED( "The VK_EXT_load_store_op_none extension has been promoted to VK_KHR_load_store_op_none." )
8399   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8400 
8401   //=== VK_HUAWEI_cluster_culling_shader ===
8402   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8403   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8404 
8405   //=== VK_EXT_border_color_swizzle ===
8406   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8407   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8408 
8409   //=== VK_EXT_pageable_device_local_memory ===
8410   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8411   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8412 
8413   //=== VK_KHR_maintenance4 ===
8414   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8415   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8416   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8417   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8418 
8419   //=== VK_ARM_shader_core_properties ===
8420   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8421   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8422 
8423   //=== VK_KHR_shader_subgroup_rotate ===
8424   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateExtensionName = VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME;
8425   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateSpecVersion   = VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION;
8426 
8427   //=== VK_ARM_scheduling_controls ===
8428   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8429   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8430 
8431   //=== VK_EXT_image_sliced_view_of_3d ===
8432   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8433   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8434 
8435   //=== VK_VALVE_descriptor_set_host_mapping ===
8436   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8437   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8438 
8439   //=== VK_EXT_depth_clamp_zero_one ===
8440   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8441   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8442 
8443   //=== VK_EXT_non_seamless_cube_map ===
8444   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8445   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8446 
8447   //=== VK_ARM_render_pass_striped ===
8448   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8449   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8450 
8451   //=== VK_QCOM_fragment_density_map_offset ===
8452   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8453   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8454 
8455   //=== VK_NV_copy_memory_indirect ===
8456   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8457   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8458 
8459   //=== VK_NV_memory_decompression ===
8460   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8461   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8462 
8463   //=== VK_NV_device_generated_commands_compute ===
8464   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8465   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8466 
8467   //=== VK_NV_linear_color_attachment ===
8468   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8469   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8470 
8471   //=== VK_GOOGLE_surfaceless_query ===
8472   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8473   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8474 
8475   //=== VK_KHR_shader_maximal_reconvergence ===
8476   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceExtensionName = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME;
8477   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceSpecVersion   = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION;
8478 
8479   //=== VK_EXT_image_compression_control_swapchain ===
8480   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8481   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8482 
8483   //=== VK_QCOM_image_processing ===
8484   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8485   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8486 
8487   //=== VK_EXT_nested_command_buffer ===
8488   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8489   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8490 
8491   //=== VK_EXT_external_memory_acquire_unmodified ===
8492   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8493   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8494 
8495   //=== VK_EXT_extended_dynamic_state3 ===
8496   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8497   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8498 
8499   //=== VK_EXT_subpass_merge_feedback ===
8500   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8501   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8502 
8503   //=== VK_LUNARG_direct_driver_loading ===
8504   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8505   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8506 
8507   //=== VK_EXT_shader_module_identifier ===
8508   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8509   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8510 
8511   //=== VK_EXT_rasterization_order_attachment_access ===
8512   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8513   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8514 
8515   //=== VK_NV_optical_flow ===
8516   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8517   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8518 
8519   //=== VK_EXT_legacy_dithering ===
8520   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8521   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8522 
8523   //=== VK_EXT_pipeline_protected_access ===
8524   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8525   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8526 
8527 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8528   //=== VK_ANDROID_external_format_resolve ===
8529   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8530   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8531 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8532 
8533   //=== VK_KHR_maintenance5 ===
8534   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8535   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8536 
8537   //=== VK_KHR_ray_tracing_position_fetch ===
8538   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8539   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8540 
8541   //=== VK_EXT_shader_object ===
8542   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8543   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8544 
8545   //=== VK_QCOM_tile_properties ===
8546   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8547   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8548 
8549   //=== VK_SEC_amigo_profiling ===
8550   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8551   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8552 
8553   //=== VK_QCOM_multiview_per_view_viewports ===
8554   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8555   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8556 
8557   //=== VK_NV_ray_tracing_invocation_reorder ===
8558   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8559   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8560 
8561   //=== VK_NV_extended_sparse_address_space ===
8562   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8563   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8564 
8565   //=== VK_EXT_mutable_descriptor_type ===
8566   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8567   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8568 
8569   //=== VK_EXT_legacy_vertex_attributes ===
8570   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesExtensionName = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME;
8571   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesSpecVersion   = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION;
8572 
8573   //=== VK_EXT_layer_settings ===
8574   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8575   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8576 
8577   //=== VK_ARM_shader_core_builtins ===
8578   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8579   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8580 
8581   //=== VK_EXT_pipeline_library_group_handles ===
8582   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8583   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8584 
8585   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8586   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8587   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8588 
8589   //=== VK_NV_low_latency2 ===
8590   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8591   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8592 
8593   //=== VK_KHR_cooperative_matrix ===
8594   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8595   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8596 
8597   //=== VK_QCOM_multiview_per_view_render_areas ===
8598   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8599   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8600 
8601   //=== VK_KHR_video_decode_av1 ===
8602   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1ExtensionName = VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME;
8603   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1SpecVersion   = VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION;
8604 
8605   //=== VK_KHR_video_maintenance1 ===
8606   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8607   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8608 
8609   //=== VK_NV_per_stage_descriptor_set ===
8610   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8611   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8612 
8613   //=== VK_QCOM_image_processing2 ===
8614   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8615   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8616 
8617   //=== VK_QCOM_filter_cubic_weights ===
8618   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8619   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8620 
8621   //=== VK_QCOM_ycbcr_degamma ===
8622   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8623   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8624 
8625   //=== VK_QCOM_filter_cubic_clamp ===
8626   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8627   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8628 
8629   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8630   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8631   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8632 
8633   //=== VK_KHR_vertex_attribute_divisor ===
8634   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8635   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8636 
8637   //=== VK_KHR_load_store_op_none ===
8638   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneExtensionName = VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8639   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneSpecVersion   = VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION;
8640 
8641   //=== VK_KHR_shader_float_controls2 ===
8642   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2ExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME;
8643   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2SpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION;
8644 
8645 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8646   //=== VK_QNX_external_memory_screen_buffer ===
8647   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8648   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8649 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8650 
8651   //=== VK_MSFT_layered_driver ===
8652   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8653   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8654 
8655   //=== VK_KHR_index_type_uint8 ===
8656   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8ExtensionName = VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME;
8657   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8SpecVersion   = VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION;
8658 
8659   //=== VK_KHR_line_rasterization ===
8660   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationExtensionName = VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME;
8661   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationSpecVersion   = VK_KHR_LINE_RASTERIZATION_SPEC_VERSION;
8662 
8663   //=== VK_KHR_calibrated_timestamps ===
8664   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8665   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8666 
8667   //=== VK_KHR_shader_expect_assume ===
8668   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeExtensionName = VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME;
8669   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeSpecVersion   = VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION;
8670 
8671   //=== VK_KHR_maintenance6 ===
8672   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8673   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8674 
8675   //=== VK_NV_descriptor_pool_overallocation ===
8676   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8677   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8678 
8679   //=== VK_NV_raw_access_chains ===
8680   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsExtensionName = VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME;
8681   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsSpecVersion   = VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION;
8682 
8683   //=== VK_NV_shader_atomic_float16_vector ===
8684   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorExtensionName = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME;
8685   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorSpecVersion   = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION;
8686 
8687   //=== VK_EXT_shader_replicated_composites ===
8688   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesExtensionName = VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME;
8689   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesSpecVersion   = VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION;
8690 
8691   //=== VK_NV_ray_tracing_validation ===
8692   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationExtensionName = VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME;
8693   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationSpecVersion   = VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION;
8694 
8695   //=== VK_MESA_image_alignment_control ===
8696   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlExtensionName = VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME;
8697   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlSpecVersion   = VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION;
8698 
8699 }  // namespace VULKAN_HPP_NAMESPACE
8700 
8701 // clang-format off
8702 #include <vulkan/vulkan_handles.hpp>
8703 #include <vulkan/vulkan_structs.hpp>
8704 #include <vulkan/vulkan_funcs.hpp>
8705 
8706 // clang-format on
8707 
8708 namespace VULKAN_HPP_NAMESPACE
8709 {
8710 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8711 
8712   //=======================
8713   //=== STRUCTS EXTENDS ===
8714   //=======================
8715 
8716   //=== VK_VERSION_1_0 ===
8717   template <>
8718   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
8719   {
8720     enum
8721     {
8722       value = true
8723     };
8724   };
8725 
8726   template <>
8727   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfoKHR>
8728   {
8729     enum
8730     {
8731       value = true
8732     };
8733   };
8734 
8735   template <>
8736   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfoKHR>
8737   {
8738     enum
8739     {
8740       value = true
8741     };
8742   };
8743 
8744   template <>
8745   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfoKHR>
8746   {
8747     enum
8748     {
8749       value = true
8750     };
8751   };
8752 
8753   template <>
8754   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfoKHR>
8755   {
8756     enum
8757     {
8758       value = true
8759     };
8760   };
8761 
8762   template <>
8763   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
8764   {
8765     enum
8766     {
8767       value = true
8768     };
8769   };
8770 
8771   template <>
8772   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
8773   {
8774     enum
8775     {
8776       value = true
8777     };
8778   };
8779 
8780   //=== VK_VERSION_1_1 ===
8781   template <>
8782   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8783   {
8784     enum
8785     {
8786       value = true
8787     };
8788   };
8789 
8790   template <>
8791   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
8792   {
8793     enum
8794     {
8795       value = true
8796     };
8797   };
8798 
8799   template <>
8800   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
8801   {
8802     enum
8803     {
8804       value = true
8805     };
8806   };
8807 
8808   template <>
8809   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
8810   {
8811     enum
8812     {
8813       value = true
8814     };
8815   };
8816 
8817   template <>
8818   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
8819   {
8820     enum
8821     {
8822       value = true
8823     };
8824   };
8825 
8826   template <>
8827   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
8828   {
8829     enum
8830     {
8831       value = true
8832     };
8833   };
8834 
8835   template <>
8836   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
8837   {
8838     enum
8839     {
8840       value = true
8841     };
8842   };
8843 
8844   template <>
8845   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
8846   {
8847     enum
8848     {
8849       value = true
8850     };
8851   };
8852 
8853   template <>
8854   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
8855   {
8856     enum
8857     {
8858       value = true
8859     };
8860   };
8861 
8862   template <>
8863   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
8864   {
8865     enum
8866     {
8867       value = true
8868     };
8869   };
8870 
8871   template <>
8872   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
8873   {
8874     enum
8875     {
8876       value = true
8877     };
8878   };
8879 
8880   template <>
8881   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
8882   {
8883     enum
8884     {
8885       value = true
8886     };
8887   };
8888 
8889   template <>
8890   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
8891   {
8892     enum
8893     {
8894       value = true
8895     };
8896   };
8897 
8898   template <>
8899   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
8900   {
8901     enum
8902     {
8903       value = true
8904     };
8905   };
8906 
8907   template <>
8908   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
8909   {
8910     enum
8911     {
8912       value = true
8913     };
8914   };
8915 
8916   template <>
8917   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
8918   {
8919     enum
8920     {
8921       value = true
8922     };
8923   };
8924 
8925   template <>
8926   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
8927   {
8928     enum
8929     {
8930       value = true
8931     };
8932   };
8933 
8934   template <>
8935   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
8936   {
8937     enum
8938     {
8939       value = true
8940     };
8941   };
8942 
8943   template <>
8944   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
8945   {
8946     enum
8947     {
8948       value = true
8949     };
8950   };
8951 
8952   template <>
8953   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
8954   {
8955     enum
8956     {
8957       value = true
8958     };
8959   };
8960 
8961   template <>
8962   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
8963   {
8964     enum
8965     {
8966       value = true
8967     };
8968   };
8969 
8970   template <>
8971   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
8972   {
8973     enum
8974     {
8975       value = true
8976     };
8977   };
8978 
8979   template <>
8980   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
8981   {
8982     enum
8983     {
8984       value = true
8985     };
8986   };
8987 
8988   template <>
8989   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
8990   {
8991     enum
8992     {
8993       value = true
8994     };
8995   };
8996 
8997   template <>
8998   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
8999   {
9000     enum
9001     {
9002       value = true
9003     };
9004   };
9005 
9006   template <>
9007   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
9008   {
9009     enum
9010     {
9011       value = true
9012     };
9013   };
9014 
9015   template <>
9016   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
9017   {
9018     enum
9019     {
9020       value = true
9021     };
9022   };
9023 
9024   template <>
9025   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
9026   {
9027     enum
9028     {
9029       value = true
9030     };
9031   };
9032 
9033   template <>
9034   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
9035   {
9036     enum
9037     {
9038       value = true
9039     };
9040   };
9041 
9042   template <>
9043   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
9044   {
9045     enum
9046     {
9047       value = true
9048     };
9049   };
9050 
9051   template <>
9052   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
9053   {
9054     enum
9055     {
9056       value = true
9057     };
9058   };
9059 
9060   template <>
9061   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
9062   {
9063     enum
9064     {
9065       value = true
9066     };
9067   };
9068 
9069   template <>
9070   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
9071   {
9072     enum
9073     {
9074       value = true
9075     };
9076   };
9077 
9078   template <>
9079   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
9080   {
9081     enum
9082     {
9083       value = true
9084     };
9085   };
9086 
9087   template <>
9088   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
9089   {
9090     enum
9091     {
9092       value = true
9093     };
9094   };
9095 
9096   template <>
9097   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9098   {
9099     enum
9100     {
9101       value = true
9102     };
9103   };
9104 
9105   template <>
9106   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9107   {
9108     enum
9109     {
9110       value = true
9111     };
9112   };
9113 
9114   template <>
9115   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9116   {
9117     enum
9118     {
9119       value = true
9120     };
9121   };
9122 
9123   template <>
9124   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9125   {
9126     enum
9127     {
9128       value = true
9129     };
9130   };
9131 
9132   template <>
9133   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9134   {
9135     enum
9136     {
9137       value = true
9138     };
9139   };
9140 
9141   template <>
9142   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9143   {
9144     enum
9145     {
9146       value = true
9147     };
9148   };
9149 
9150   template <>
9151   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9152   {
9153     enum
9154     {
9155       value = true
9156     };
9157   };
9158 
9159   template <>
9160   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9161   {
9162     enum
9163     {
9164       value = true
9165     };
9166   };
9167 
9168   template <>
9169   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9170   {
9171     enum
9172     {
9173       value = true
9174     };
9175   };
9176 
9177   template <>
9178   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9179   {
9180     enum
9181     {
9182       value = true
9183     };
9184   };
9185 
9186   template <>
9187   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9188   {
9189     enum
9190     {
9191       value = true
9192     };
9193   };
9194 
9195   template <>
9196   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9197   {
9198     enum
9199     {
9200       value = true
9201     };
9202   };
9203 
9204   //=== VK_VERSION_1_2 ===
9205   template <>
9206   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9207   {
9208     enum
9209     {
9210       value = true
9211     };
9212   };
9213 
9214   template <>
9215   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9216   {
9217     enum
9218     {
9219       value = true
9220     };
9221   };
9222 
9223   template <>
9224   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9225   {
9226     enum
9227     {
9228       value = true
9229     };
9230   };
9231 
9232   template <>
9233   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9234   {
9235     enum
9236     {
9237       value = true
9238     };
9239   };
9240 
9241   template <>
9242   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9243   {
9244     enum
9245     {
9246       value = true
9247     };
9248   };
9249 
9250   template <>
9251   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9252   {
9253     enum
9254     {
9255       value = true
9256     };
9257   };
9258 
9259   template <>
9260   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9261   {
9262     enum
9263     {
9264       value = true
9265     };
9266   };
9267 
9268   template <>
9269   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9270   {
9271     enum
9272     {
9273       value = true
9274     };
9275   };
9276 
9277   template <>
9278   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9279   {
9280     enum
9281     {
9282       value = true
9283     };
9284   };
9285 
9286   template <>
9287   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9288   {
9289     enum
9290     {
9291       value = true
9292     };
9293   };
9294 
9295   template <>
9296   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9297   {
9298     enum
9299     {
9300       value = true
9301     };
9302   };
9303 
9304   template <>
9305   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9306   {
9307     enum
9308     {
9309       value = true
9310     };
9311   };
9312 
9313   template <>
9314   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9315   {
9316     enum
9317     {
9318       value = true
9319     };
9320   };
9321 
9322   template <>
9323   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9324   {
9325     enum
9326     {
9327       value = true
9328     };
9329   };
9330 
9331   template <>
9332   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9333   {
9334     enum
9335     {
9336       value = true
9337     };
9338   };
9339 
9340   template <>
9341   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9342   {
9343     enum
9344     {
9345       value = true
9346     };
9347   };
9348 
9349   template <>
9350   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9351   {
9352     enum
9353     {
9354       value = true
9355     };
9356   };
9357 
9358   template <>
9359   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9360   {
9361     enum
9362     {
9363       value = true
9364     };
9365   };
9366 
9367   template <>
9368   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9369   {
9370     enum
9371     {
9372       value = true
9373     };
9374   };
9375 
9376   template <>
9377   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9378   {
9379     enum
9380     {
9381       value = true
9382     };
9383   };
9384 
9385   template <>
9386   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9387   {
9388     enum
9389     {
9390       value = true
9391     };
9392   };
9393 
9394   template <>
9395   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9396   {
9397     enum
9398     {
9399       value = true
9400     };
9401   };
9402 
9403   template <>
9404   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9405   {
9406     enum
9407     {
9408       value = true
9409     };
9410   };
9411 
9412   template <>
9413   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9414   {
9415     enum
9416     {
9417       value = true
9418     };
9419   };
9420 
9421   template <>
9422   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9423   {
9424     enum
9425     {
9426       value = true
9427     };
9428   };
9429 
9430   template <>
9431   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9432   {
9433     enum
9434     {
9435       value = true
9436     };
9437   };
9438 
9439   template <>
9440   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9441   {
9442     enum
9443     {
9444       value = true
9445     };
9446   };
9447 
9448   template <>
9449   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9450   {
9451     enum
9452     {
9453       value = true
9454     };
9455   };
9456 
9457   template <>
9458   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9459   {
9460     enum
9461     {
9462       value = true
9463     };
9464   };
9465 
9466   template <>
9467   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9468   {
9469     enum
9470     {
9471       value = true
9472     };
9473   };
9474 
9475   template <>
9476   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9477   {
9478     enum
9479     {
9480       value = true
9481     };
9482   };
9483 
9484   template <>
9485   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9486   {
9487     enum
9488     {
9489       value = true
9490     };
9491   };
9492 
9493   template <>
9494   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9495   {
9496     enum
9497     {
9498       value = true
9499     };
9500   };
9501 
9502   template <>
9503   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9504   {
9505     enum
9506     {
9507       value = true
9508     };
9509   };
9510 
9511   template <>
9512   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9513   {
9514     enum
9515     {
9516       value = true
9517     };
9518   };
9519 
9520   template <>
9521   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9522   {
9523     enum
9524     {
9525       value = true
9526     };
9527   };
9528 
9529   template <>
9530   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9531   {
9532     enum
9533     {
9534       value = true
9535     };
9536   };
9537 
9538   template <>
9539   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9540   {
9541     enum
9542     {
9543       value = true
9544     };
9545   };
9546 
9547   template <>
9548   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9549   {
9550     enum
9551     {
9552       value = true
9553     };
9554   };
9555 
9556   template <>
9557   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9558   {
9559     enum
9560     {
9561       value = true
9562     };
9563   };
9564 
9565   template <>
9566   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9567   {
9568     enum
9569     {
9570       value = true
9571     };
9572   };
9573 
9574   template <>
9575   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9576   {
9577     enum
9578     {
9579       value = true
9580     };
9581   };
9582 
9583   template <>
9584   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9585   {
9586     enum
9587     {
9588       value = true
9589     };
9590   };
9591 
9592   template <>
9593   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9594   {
9595     enum
9596     {
9597       value = true
9598     };
9599   };
9600 
9601   template <>
9602   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9603   {
9604     enum
9605     {
9606       value = true
9607     };
9608   };
9609 
9610   template <>
9611   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9612   {
9613     enum
9614     {
9615       value = true
9616     };
9617   };
9618 
9619   template <>
9620   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9621   {
9622     enum
9623     {
9624       value = true
9625     };
9626   };
9627 
9628   template <>
9629   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9630   {
9631     enum
9632     {
9633       value = true
9634     };
9635   };
9636 
9637   template <>
9638   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9639   {
9640     enum
9641     {
9642       value = true
9643     };
9644   };
9645 
9646   template <>
9647   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9648   {
9649     enum
9650     {
9651       value = true
9652     };
9653   };
9654 
9655   template <>
9656   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9657   {
9658     enum
9659     {
9660       value = true
9661     };
9662   };
9663 
9664   template <>
9665   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9666   {
9667     enum
9668     {
9669       value = true
9670     };
9671   };
9672 
9673   template <>
9674   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9675   {
9676     enum
9677     {
9678       value = true
9679     };
9680   };
9681 
9682   template <>
9683   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9684   {
9685     enum
9686     {
9687       value = true
9688     };
9689   };
9690 
9691   template <>
9692   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9693   {
9694     enum
9695     {
9696       value = true
9697     };
9698   };
9699 
9700   template <>
9701   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
9702   {
9703     enum
9704     {
9705       value = true
9706     };
9707   };
9708 
9709   template <>
9710   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
9711   {
9712     enum
9713     {
9714       value = true
9715     };
9716   };
9717 
9718   template <>
9719   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
9720   {
9721     enum
9722     {
9723       value = true
9724     };
9725   };
9726 
9727   //=== VK_VERSION_1_3 ===
9728   template <>
9729   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
9730   {
9731     enum
9732     {
9733       value = true
9734     };
9735   };
9736 
9737   template <>
9738   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
9739   {
9740     enum
9741     {
9742       value = true
9743     };
9744   };
9745 
9746   template <>
9747   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
9748   {
9749     enum
9750     {
9751       value = true
9752     };
9753   };
9754 
9755   template <>
9756   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
9757   {
9758     enum
9759     {
9760       value = true
9761     };
9762   };
9763 
9764   template <>
9765   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
9766   {
9767     enum
9768     {
9769       value = true
9770     };
9771   };
9772 
9773   template <>
9774   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
9775   {
9776     enum
9777     {
9778       value = true
9779     };
9780   };
9781 
9782   template <>
9783   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
9784   {
9785     enum
9786     {
9787       value = true
9788     };
9789   };
9790 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
9791   template <>
9792   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
9793   {
9794     enum
9795     {
9796       value = true
9797     };
9798   };
9799 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
9800   template <>
9801   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
9802   {
9803     enum
9804     {
9805       value = true
9806     };
9807   };
9808 
9809   template <>
9810   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
9811   {
9812     enum
9813     {
9814       value = true
9815     };
9816   };
9817 
9818   template <>
9819   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
9820   {
9821     enum
9822     {
9823       value = true
9824     };
9825   };
9826 
9827   template <>
9828   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
9829   {
9830     enum
9831     {
9832       value = true
9833     };
9834   };
9835 
9836   template <>
9837   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
9838   {
9839     enum
9840     {
9841       value = true
9842     };
9843   };
9844 
9845   template <>
9846   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
9847   {
9848     enum
9849     {
9850       value = true
9851     };
9852   };
9853 
9854   template <>
9855   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
9856   {
9857     enum
9858     {
9859       value = true
9860     };
9861   };
9862 
9863   template <>
9864   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
9865   {
9866     enum
9867     {
9868       value = true
9869     };
9870   };
9871 
9872   template <>
9873   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
9874   {
9875     enum
9876     {
9877       value = true
9878     };
9879   };
9880 
9881   template <>
9882   struct StructExtends<MemoryBarrier2, SubpassDependency2>
9883   {
9884     enum
9885     {
9886       value = true
9887     };
9888   };
9889 
9890   template <>
9891   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
9892   {
9893     enum
9894     {
9895       value = true
9896     };
9897   };
9898 
9899   template <>
9900   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
9901   {
9902     enum
9903     {
9904       value = true
9905     };
9906   };
9907 
9908   template <>
9909   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
9910   {
9911     enum
9912     {
9913       value = true
9914     };
9915   };
9916 
9917   template <>
9918   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
9919   {
9920     enum
9921     {
9922       value = true
9923     };
9924   };
9925 
9926   template <>
9927   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
9928   {
9929     enum
9930     {
9931       value = true
9932     };
9933   };
9934 
9935   template <>
9936   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
9937   {
9938     enum
9939     {
9940       value = true
9941     };
9942   };
9943 
9944   template <>
9945   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
9946   {
9947     enum
9948     {
9949       value = true
9950     };
9951   };
9952 
9953   template <>
9954   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
9955   {
9956     enum
9957     {
9958       value = true
9959     };
9960   };
9961 
9962   template <>
9963   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
9964   {
9965     enum
9966     {
9967       value = true
9968     };
9969   };
9970 
9971   template <>
9972   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
9973   {
9974     enum
9975     {
9976       value = true
9977     };
9978   };
9979 
9980   template <>
9981   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
9982   {
9983     enum
9984     {
9985       value = true
9986     };
9987   };
9988 
9989   template <>
9990   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
9991   {
9992     enum
9993     {
9994       value = true
9995     };
9996   };
9997 
9998   template <>
9999   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
10000   {
10001     enum
10002     {
10003       value = true
10004     };
10005   };
10006 
10007   template <>
10008   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
10009   {
10010     enum
10011     {
10012       value = true
10013     };
10014   };
10015 
10016   template <>
10017   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
10018   {
10019     enum
10020     {
10021       value = true
10022     };
10023   };
10024 
10025   template <>
10026   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
10027   {
10028     enum
10029     {
10030       value = true
10031     };
10032   };
10033 
10034   template <>
10035   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
10036   {
10037     enum
10038     {
10039       value = true
10040     };
10041   };
10042 
10043   template <>
10044   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
10045   {
10046     enum
10047     {
10048       value = true
10049     };
10050   };
10051 
10052   template <>
10053   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
10054   {
10055     enum
10056     {
10057       value = true
10058     };
10059   };
10060 
10061   template <>
10062   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
10063   {
10064     enum
10065     {
10066       value = true
10067     };
10068   };
10069 
10070   template <>
10071   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
10072   {
10073     enum
10074     {
10075       value = true
10076     };
10077   };
10078 
10079   template <>
10080   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
10081   {
10082     enum
10083     {
10084       value = true
10085     };
10086   };
10087 
10088   template <>
10089   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
10090   {
10091     enum
10092     {
10093       value = true
10094     };
10095   };
10096 
10097   template <>
10098   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
10099   {
10100     enum
10101     {
10102       value = true
10103     };
10104   };
10105 
10106   template <>
10107   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10108   {
10109     enum
10110     {
10111       value = true
10112     };
10113   };
10114 
10115   template <>
10116   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10117   {
10118     enum
10119     {
10120       value = true
10121     };
10122   };
10123 
10124   template <>
10125   struct StructExtends<FormatProperties3, FormatProperties2>
10126   {
10127     enum
10128     {
10129       value = true
10130     };
10131   };
10132 
10133   template <>
10134   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10135   {
10136     enum
10137     {
10138       value = true
10139     };
10140   };
10141 
10142   template <>
10143   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10144   {
10145     enum
10146     {
10147       value = true
10148     };
10149   };
10150 
10151   template <>
10152   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10153   {
10154     enum
10155     {
10156       value = true
10157     };
10158   };
10159 
10160   //=== VK_KHR_swapchain ===
10161   template <>
10162   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
10163   {
10164     enum
10165     {
10166       value = true
10167     };
10168   };
10169 
10170   template <>
10171   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
10172   {
10173     enum
10174     {
10175       value = true
10176     };
10177   };
10178 
10179   template <>
10180   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
10181   {
10182     enum
10183     {
10184       value = true
10185     };
10186   };
10187 
10188   template <>
10189   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
10190   {
10191     enum
10192     {
10193       value = true
10194     };
10195   };
10196 
10197   //=== VK_KHR_display_swapchain ===
10198   template <>
10199   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
10200   {
10201     enum
10202     {
10203       value = true
10204     };
10205   };
10206 
10207   //=== VK_EXT_debug_report ===
10208   template <>
10209   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
10210   {
10211     enum
10212     {
10213       value = true
10214     };
10215   };
10216 
10217   //=== VK_AMD_rasterization_order ===
10218   template <>
10219   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
10220   {
10221     enum
10222     {
10223       value = true
10224     };
10225   };
10226 
10227   //=== VK_KHR_video_queue ===
10228   template <>
10229   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
10230   {
10231     enum
10232     {
10233       value = true
10234     };
10235   };
10236 
10237   template <>
10238   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
10239   {
10240     enum
10241     {
10242       value = true
10243     };
10244   };
10245 
10246   template <>
10247   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
10248   {
10249     enum
10250     {
10251       value = true
10252     };
10253   };
10254 
10255   template <>
10256   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
10257   {
10258     enum
10259     {
10260       value = true
10261     };
10262   };
10263 
10264   template <>
10265   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
10266   {
10267     enum
10268     {
10269       value = true
10270     };
10271   };
10272 
10273   template <>
10274   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
10275   {
10276     enum
10277     {
10278       value = true
10279     };
10280   };
10281 
10282   template <>
10283   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
10284   {
10285     enum
10286     {
10287       value = true
10288     };
10289   };
10290 
10291   //=== VK_KHR_video_decode_queue ===
10292   template <>
10293   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
10294   {
10295     enum
10296     {
10297       value = true
10298     };
10299   };
10300 
10301   template <>
10302   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
10303   {
10304     enum
10305     {
10306       value = true
10307     };
10308   };
10309 
10310   template <>
10311   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
10312   {
10313     enum
10314     {
10315       value = true
10316     };
10317   };
10318 
10319   //=== VK_NV_dedicated_allocation ===
10320   template <>
10321   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
10322   {
10323     enum
10324     {
10325       value = true
10326     };
10327   };
10328 
10329   template <>
10330   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
10331   {
10332     enum
10333     {
10334       value = true
10335     };
10336   };
10337 
10338   template <>
10339   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
10340   {
10341     enum
10342     {
10343       value = true
10344     };
10345   };
10346 
10347   //=== VK_EXT_transform_feedback ===
10348   template <>
10349   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
10350   {
10351     enum
10352     {
10353       value = true
10354     };
10355   };
10356 
10357   template <>
10358   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
10359   {
10360     enum
10361     {
10362       value = true
10363     };
10364   };
10365 
10366   template <>
10367   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
10368   {
10369     enum
10370     {
10371       value = true
10372     };
10373   };
10374 
10375   template <>
10376   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
10377   {
10378     enum
10379     {
10380       value = true
10381     };
10382   };
10383 
10384   //=== VK_KHR_video_encode_h264 ===
10385   template <>
10386   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10387   {
10388     enum
10389     {
10390       value = true
10391     };
10392   };
10393 
10394   template <>
10395   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10396   {
10397     enum
10398     {
10399       value = true
10400     };
10401   };
10402 
10403   template <>
10404   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10405   {
10406     enum
10407     {
10408       value = true
10409     };
10410   };
10411 
10412   template <>
10413   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10414   {
10415     enum
10416     {
10417       value = true
10418     };
10419   };
10420 
10421   template <>
10422   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10423   {
10424     enum
10425     {
10426       value = true
10427     };
10428   };
10429 
10430   template <>
10431   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10432   {
10433     enum
10434     {
10435       value = true
10436     };
10437   };
10438 
10439   template <>
10440   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10441   {
10442     enum
10443     {
10444       value = true
10445     };
10446   };
10447 
10448   template <>
10449   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
10450   {
10451     enum
10452     {
10453       value = true
10454     };
10455   };
10456 
10457   template <>
10458   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10459   {
10460     enum
10461     {
10462       value = true
10463     };
10464   };
10465 
10466   template <>
10467   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10468   {
10469     enum
10470     {
10471       value = true
10472     };
10473   };
10474 
10475   template <>
10476   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10477   {
10478     enum
10479     {
10480       value = true
10481     };
10482   };
10483 
10484   template <>
10485   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
10486   {
10487     enum
10488     {
10489       value = true
10490     };
10491   };
10492 
10493   template <>
10494   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
10495   {
10496     enum
10497     {
10498       value = true
10499     };
10500   };
10501 
10502   template <>
10503   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10504   {
10505     enum
10506     {
10507       value = true
10508     };
10509   };
10510 
10511   template <>
10512   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10513   {
10514     enum
10515     {
10516       value = true
10517     };
10518   };
10519 
10520   //=== VK_KHR_video_encode_h265 ===
10521   template <>
10522   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
10523   {
10524     enum
10525     {
10526       value = true
10527     };
10528   };
10529 
10530   template <>
10531   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10532   {
10533     enum
10534     {
10535       value = true
10536     };
10537   };
10538 
10539   template <>
10540   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10541   {
10542     enum
10543     {
10544       value = true
10545     };
10546   };
10547 
10548   template <>
10549   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10550   {
10551     enum
10552     {
10553       value = true
10554     };
10555   };
10556 
10557   template <>
10558   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10559   {
10560     enum
10561     {
10562       value = true
10563     };
10564   };
10565 
10566   template <>
10567   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10568   {
10569     enum
10570     {
10571       value = true
10572     };
10573   };
10574 
10575   template <>
10576   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10577   {
10578     enum
10579     {
10580       value = true
10581     };
10582   };
10583 
10584   template <>
10585   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
10586   {
10587     enum
10588     {
10589       value = true
10590     };
10591   };
10592 
10593   template <>
10594   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10595   {
10596     enum
10597     {
10598       value = true
10599     };
10600   };
10601 
10602   template <>
10603   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
10604   {
10605     enum
10606     {
10607       value = true
10608     };
10609   };
10610 
10611   template <>
10612   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
10613   {
10614     enum
10615     {
10616       value = true
10617     };
10618   };
10619 
10620   template <>
10621   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
10622   {
10623     enum
10624     {
10625       value = true
10626     };
10627   };
10628 
10629   template <>
10630   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
10631   {
10632     enum
10633     {
10634       value = true
10635     };
10636   };
10637 
10638   template <>
10639   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10640   {
10641     enum
10642     {
10643       value = true
10644     };
10645   };
10646 
10647   template <>
10648   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10649   {
10650     enum
10651     {
10652       value = true
10653     };
10654   };
10655 
10656   //=== VK_KHR_video_decode_h264 ===
10657   template <>
10658   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10659   {
10660     enum
10661     {
10662       value = true
10663     };
10664   };
10665 
10666   template <>
10667   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10668   {
10669     enum
10670     {
10671       value = true
10672     };
10673   };
10674 
10675   template <>
10676   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10677   {
10678     enum
10679     {
10680       value = true
10681     };
10682   };
10683 
10684   template <>
10685   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10686   {
10687     enum
10688     {
10689       value = true
10690     };
10691   };
10692 
10693   template <>
10694   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10695   {
10696     enum
10697     {
10698       value = true
10699     };
10700   };
10701 
10702   template <>
10703   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
10704   {
10705     enum
10706     {
10707       value = true
10708     };
10709   };
10710 
10711   template <>
10712   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10713   {
10714     enum
10715     {
10716       value = true
10717     };
10718   };
10719 
10720   //=== VK_AMD_texture_gather_bias_lod ===
10721   template <>
10722   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
10723   {
10724     enum
10725     {
10726       value = true
10727     };
10728   };
10729 
10730   //=== VK_KHR_dynamic_rendering ===
10731   template <>
10732   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
10733   {
10734     enum
10735     {
10736       value = true
10737     };
10738   };
10739 
10740   template <>
10741   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
10742   {
10743     enum
10744     {
10745       value = true
10746     };
10747   };
10748 
10749   template <>
10750   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
10751   {
10752     enum
10753     {
10754       value = true
10755     };
10756   };
10757 
10758   template <>
10759   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
10760   {
10761     enum
10762     {
10763       value = true
10764     };
10765   };
10766 
10767   template <>
10768   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
10769   {
10770     enum
10771     {
10772       value = true
10773     };
10774   };
10775 
10776   template <>
10777   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
10778   {
10779     enum
10780     {
10781       value = true
10782     };
10783   };
10784 
10785   template <>
10786   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
10787   {
10788     enum
10789     {
10790       value = true
10791     };
10792   };
10793 
10794   //=== VK_NV_corner_sampled_image ===
10795   template <>
10796   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
10797   {
10798     enum
10799     {
10800       value = true
10801     };
10802   };
10803 
10804   template <>
10805   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
10806   {
10807     enum
10808     {
10809       value = true
10810     };
10811   };
10812 
10813   //=== VK_NV_external_memory ===
10814   template <>
10815   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
10816   {
10817     enum
10818     {
10819       value = true
10820     };
10821   };
10822 
10823   template <>
10824   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
10825   {
10826     enum
10827     {
10828       value = true
10829     };
10830   };
10831 
10832 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10833   //=== VK_NV_external_memory_win32 ===
10834   template <>
10835   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10836   {
10837     enum
10838     {
10839       value = true
10840     };
10841   };
10842 
10843   template <>
10844   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10845   {
10846     enum
10847     {
10848       value = true
10849     };
10850   };
10851 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10852 
10853 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10854   //=== VK_NV_win32_keyed_mutex ===
10855   template <>
10856   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
10857   {
10858     enum
10859     {
10860       value = true
10861     };
10862   };
10863 
10864   template <>
10865   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
10866   {
10867     enum
10868     {
10869       value = true
10870     };
10871   };
10872 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10873 
10874   //=== VK_EXT_validation_flags ===
10875   template <>
10876   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
10877   {
10878     enum
10879     {
10880       value = true
10881     };
10882   };
10883 
10884   //=== VK_EXT_astc_decode_mode ===
10885   template <>
10886   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
10887   {
10888     enum
10889     {
10890       value = true
10891     };
10892   };
10893 
10894   template <>
10895   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
10896   {
10897     enum
10898     {
10899       value = true
10900     };
10901   };
10902 
10903   template <>
10904   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
10905   {
10906     enum
10907     {
10908       value = true
10909     };
10910   };
10911 
10912   //=== VK_EXT_pipeline_robustness ===
10913   template <>
10914   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
10915   {
10916     enum
10917     {
10918       value = true
10919     };
10920   };
10921 
10922   template <>
10923   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, DeviceCreateInfo>
10924   {
10925     enum
10926     {
10927       value = true
10928     };
10929   };
10930 
10931   template <>
10932   struct StructExtends<PhysicalDevicePipelineRobustnessPropertiesEXT, PhysicalDeviceProperties2>
10933   {
10934     enum
10935     {
10936       value = true
10937     };
10938   };
10939 
10940   template <>
10941   struct StructExtends<PipelineRobustnessCreateInfoEXT, GraphicsPipelineCreateInfo>
10942   {
10943     enum
10944     {
10945       value = true
10946     };
10947   };
10948 
10949   template <>
10950   struct StructExtends<PipelineRobustnessCreateInfoEXT, ComputePipelineCreateInfo>
10951   {
10952     enum
10953     {
10954       value = true
10955     };
10956   };
10957 
10958   template <>
10959   struct StructExtends<PipelineRobustnessCreateInfoEXT, PipelineShaderStageCreateInfo>
10960   {
10961     enum
10962     {
10963       value = true
10964     };
10965   };
10966 
10967   template <>
10968   struct StructExtends<PipelineRobustnessCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
10969   {
10970     enum
10971     {
10972       value = true
10973     };
10974   };
10975 
10976 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10977   //=== VK_KHR_external_memory_win32 ===
10978   template <>
10979   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10980   {
10981     enum
10982     {
10983       value = true
10984     };
10985   };
10986 
10987   template <>
10988   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10989   {
10990     enum
10991     {
10992       value = true
10993     };
10994   };
10995 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10996 
10997   //=== VK_KHR_external_memory_fd ===
10998   template <>
10999   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
11000   {
11001     enum
11002     {
11003       value = true
11004     };
11005   };
11006 
11007 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11008   //=== VK_KHR_win32_keyed_mutex ===
11009   template <>
11010   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
11011   {
11012     enum
11013     {
11014       value = true
11015     };
11016   };
11017 
11018   template <>
11019   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
11020   {
11021     enum
11022     {
11023       value = true
11024     };
11025   };
11026 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11027 
11028 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11029   //=== VK_KHR_external_semaphore_win32 ===
11030   template <>
11031   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
11032   {
11033     enum
11034     {
11035       value = true
11036     };
11037   };
11038 
11039   template <>
11040   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
11041   {
11042     enum
11043     {
11044       value = true
11045     };
11046   };
11047 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11048 
11049   //=== VK_KHR_push_descriptor ===
11050   template <>
11051   struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
11052   {
11053     enum
11054     {
11055       value = true
11056     };
11057   };
11058 
11059   //=== VK_EXT_conditional_rendering ===
11060   template <>
11061   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
11062   {
11063     enum
11064     {
11065       value = true
11066     };
11067   };
11068 
11069   template <>
11070   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
11071   {
11072     enum
11073     {
11074       value = true
11075     };
11076   };
11077 
11078   template <>
11079   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
11080   {
11081     enum
11082     {
11083       value = true
11084     };
11085   };
11086 
11087   //=== VK_KHR_incremental_present ===
11088   template <>
11089   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
11090   {
11091     enum
11092     {
11093       value = true
11094     };
11095   };
11096 
11097   //=== VK_NV_clip_space_w_scaling ===
11098   template <>
11099   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
11100   {
11101     enum
11102     {
11103       value = true
11104     };
11105   };
11106 
11107   //=== VK_EXT_display_control ===
11108   template <>
11109   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11110   {
11111     enum
11112     {
11113       value = true
11114     };
11115   };
11116 
11117   //=== VK_GOOGLE_display_timing ===
11118   template <>
11119   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11120   {
11121     enum
11122     {
11123       value = true
11124     };
11125   };
11126 
11127   //=== VK_NVX_multiview_per_view_attributes ===
11128   template <>
11129   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11130   {
11131     enum
11132     {
11133       value = true
11134     };
11135   };
11136 
11137   //=== VK_NV_viewport_swizzle ===
11138   template <>
11139   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11140   {
11141     enum
11142     {
11143       value = true
11144     };
11145   };
11146 
11147   //=== VK_EXT_discard_rectangles ===
11148   template <>
11149   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11150   {
11151     enum
11152     {
11153       value = true
11154     };
11155   };
11156 
11157   template <>
11158   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11159   {
11160     enum
11161     {
11162       value = true
11163     };
11164   };
11165 
11166   //=== VK_EXT_conservative_rasterization ===
11167   template <>
11168   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11169   {
11170     enum
11171     {
11172       value = true
11173     };
11174   };
11175 
11176   template <>
11177   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11178   {
11179     enum
11180     {
11181       value = true
11182     };
11183   };
11184 
11185   //=== VK_EXT_depth_clip_enable ===
11186   template <>
11187   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11188   {
11189     enum
11190     {
11191       value = true
11192     };
11193   };
11194 
11195   template <>
11196   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11197   {
11198     enum
11199     {
11200       value = true
11201     };
11202   };
11203 
11204   template <>
11205   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11206   {
11207     enum
11208     {
11209       value = true
11210     };
11211   };
11212 
11213   //=== VK_IMG_relaxed_line_rasterization ===
11214   template <>
11215   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11216   {
11217     enum
11218     {
11219       value = true
11220     };
11221   };
11222 
11223   template <>
11224   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11225   {
11226     enum
11227     {
11228       value = true
11229     };
11230   };
11231 
11232   //=== VK_KHR_shared_presentable_image ===
11233   template <>
11234   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11235   {
11236     enum
11237     {
11238       value = true
11239     };
11240   };
11241 
11242 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11243   //=== VK_KHR_external_fence_win32 ===
11244   template <>
11245   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11246   {
11247     enum
11248     {
11249       value = true
11250     };
11251   };
11252 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11253 
11254   //=== VK_KHR_performance_query ===
11255   template <>
11256   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
11257   {
11258     enum
11259     {
11260       value = true
11261     };
11262   };
11263 
11264   template <>
11265   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
11266   {
11267     enum
11268     {
11269       value = true
11270     };
11271   };
11272 
11273   template <>
11274   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
11275   {
11276     enum
11277     {
11278       value = true
11279     };
11280   };
11281 
11282   template <>
11283   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
11284   {
11285     enum
11286     {
11287       value = true
11288     };
11289   };
11290 
11291   template <>
11292   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
11293   {
11294     enum
11295     {
11296       value = true
11297     };
11298   };
11299 
11300   template <>
11301   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
11302   {
11303     enum
11304     {
11305       value = true
11306     };
11307   };
11308 
11309   //=== VK_EXT_debug_utils ===
11310   template <>
11311   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
11312   {
11313     enum
11314     {
11315       value = true
11316     };
11317   };
11318 
11319   template <>
11320   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
11321   {
11322     enum
11323     {
11324       value = true
11325     };
11326   };
11327 
11328 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
11329   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
11330   template <>
11331   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
11332   {
11333     enum
11334     {
11335       value = true
11336     };
11337   };
11338 
11339   template <>
11340   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
11341   {
11342     enum
11343     {
11344       value = true
11345     };
11346   };
11347 
11348   template <>
11349   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
11350   {
11351     enum
11352     {
11353       value = true
11354     };
11355   };
11356 
11357   template <>
11358   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
11359   {
11360     enum
11361     {
11362       value = true
11363     };
11364   };
11365 
11366   template <>
11367   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
11368   {
11369     enum
11370     {
11371       value = true
11372     };
11373   };
11374 
11375   template <>
11376   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
11377   {
11378     enum
11379     {
11380       value = true
11381     };
11382   };
11383 
11384   template <>
11385   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
11386   {
11387     enum
11388     {
11389       value = true
11390     };
11391   };
11392 
11393   template <>
11394   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
11395   {
11396     enum
11397     {
11398       value = true
11399     };
11400   };
11401 
11402   template <>
11403   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
11404   {
11405     enum
11406     {
11407       value = true
11408     };
11409   };
11410 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11411 
11412 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11413   //=== VK_AMDX_shader_enqueue ===
11414   template <>
11415   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
11416   {
11417     enum
11418     {
11419       value = true
11420     };
11421   };
11422 
11423   template <>
11424   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
11425   {
11426     enum
11427     {
11428       value = true
11429     };
11430   };
11431 
11432   template <>
11433   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
11434   {
11435     enum
11436     {
11437       value = true
11438     };
11439   };
11440 
11441   template <>
11442   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
11443   {
11444     enum
11445     {
11446       value = true
11447     };
11448   };
11449 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11450 
11451   //=== VK_EXT_sample_locations ===
11452   template <>
11453   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
11454   {
11455     enum
11456     {
11457       value = true
11458     };
11459   };
11460 
11461   template <>
11462   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
11463   {
11464     enum
11465     {
11466       value = true
11467     };
11468   };
11469 
11470   template <>
11471   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
11472   {
11473     enum
11474     {
11475       value = true
11476     };
11477   };
11478 
11479   template <>
11480   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
11481   {
11482     enum
11483     {
11484       value = true
11485     };
11486   };
11487 
11488   template <>
11489   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
11490   {
11491     enum
11492     {
11493       value = true
11494     };
11495   };
11496 
11497   //=== VK_EXT_blend_operation_advanced ===
11498   template <>
11499   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
11500   {
11501     enum
11502     {
11503       value = true
11504     };
11505   };
11506 
11507   template <>
11508   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
11509   {
11510     enum
11511     {
11512       value = true
11513     };
11514   };
11515 
11516   template <>
11517   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
11518   {
11519     enum
11520     {
11521       value = true
11522     };
11523   };
11524 
11525   template <>
11526   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
11527   {
11528     enum
11529     {
11530       value = true
11531     };
11532   };
11533 
11534   //=== VK_NV_fragment_coverage_to_color ===
11535   template <>
11536   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11537   {
11538     enum
11539     {
11540       value = true
11541     };
11542   };
11543 
11544   //=== VK_KHR_acceleration_structure ===
11545   template <>
11546   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
11547   {
11548     enum
11549     {
11550       value = true
11551     };
11552   };
11553 
11554   template <>
11555   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
11556   {
11557     enum
11558     {
11559       value = true
11560     };
11561   };
11562 
11563   template <>
11564   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
11565   {
11566     enum
11567     {
11568       value = true
11569     };
11570   };
11571 
11572   template <>
11573   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
11574   {
11575     enum
11576     {
11577       value = true
11578     };
11579   };
11580 
11581   //=== VK_KHR_ray_tracing_pipeline ===
11582   template <>
11583   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
11584   {
11585     enum
11586     {
11587       value = true
11588     };
11589   };
11590 
11591   template <>
11592   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
11593   {
11594     enum
11595     {
11596       value = true
11597     };
11598   };
11599 
11600   template <>
11601   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
11602   {
11603     enum
11604     {
11605       value = true
11606     };
11607   };
11608 
11609   //=== VK_KHR_ray_query ===
11610   template <>
11611   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
11612   {
11613     enum
11614     {
11615       value = true
11616     };
11617   };
11618 
11619   template <>
11620   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
11621   {
11622     enum
11623     {
11624       value = true
11625     };
11626   };
11627 
11628   //=== VK_NV_framebuffer_mixed_samples ===
11629   template <>
11630   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11631   {
11632     enum
11633     {
11634       value = true
11635     };
11636   };
11637 
11638   //=== VK_NV_shader_sm_builtins ===
11639   template <>
11640   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
11641   {
11642     enum
11643     {
11644       value = true
11645     };
11646   };
11647 
11648   template <>
11649   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
11650   {
11651     enum
11652     {
11653       value = true
11654     };
11655   };
11656 
11657   template <>
11658   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
11659   {
11660     enum
11661     {
11662       value = true
11663     };
11664   };
11665 
11666   //=== VK_EXT_image_drm_format_modifier ===
11667   template <>
11668   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
11669   {
11670     enum
11671     {
11672       value = true
11673     };
11674   };
11675 
11676   template <>
11677   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
11678   {
11679     enum
11680     {
11681       value = true
11682     };
11683   };
11684 
11685   template <>
11686   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
11687   {
11688     enum
11689     {
11690       value = true
11691     };
11692   };
11693 
11694   template <>
11695   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
11696   {
11697     enum
11698     {
11699       value = true
11700     };
11701   };
11702 
11703   template <>
11704   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
11705   {
11706     enum
11707     {
11708       value = true
11709     };
11710   };
11711 
11712   //=== VK_EXT_validation_cache ===
11713   template <>
11714   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
11715   {
11716     enum
11717     {
11718       value = true
11719     };
11720   };
11721 
11722   template <>
11723   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
11724   {
11725     enum
11726     {
11727       value = true
11728     };
11729   };
11730 
11731 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11732   //=== VK_KHR_portability_subset ===
11733   template <>
11734   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
11735   {
11736     enum
11737     {
11738       value = true
11739     };
11740   };
11741 
11742   template <>
11743   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
11744   {
11745     enum
11746     {
11747       value = true
11748     };
11749   };
11750 
11751   template <>
11752   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
11753   {
11754     enum
11755     {
11756       value = true
11757     };
11758   };
11759 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11760 
11761   //=== VK_NV_shading_rate_image ===
11762   template <>
11763   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
11764   {
11765     enum
11766     {
11767       value = true
11768     };
11769   };
11770 
11771   template <>
11772   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
11773   {
11774     enum
11775     {
11776       value = true
11777     };
11778   };
11779 
11780   template <>
11781   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
11782   {
11783     enum
11784     {
11785       value = true
11786     };
11787   };
11788 
11789   template <>
11790   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
11791   {
11792     enum
11793     {
11794       value = true
11795     };
11796   };
11797 
11798   template <>
11799   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
11800   {
11801     enum
11802     {
11803       value = true
11804     };
11805   };
11806 
11807   //=== VK_NV_ray_tracing ===
11808   template <>
11809   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
11810   {
11811     enum
11812     {
11813       value = true
11814     };
11815   };
11816 
11817   template <>
11818   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
11819   {
11820     enum
11821     {
11822       value = true
11823     };
11824   };
11825 
11826   //=== VK_NV_representative_fragment_test ===
11827   template <>
11828   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
11829   {
11830     enum
11831     {
11832       value = true
11833     };
11834   };
11835 
11836   template <>
11837   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
11838   {
11839     enum
11840     {
11841       value = true
11842     };
11843   };
11844 
11845   template <>
11846   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
11847   {
11848     enum
11849     {
11850       value = true
11851     };
11852   };
11853 
11854   //=== VK_EXT_filter_cubic ===
11855   template <>
11856   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
11857   {
11858     enum
11859     {
11860       value = true
11861     };
11862   };
11863 
11864   template <>
11865   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
11866   {
11867     enum
11868     {
11869       value = true
11870     };
11871   };
11872 
11873   //=== VK_EXT_external_memory_host ===
11874   template <>
11875   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
11876   {
11877     enum
11878     {
11879       value = true
11880     };
11881   };
11882 
11883   template <>
11884   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
11885   {
11886     enum
11887     {
11888       value = true
11889     };
11890   };
11891 
11892   //=== VK_KHR_shader_clock ===
11893   template <>
11894   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
11895   {
11896     enum
11897     {
11898       value = true
11899     };
11900   };
11901 
11902   template <>
11903   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
11904   {
11905     enum
11906     {
11907       value = true
11908     };
11909   };
11910 
11911   //=== VK_AMD_pipeline_compiler_control ===
11912   template <>
11913   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
11914   {
11915     enum
11916     {
11917       value = true
11918     };
11919   };
11920 
11921   template <>
11922   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
11923   {
11924     enum
11925     {
11926       value = true
11927     };
11928   };
11929 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11930   template <>
11931   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
11932   {
11933     enum
11934     {
11935       value = true
11936     };
11937   };
11938 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11939 
11940   //=== VK_AMD_shader_core_properties ===
11941   template <>
11942   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
11943   {
11944     enum
11945     {
11946       value = true
11947     };
11948   };
11949 
11950   //=== VK_KHR_video_decode_h265 ===
11951   template <>
11952   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11953   {
11954     enum
11955     {
11956       value = true
11957     };
11958   };
11959 
11960   template <>
11961   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11962   {
11963     enum
11964     {
11965       value = true
11966     };
11967   };
11968 
11969   template <>
11970   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11971   {
11972     enum
11973     {
11974       value = true
11975     };
11976   };
11977 
11978   template <>
11979   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11980   {
11981     enum
11982     {
11983       value = true
11984     };
11985   };
11986 
11987   template <>
11988   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11989   {
11990     enum
11991     {
11992       value = true
11993     };
11994   };
11995 
11996   template <>
11997   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
11998   {
11999     enum
12000     {
12001       value = true
12002     };
12003   };
12004 
12005   template <>
12006   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
12007   {
12008     enum
12009     {
12010       value = true
12011     };
12012   };
12013 
12014   //=== VK_KHR_global_priority ===
12015   template <>
12016   struct StructExtends<DeviceQueueGlobalPriorityCreateInfoKHR, DeviceQueueCreateInfo>
12017   {
12018     enum
12019     {
12020       value = true
12021     };
12022   };
12023 
12024   template <>
12025   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, PhysicalDeviceFeatures2>
12026   {
12027     enum
12028     {
12029       value = true
12030     };
12031   };
12032 
12033   template <>
12034   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, DeviceCreateInfo>
12035   {
12036     enum
12037     {
12038       value = true
12039     };
12040   };
12041 
12042   template <>
12043   struct StructExtends<QueueFamilyGlobalPriorityPropertiesKHR, QueueFamilyProperties2>
12044   {
12045     enum
12046     {
12047       value = true
12048     };
12049   };
12050 
12051   //=== VK_AMD_memory_overallocation_behavior ===
12052   template <>
12053   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
12054   {
12055     enum
12056     {
12057       value = true
12058     };
12059   };
12060 
12061   //=== VK_EXT_vertex_attribute_divisor ===
12062   template <>
12063   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
12064   {
12065     enum
12066     {
12067       value = true
12068     };
12069   };
12070 
12071 #  if defined( VK_USE_PLATFORM_GGP )
12072   //=== VK_GGP_frame_token ===
12073   template <>
12074   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
12075   {
12076     enum
12077     {
12078       value = true
12079     };
12080   };
12081 #  endif /*VK_USE_PLATFORM_GGP*/
12082 
12083   //=== VK_NV_compute_shader_derivatives ===
12084   template <>
12085   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
12086   {
12087     enum
12088     {
12089       value = true
12090     };
12091   };
12092 
12093   template <>
12094   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
12095   {
12096     enum
12097     {
12098       value = true
12099     };
12100   };
12101 
12102   //=== VK_NV_mesh_shader ===
12103   template <>
12104   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
12105   {
12106     enum
12107     {
12108       value = true
12109     };
12110   };
12111 
12112   template <>
12113   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12114   {
12115     enum
12116     {
12117       value = true
12118     };
12119   };
12120 
12121   template <>
12122   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12123   {
12124     enum
12125     {
12126       value = true
12127     };
12128   };
12129 
12130   //=== VK_NV_shader_image_footprint ===
12131   template <>
12132   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12133   {
12134     enum
12135     {
12136       value = true
12137     };
12138   };
12139 
12140   template <>
12141   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12142   {
12143     enum
12144     {
12145       value = true
12146     };
12147   };
12148 
12149   //=== VK_NV_scissor_exclusive ===
12150   template <>
12151   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12152   {
12153     enum
12154     {
12155       value = true
12156     };
12157   };
12158 
12159   template <>
12160   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12161   {
12162     enum
12163     {
12164       value = true
12165     };
12166   };
12167 
12168   template <>
12169   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12170   {
12171     enum
12172     {
12173       value = true
12174     };
12175   };
12176 
12177   //=== VK_NV_device_diagnostic_checkpoints ===
12178   template <>
12179   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12180   {
12181     enum
12182     {
12183       value = true
12184     };
12185   };
12186 
12187   //=== VK_INTEL_shader_integer_functions2 ===
12188   template <>
12189   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12190   {
12191     enum
12192     {
12193       value = true
12194     };
12195   };
12196 
12197   template <>
12198   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12199   {
12200     enum
12201     {
12202       value = true
12203     };
12204   };
12205 
12206   //=== VK_INTEL_performance_query ===
12207   template <>
12208   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12209   {
12210     enum
12211     {
12212       value = true
12213     };
12214   };
12215 
12216   //=== VK_EXT_pci_bus_info ===
12217   template <>
12218   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12219   {
12220     enum
12221     {
12222       value = true
12223     };
12224   };
12225 
12226   //=== VK_AMD_display_native_hdr ===
12227   template <>
12228   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12229   {
12230     enum
12231     {
12232       value = true
12233     };
12234   };
12235 
12236   template <>
12237   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12238   {
12239     enum
12240     {
12241       value = true
12242     };
12243   };
12244 
12245   //=== VK_EXT_fragment_density_map ===
12246   template <>
12247   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12248   {
12249     enum
12250     {
12251       value = true
12252     };
12253   };
12254 
12255   template <>
12256   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12257   {
12258     enum
12259     {
12260       value = true
12261     };
12262   };
12263 
12264   template <>
12265   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12266   {
12267     enum
12268     {
12269       value = true
12270     };
12271   };
12272 
12273   template <>
12274   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12275   {
12276     enum
12277     {
12278       value = true
12279     };
12280   };
12281 
12282   template <>
12283   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
12284   {
12285     enum
12286     {
12287       value = true
12288     };
12289   };
12290 
12291   //=== VK_KHR_fragment_shading_rate ===
12292   template <>
12293   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
12294   {
12295     enum
12296     {
12297       value = true
12298     };
12299   };
12300 
12301   template <>
12302   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
12303   {
12304     enum
12305     {
12306       value = true
12307     };
12308   };
12309 
12310   template <>
12311   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
12312   {
12313     enum
12314     {
12315       value = true
12316     };
12317   };
12318 
12319   template <>
12320   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
12321   {
12322     enum
12323     {
12324       value = true
12325     };
12326   };
12327 
12328   template <>
12329   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
12330   {
12331     enum
12332     {
12333       value = true
12334     };
12335   };
12336 
12337   //=== VK_AMD_shader_core_properties2 ===
12338   template <>
12339   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
12340   {
12341     enum
12342     {
12343       value = true
12344     };
12345   };
12346 
12347   //=== VK_AMD_device_coherent_memory ===
12348   template <>
12349   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
12350   {
12351     enum
12352     {
12353       value = true
12354     };
12355   };
12356 
12357   template <>
12358   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
12359   {
12360     enum
12361     {
12362       value = true
12363     };
12364   };
12365 
12366   //=== VK_KHR_dynamic_rendering_local_read ===
12367   template <>
12368   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, PhysicalDeviceFeatures2>
12369   {
12370     enum
12371     {
12372       value = true
12373     };
12374   };
12375 
12376   template <>
12377   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeaturesKHR, DeviceCreateInfo>
12378   {
12379     enum
12380     {
12381       value = true
12382     };
12383   };
12384 
12385   template <>
12386   struct StructExtends<RenderingAttachmentLocationInfoKHR, GraphicsPipelineCreateInfo>
12387   {
12388     enum
12389     {
12390       value = true
12391     };
12392   };
12393 
12394   template <>
12395   struct StructExtends<RenderingAttachmentLocationInfoKHR, CommandBufferInheritanceInfo>
12396   {
12397     enum
12398     {
12399       value = true
12400     };
12401   };
12402 
12403   template <>
12404   struct StructExtends<RenderingInputAttachmentIndexInfoKHR, GraphicsPipelineCreateInfo>
12405   {
12406     enum
12407     {
12408       value = true
12409     };
12410   };
12411 
12412   template <>
12413   struct StructExtends<RenderingInputAttachmentIndexInfoKHR, CommandBufferInheritanceInfo>
12414   {
12415     enum
12416     {
12417       value = true
12418     };
12419   };
12420 
12421   //=== VK_EXT_shader_image_atomic_int64 ===
12422   template <>
12423   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
12424   {
12425     enum
12426     {
12427       value = true
12428     };
12429   };
12430 
12431   template <>
12432   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
12433   {
12434     enum
12435     {
12436       value = true
12437     };
12438   };
12439 
12440   //=== VK_KHR_shader_quad_control ===
12441   template <>
12442   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, PhysicalDeviceFeatures2>
12443   {
12444     enum
12445     {
12446       value = true
12447     };
12448   };
12449 
12450   template <>
12451   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, DeviceCreateInfo>
12452   {
12453     enum
12454     {
12455       value = true
12456     };
12457   };
12458 
12459   //=== VK_EXT_memory_budget ===
12460   template <>
12461   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
12462   {
12463     enum
12464     {
12465       value = true
12466     };
12467   };
12468 
12469   //=== VK_EXT_memory_priority ===
12470   template <>
12471   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
12472   {
12473     enum
12474     {
12475       value = true
12476     };
12477   };
12478 
12479   template <>
12480   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
12481   {
12482     enum
12483     {
12484       value = true
12485     };
12486   };
12487 
12488   template <>
12489   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
12490   {
12491     enum
12492     {
12493       value = true
12494     };
12495   };
12496 
12497   //=== VK_KHR_surface_protected_capabilities ===
12498   template <>
12499   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
12500   {
12501     enum
12502     {
12503       value = true
12504     };
12505   };
12506 
12507   //=== VK_NV_dedicated_allocation_image_aliasing ===
12508   template <>
12509   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
12510   {
12511     enum
12512     {
12513       value = true
12514     };
12515   };
12516 
12517   template <>
12518   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
12519   {
12520     enum
12521     {
12522       value = true
12523     };
12524   };
12525 
12526   //=== VK_EXT_buffer_device_address ===
12527   template <>
12528   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
12529   {
12530     enum
12531     {
12532       value = true
12533     };
12534   };
12535 
12536   template <>
12537   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
12538   {
12539     enum
12540     {
12541       value = true
12542     };
12543   };
12544 
12545   template <>
12546   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
12547   {
12548     enum
12549     {
12550       value = true
12551     };
12552   };
12553 
12554   //=== VK_EXT_validation_features ===
12555   template <>
12556   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
12557   {
12558     enum
12559     {
12560       value = true
12561     };
12562   };
12563 
12564   //=== VK_KHR_present_wait ===
12565   template <>
12566   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
12567   {
12568     enum
12569     {
12570       value = true
12571     };
12572   };
12573 
12574   template <>
12575   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
12576   {
12577     enum
12578     {
12579       value = true
12580     };
12581   };
12582 
12583   //=== VK_NV_cooperative_matrix ===
12584   template <>
12585   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
12586   {
12587     enum
12588     {
12589       value = true
12590     };
12591   };
12592 
12593   template <>
12594   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
12595   {
12596     enum
12597     {
12598       value = true
12599     };
12600   };
12601 
12602   template <>
12603   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
12604   {
12605     enum
12606     {
12607       value = true
12608     };
12609   };
12610 
12611   //=== VK_NV_coverage_reduction_mode ===
12612   template <>
12613   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
12614   {
12615     enum
12616     {
12617       value = true
12618     };
12619   };
12620 
12621   template <>
12622   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
12623   {
12624     enum
12625     {
12626       value = true
12627     };
12628   };
12629 
12630   template <>
12631   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12632   {
12633     enum
12634     {
12635       value = true
12636     };
12637   };
12638 
12639   //=== VK_EXT_fragment_shader_interlock ===
12640   template <>
12641   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
12642   {
12643     enum
12644     {
12645       value = true
12646     };
12647   };
12648 
12649   template <>
12650   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
12651   {
12652     enum
12653     {
12654       value = true
12655     };
12656   };
12657 
12658   //=== VK_EXT_ycbcr_image_arrays ===
12659   template <>
12660   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
12661   {
12662     enum
12663     {
12664       value = true
12665     };
12666   };
12667 
12668   template <>
12669   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
12670   {
12671     enum
12672     {
12673       value = true
12674     };
12675   };
12676 
12677   //=== VK_EXT_provoking_vertex ===
12678   template <>
12679   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
12680   {
12681     enum
12682     {
12683       value = true
12684     };
12685   };
12686 
12687   template <>
12688   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
12689   {
12690     enum
12691     {
12692       value = true
12693     };
12694   };
12695 
12696   template <>
12697   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
12698   {
12699     enum
12700     {
12701       value = true
12702     };
12703   };
12704 
12705   template <>
12706   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
12707   {
12708     enum
12709     {
12710       value = true
12711     };
12712   };
12713 
12714 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
12715   //=== VK_EXT_full_screen_exclusive ===
12716   template <>
12717   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12718   {
12719     enum
12720     {
12721       value = true
12722     };
12723   };
12724 
12725   template <>
12726   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
12727   {
12728     enum
12729     {
12730       value = true
12731     };
12732   };
12733 
12734   template <>
12735   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
12736   {
12737     enum
12738     {
12739       value = true
12740     };
12741   };
12742 
12743   template <>
12744   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12745   {
12746     enum
12747     {
12748       value = true
12749     };
12750   };
12751 
12752   template <>
12753   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
12754   {
12755     enum
12756     {
12757       value = true
12758     };
12759   };
12760 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
12761 
12762   //=== VK_EXT_shader_atomic_float ===
12763   template <>
12764   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
12765   {
12766     enum
12767     {
12768       value = true
12769     };
12770   };
12771 
12772   template <>
12773   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
12774   {
12775     enum
12776     {
12777       value = true
12778     };
12779   };
12780 
12781   //=== VK_EXT_extended_dynamic_state ===
12782   template <>
12783   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
12784   {
12785     enum
12786     {
12787       value = true
12788     };
12789   };
12790 
12791   template <>
12792   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
12793   {
12794     enum
12795     {
12796       value = true
12797     };
12798   };
12799 
12800   //=== VK_KHR_pipeline_executable_properties ===
12801   template <>
12802   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
12803   {
12804     enum
12805     {
12806       value = true
12807     };
12808   };
12809 
12810   template <>
12811   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
12812   {
12813     enum
12814     {
12815       value = true
12816     };
12817   };
12818 
12819   //=== VK_EXT_host_image_copy ===
12820   template <>
12821   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, PhysicalDeviceFeatures2>
12822   {
12823     enum
12824     {
12825       value = true
12826     };
12827   };
12828 
12829   template <>
12830   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, DeviceCreateInfo>
12831   {
12832     enum
12833     {
12834       value = true
12835     };
12836   };
12837 
12838   template <>
12839   struct StructExtends<PhysicalDeviceHostImageCopyPropertiesEXT, PhysicalDeviceProperties2>
12840   {
12841     enum
12842     {
12843       value = true
12844     };
12845   };
12846 
12847   template <>
12848   struct StructExtends<SubresourceHostMemcpySizeEXT, SubresourceLayout2KHR>
12849   {
12850     enum
12851     {
12852       value = true
12853     };
12854   };
12855 
12856   template <>
12857   struct StructExtends<HostImageCopyDevicePerformanceQueryEXT, ImageFormatProperties2>
12858   {
12859     enum
12860     {
12861       value = true
12862     };
12863   };
12864 
12865   //=== VK_EXT_map_memory_placed ===
12866   template <>
12867   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, PhysicalDeviceFeatures2>
12868   {
12869     enum
12870     {
12871       value = true
12872     };
12873   };
12874 
12875   template <>
12876   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, DeviceCreateInfo>
12877   {
12878     enum
12879     {
12880       value = true
12881     };
12882   };
12883 
12884   template <>
12885   struct StructExtends<PhysicalDeviceMapMemoryPlacedPropertiesEXT, PhysicalDeviceProperties2>
12886   {
12887     enum
12888     {
12889       value = true
12890     };
12891   };
12892 
12893   template <>
12894   struct StructExtends<MemoryMapPlacedInfoEXT, MemoryMapInfoKHR>
12895   {
12896     enum
12897     {
12898       value = true
12899     };
12900   };
12901 
12902   //=== VK_EXT_shader_atomic_float2 ===
12903   template <>
12904   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
12905   {
12906     enum
12907     {
12908       value = true
12909     };
12910   };
12911 
12912   template <>
12913   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
12914   {
12915     enum
12916     {
12917       value = true
12918     };
12919   };
12920 
12921   //=== VK_EXT_surface_maintenance1 ===
12922   template <>
12923   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
12924   {
12925     enum
12926     {
12927       value = true
12928     };
12929   };
12930 
12931   template <>
12932   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
12933   {
12934     enum
12935     {
12936       value = true
12937     };
12938   };
12939 
12940   template <>
12941   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
12942   {
12943     enum
12944     {
12945       value = true
12946     };
12947   };
12948 
12949   //=== VK_EXT_swapchain_maintenance1 ===
12950   template <>
12951   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
12952   {
12953     enum
12954     {
12955       value = true
12956     };
12957   };
12958 
12959   template <>
12960   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
12961   {
12962     enum
12963     {
12964       value = true
12965     };
12966   };
12967 
12968   template <>
12969   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
12970   {
12971     enum
12972     {
12973       value = true
12974     };
12975   };
12976 
12977   template <>
12978   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
12979   {
12980     enum
12981     {
12982       value = true
12983     };
12984   };
12985 
12986   template <>
12987   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
12988   {
12989     enum
12990     {
12991       value = true
12992     };
12993   };
12994 
12995   template <>
12996   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
12997   {
12998     enum
12999     {
13000       value = true
13001     };
13002   };
13003 
13004   //=== VK_NV_device_generated_commands ===
13005   template <>
13006   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
13007   {
13008     enum
13009     {
13010       value = true
13011     };
13012   };
13013 
13014   template <>
13015   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
13016   {
13017     enum
13018     {
13019       value = true
13020     };
13021   };
13022 
13023   template <>
13024   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
13025   {
13026     enum
13027     {
13028       value = true
13029     };
13030   };
13031 
13032   template <>
13033   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
13034   {
13035     enum
13036     {
13037       value = true
13038     };
13039   };
13040 
13041   //=== VK_NV_inherited_viewport_scissor ===
13042   template <>
13043   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
13044   {
13045     enum
13046     {
13047       value = true
13048     };
13049   };
13050 
13051   template <>
13052   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
13053   {
13054     enum
13055     {
13056       value = true
13057     };
13058   };
13059 
13060   template <>
13061   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
13062   {
13063     enum
13064     {
13065       value = true
13066     };
13067   };
13068 
13069   //=== VK_EXT_texel_buffer_alignment ===
13070   template <>
13071   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
13072   {
13073     enum
13074     {
13075       value = true
13076     };
13077   };
13078 
13079   template <>
13080   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
13081   {
13082     enum
13083     {
13084       value = true
13085     };
13086   };
13087 
13088   //=== VK_QCOM_render_pass_transform ===
13089   template <>
13090   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
13091   {
13092     enum
13093     {
13094       value = true
13095     };
13096   };
13097 
13098   template <>
13099   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
13100   {
13101     enum
13102     {
13103       value = true
13104     };
13105   };
13106 
13107   //=== VK_EXT_depth_bias_control ===
13108   template <>
13109   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
13110   {
13111     enum
13112     {
13113       value = true
13114     };
13115   };
13116 
13117   template <>
13118   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
13119   {
13120     enum
13121     {
13122       value = true
13123     };
13124   };
13125 
13126   template <>
13127   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
13128   {
13129     enum
13130     {
13131       value = true
13132     };
13133   };
13134 
13135   template <>
13136   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
13137   {
13138     enum
13139     {
13140       value = true
13141     };
13142   };
13143 
13144   //=== VK_EXT_device_memory_report ===
13145   template <>
13146   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
13147   {
13148     enum
13149     {
13150       value = true
13151     };
13152   };
13153 
13154   template <>
13155   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
13156   {
13157     enum
13158     {
13159       value = true
13160     };
13161   };
13162 
13163   template <>
13164   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13165   {
13166     enum
13167     {
13168       value = true
13169     };
13170   };
13171 
13172   //=== VK_EXT_robustness2 ===
13173   template <>
13174   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13175   {
13176     enum
13177     {
13178       value = true
13179     };
13180   };
13181 
13182   template <>
13183   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13184   {
13185     enum
13186     {
13187       value = true
13188     };
13189   };
13190 
13191   template <>
13192   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13193   {
13194     enum
13195     {
13196       value = true
13197     };
13198   };
13199 
13200   //=== VK_EXT_custom_border_color ===
13201   template <>
13202   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13203   {
13204     enum
13205     {
13206       value = true
13207     };
13208   };
13209 
13210   template <>
13211   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13212   {
13213     enum
13214     {
13215       value = true
13216     };
13217   };
13218 
13219   template <>
13220   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13221   {
13222     enum
13223     {
13224       value = true
13225     };
13226   };
13227 
13228   template <>
13229   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13230   {
13231     enum
13232     {
13233       value = true
13234     };
13235   };
13236 
13237   //=== VK_KHR_pipeline_library ===
13238   template <>
13239   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13240   {
13241     enum
13242     {
13243       value = true
13244     };
13245   };
13246 
13247   //=== VK_NV_present_barrier ===
13248   template <>
13249   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13250   {
13251     enum
13252     {
13253       value = true
13254     };
13255   };
13256 
13257   template <>
13258   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13259   {
13260     enum
13261     {
13262       value = true
13263     };
13264   };
13265 
13266   template <>
13267   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13268   {
13269     enum
13270     {
13271       value = true
13272     };
13273   };
13274 
13275   template <>
13276   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13277   {
13278     enum
13279     {
13280       value = true
13281     };
13282   };
13283 
13284   //=== VK_KHR_present_id ===
13285   template <>
13286   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13287   {
13288     enum
13289     {
13290       value = true
13291     };
13292   };
13293 
13294   template <>
13295   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13296   {
13297     enum
13298     {
13299       value = true
13300     };
13301   };
13302 
13303   template <>
13304   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13305   {
13306     enum
13307     {
13308       value = true
13309     };
13310   };
13311 
13312   //=== VK_KHR_video_encode_queue ===
13313   template <>
13314   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13315   {
13316     enum
13317     {
13318       value = true
13319     };
13320   };
13321 
13322   template <>
13323   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13324   {
13325     enum
13326     {
13327       value = true
13328     };
13329   };
13330 
13331   template <>
13332   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13333   {
13334     enum
13335     {
13336       value = true
13337     };
13338   };
13339 
13340   template <>
13341   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13342   {
13343     enum
13344     {
13345       value = true
13346     };
13347   };
13348 
13349   template <>
13350   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
13351   {
13352     enum
13353     {
13354       value = true
13355     };
13356   };
13357 
13358   template <>
13359   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
13360   {
13361     enum
13362     {
13363       value = true
13364     };
13365   };
13366 
13367   template <>
13368   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
13369   {
13370     enum
13371     {
13372       value = true
13373     };
13374   };
13375 
13376   template <>
13377   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
13378   {
13379     enum
13380     {
13381       value = true
13382     };
13383   };
13384 
13385   //=== VK_NV_device_diagnostics_config ===
13386   template <>
13387   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
13388   {
13389     enum
13390     {
13391       value = true
13392     };
13393   };
13394 
13395   template <>
13396   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
13397   {
13398     enum
13399     {
13400       value = true
13401     };
13402   };
13403 
13404   template <>
13405   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
13406   {
13407     enum
13408     {
13409       value = true
13410     };
13411   };
13412 
13413 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
13414   //=== VK_NV_cuda_kernel_launch ===
13415   template <>
13416   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
13417   {
13418     enum
13419     {
13420       value = true
13421     };
13422   };
13423 
13424   template <>
13425   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
13426   {
13427     enum
13428     {
13429       value = true
13430     };
13431   };
13432 
13433   template <>
13434   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
13435   {
13436     enum
13437     {
13438       value = true
13439     };
13440   };
13441 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
13442 
13443   //=== VK_NV_low_latency ===
13444   template <>
13445   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
13446   {
13447     enum
13448     {
13449       value = true
13450     };
13451   };
13452 
13453 #  if defined( VK_USE_PLATFORM_METAL_EXT )
13454   //=== VK_EXT_metal_objects ===
13455   template <>
13456   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
13457   {
13458     enum
13459     {
13460       value = true
13461     };
13462   };
13463 
13464   template <>
13465   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
13466   {
13467     enum
13468     {
13469       value = true
13470     };
13471   };
13472 
13473   template <>
13474   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
13475   {
13476     enum
13477     {
13478       value = true
13479     };
13480   };
13481 
13482   template <>
13483   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
13484   {
13485     enum
13486     {
13487       value = true
13488     };
13489   };
13490 
13491   template <>
13492   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
13493   {
13494     enum
13495     {
13496       value = true
13497     };
13498   };
13499 
13500   template <>
13501   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
13502   {
13503     enum
13504     {
13505       value = true
13506     };
13507   };
13508 
13509   template <>
13510   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
13511   {
13512     enum
13513     {
13514       value = true
13515     };
13516   };
13517 
13518   template <>
13519   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
13520   {
13521     enum
13522     {
13523       value = true
13524     };
13525   };
13526 
13527   template <>
13528   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
13529   {
13530     enum
13531     {
13532       value = true
13533     };
13534   };
13535 
13536   template <>
13537   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
13538   {
13539     enum
13540     {
13541       value = true
13542     };
13543   };
13544 
13545   template <>
13546   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
13547   {
13548     enum
13549     {
13550       value = true
13551     };
13552   };
13553 
13554   template <>
13555   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
13556   {
13557     enum
13558     {
13559       value = true
13560     };
13561   };
13562 
13563   template <>
13564   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
13565   {
13566     enum
13567     {
13568       value = true
13569     };
13570   };
13571 
13572   template <>
13573   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
13574   {
13575     enum
13576     {
13577       value = true
13578     };
13579   };
13580 
13581   template <>
13582   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
13583   {
13584     enum
13585     {
13586       value = true
13587     };
13588   };
13589 
13590   template <>
13591   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
13592   {
13593     enum
13594     {
13595       value = true
13596     };
13597   };
13598 
13599   template <>
13600   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
13601   {
13602     enum
13603     {
13604       value = true
13605     };
13606   };
13607 
13608   template <>
13609   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
13610   {
13611     enum
13612     {
13613       value = true
13614     };
13615   };
13616 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
13617 
13618   //=== VK_KHR_synchronization2 ===
13619   template <>
13620   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
13621   {
13622     enum
13623     {
13624       value = true
13625     };
13626   };
13627 
13628   //=== VK_EXT_descriptor_buffer ===
13629   template <>
13630   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
13631   {
13632     enum
13633     {
13634       value = true
13635     };
13636   };
13637 
13638   template <>
13639   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
13640   {
13641     enum
13642     {
13643       value = true
13644     };
13645   };
13646 
13647   template <>
13648   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
13649   {
13650     enum
13651     {
13652       value = true
13653     };
13654   };
13655 
13656   template <>
13657   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
13658   {
13659     enum
13660     {
13661       value = true
13662     };
13663   };
13664 
13665   template <>
13666   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
13667   {
13668     enum
13669     {
13670       value = true
13671     };
13672   };
13673 
13674   template <>
13675   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
13676   {
13677     enum
13678     {
13679       value = true
13680     };
13681   };
13682 
13683   template <>
13684   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
13685   {
13686     enum
13687     {
13688       value = true
13689     };
13690   };
13691 
13692   template <>
13693   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
13694   {
13695     enum
13696     {
13697       value = true
13698     };
13699   };
13700 
13701   template <>
13702   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
13703   {
13704     enum
13705     {
13706       value = true
13707     };
13708   };
13709 
13710   template <>
13711   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
13712   {
13713     enum
13714     {
13715       value = true
13716     };
13717   };
13718 
13719   template <>
13720   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
13721   {
13722     enum
13723     {
13724       value = true
13725     };
13726   };
13727 
13728   //=== VK_EXT_graphics_pipeline_library ===
13729   template <>
13730   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
13731   {
13732     enum
13733     {
13734       value = true
13735     };
13736   };
13737 
13738   template <>
13739   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
13740   {
13741     enum
13742     {
13743       value = true
13744     };
13745   };
13746 
13747   template <>
13748   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
13749   {
13750     enum
13751     {
13752       value = true
13753     };
13754   };
13755 
13756   template <>
13757   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
13758   {
13759     enum
13760     {
13761       value = true
13762     };
13763   };
13764 
13765   //=== VK_AMD_shader_early_and_late_fragment_tests ===
13766   template <>
13767   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
13768   {
13769     enum
13770     {
13771       value = true
13772     };
13773   };
13774 
13775   template <>
13776   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
13777   {
13778     enum
13779     {
13780       value = true
13781     };
13782   };
13783 
13784   //=== VK_KHR_fragment_shader_barycentric ===
13785   template <>
13786   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
13787   {
13788     enum
13789     {
13790       value = true
13791     };
13792   };
13793 
13794   template <>
13795   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
13796   {
13797     enum
13798     {
13799       value = true
13800     };
13801   };
13802 
13803   template <>
13804   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
13805   {
13806     enum
13807     {
13808       value = true
13809     };
13810   };
13811 
13812   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
13813   template <>
13814   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
13815   {
13816     enum
13817     {
13818       value = true
13819     };
13820   };
13821 
13822   template <>
13823   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
13824   {
13825     enum
13826     {
13827       value = true
13828     };
13829   };
13830 
13831   //=== VK_NV_fragment_shading_rate_enums ===
13832   template <>
13833   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
13834   {
13835     enum
13836     {
13837       value = true
13838     };
13839   };
13840 
13841   template <>
13842   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
13843   {
13844     enum
13845     {
13846       value = true
13847     };
13848   };
13849 
13850   template <>
13851   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
13852   {
13853     enum
13854     {
13855       value = true
13856     };
13857   };
13858 
13859   template <>
13860   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
13861   {
13862     enum
13863     {
13864       value = true
13865     };
13866   };
13867 
13868   //=== VK_NV_ray_tracing_motion_blur ===
13869   template <>
13870   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
13871   {
13872     enum
13873     {
13874       value = true
13875     };
13876   };
13877 
13878   template <>
13879   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
13880   {
13881     enum
13882     {
13883       value = true
13884     };
13885   };
13886 
13887   template <>
13888   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
13889   {
13890     enum
13891     {
13892       value = true
13893     };
13894   };
13895 
13896   template <>
13897   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
13898   {
13899     enum
13900     {
13901       value = true
13902     };
13903   };
13904 
13905   //=== VK_EXT_mesh_shader ===
13906   template <>
13907   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
13908   {
13909     enum
13910     {
13911       value = true
13912     };
13913   };
13914 
13915   template <>
13916   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
13917   {
13918     enum
13919     {
13920       value = true
13921     };
13922   };
13923 
13924   template <>
13925   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
13926   {
13927     enum
13928     {
13929       value = true
13930     };
13931   };
13932 
13933   //=== VK_EXT_ycbcr_2plane_444_formats ===
13934   template <>
13935   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13936   {
13937     enum
13938     {
13939       value = true
13940     };
13941   };
13942 
13943   template <>
13944   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
13945   {
13946     enum
13947     {
13948       value = true
13949     };
13950   };
13951 
13952   //=== VK_EXT_fragment_density_map2 ===
13953   template <>
13954   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
13955   {
13956     enum
13957     {
13958       value = true
13959     };
13960   };
13961 
13962   template <>
13963   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
13964   {
13965     enum
13966     {
13967       value = true
13968     };
13969   };
13970 
13971   template <>
13972   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
13973   {
13974     enum
13975     {
13976       value = true
13977     };
13978   };
13979 
13980   //=== VK_QCOM_rotated_copy_commands ===
13981   template <>
13982   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
13983   {
13984     enum
13985     {
13986       value = true
13987     };
13988   };
13989 
13990   template <>
13991   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
13992   {
13993     enum
13994     {
13995       value = true
13996     };
13997   };
13998 
13999   //=== VK_KHR_workgroup_memory_explicit_layout ===
14000   template <>
14001   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
14002   {
14003     enum
14004     {
14005       value = true
14006     };
14007   };
14008 
14009   template <>
14010   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
14011   {
14012     enum
14013     {
14014       value = true
14015     };
14016   };
14017 
14018   //=== VK_EXT_image_compression_control ===
14019   template <>
14020   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
14021   {
14022     enum
14023     {
14024       value = true
14025     };
14026   };
14027 
14028   template <>
14029   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
14030   {
14031     enum
14032     {
14033       value = true
14034     };
14035   };
14036 
14037   template <>
14038   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
14039   {
14040     enum
14041     {
14042       value = true
14043     };
14044   };
14045 
14046   template <>
14047   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
14048   {
14049     enum
14050     {
14051       value = true
14052     };
14053   };
14054 
14055   template <>
14056   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
14057   {
14058     enum
14059     {
14060       value = true
14061     };
14062   };
14063 
14064   template <>
14065   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
14066   {
14067     enum
14068     {
14069       value = true
14070     };
14071   };
14072 
14073   template <>
14074   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
14075   {
14076     enum
14077     {
14078       value = true
14079     };
14080   };
14081 
14082   template <>
14083   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2KHR>
14084   {
14085     enum
14086     {
14087       value = true
14088     };
14089   };
14090 
14091   //=== VK_EXT_attachment_feedback_loop_layout ===
14092   template <>
14093   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
14094   {
14095     enum
14096     {
14097       value = true
14098     };
14099   };
14100 
14101   template <>
14102   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
14103   {
14104     enum
14105     {
14106       value = true
14107     };
14108   };
14109 
14110   //=== VK_EXT_4444_formats ===
14111   template <>
14112   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14113   {
14114     enum
14115     {
14116       value = true
14117     };
14118   };
14119 
14120   template <>
14121   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
14122   {
14123     enum
14124     {
14125       value = true
14126     };
14127   };
14128 
14129   //=== VK_EXT_device_fault ===
14130   template <>
14131   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
14132   {
14133     enum
14134     {
14135       value = true
14136     };
14137   };
14138 
14139   template <>
14140   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
14141   {
14142     enum
14143     {
14144       value = true
14145     };
14146   };
14147 
14148   //=== VK_EXT_rgba10x6_formats ===
14149   template <>
14150   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14151   {
14152     enum
14153     {
14154       value = true
14155     };
14156   };
14157 
14158   template <>
14159   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
14160   {
14161     enum
14162     {
14163       value = true
14164     };
14165   };
14166 
14167   //=== VK_EXT_vertex_input_dynamic_state ===
14168   template <>
14169   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14170   {
14171     enum
14172     {
14173       value = true
14174     };
14175   };
14176 
14177   template <>
14178   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14179   {
14180     enum
14181     {
14182       value = true
14183     };
14184   };
14185 
14186   //=== VK_EXT_physical_device_drm ===
14187   template <>
14188   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14189   {
14190     enum
14191     {
14192       value = true
14193     };
14194   };
14195 
14196   //=== VK_EXT_device_address_binding_report ===
14197   template <>
14198   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14199   {
14200     enum
14201     {
14202       value = true
14203     };
14204   };
14205 
14206   template <>
14207   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14208   {
14209     enum
14210     {
14211       value = true
14212     };
14213   };
14214 
14215   template <>
14216   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14217   {
14218     enum
14219     {
14220       value = true
14221     };
14222   };
14223 
14224   //=== VK_EXT_depth_clip_control ===
14225   template <>
14226   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14227   {
14228     enum
14229     {
14230       value = true
14231     };
14232   };
14233 
14234   template <>
14235   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14236   {
14237     enum
14238     {
14239       value = true
14240     };
14241   };
14242 
14243   template <>
14244   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14245   {
14246     enum
14247     {
14248       value = true
14249     };
14250   };
14251 
14252   //=== VK_EXT_primitive_topology_list_restart ===
14253   template <>
14254   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14255   {
14256     enum
14257     {
14258       value = true
14259     };
14260   };
14261 
14262   template <>
14263   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14264   {
14265     enum
14266     {
14267       value = true
14268     };
14269   };
14270 
14271 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14272   //=== VK_FUCHSIA_external_memory ===
14273   template <>
14274   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14275   {
14276     enum
14277     {
14278       value = true
14279     };
14280   };
14281 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14282 
14283 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14284   //=== VK_FUCHSIA_buffer_collection ===
14285   template <>
14286   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14287   {
14288     enum
14289     {
14290       value = true
14291     };
14292   };
14293 
14294   template <>
14295   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14296   {
14297     enum
14298     {
14299       value = true
14300     };
14301   };
14302 
14303   template <>
14304   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14305   {
14306     enum
14307     {
14308       value = true
14309     };
14310   };
14311 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14312 
14313   //=== VK_HUAWEI_subpass_shading ===
14314   template <>
14315   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14316   {
14317     enum
14318     {
14319       value = true
14320     };
14321   };
14322 
14323   template <>
14324   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14325   {
14326     enum
14327     {
14328       value = true
14329     };
14330   };
14331 
14332   template <>
14333   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14334   {
14335     enum
14336     {
14337       value = true
14338     };
14339   };
14340 
14341   template <>
14342   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
14343   {
14344     enum
14345     {
14346       value = true
14347     };
14348   };
14349 
14350   //=== VK_HUAWEI_invocation_mask ===
14351   template <>
14352   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
14353   {
14354     enum
14355     {
14356       value = true
14357     };
14358   };
14359 
14360   template <>
14361   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
14362   {
14363     enum
14364     {
14365       value = true
14366     };
14367   };
14368 
14369   //=== VK_NV_external_memory_rdma ===
14370   template <>
14371   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
14372   {
14373     enum
14374     {
14375       value = true
14376     };
14377   };
14378 
14379   template <>
14380   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
14381   {
14382     enum
14383     {
14384       value = true
14385     };
14386   };
14387 
14388   //=== VK_EXT_pipeline_properties ===
14389   template <>
14390   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
14391   {
14392     enum
14393     {
14394       value = true
14395     };
14396   };
14397 
14398   template <>
14399   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
14400   {
14401     enum
14402     {
14403       value = true
14404     };
14405   };
14406 
14407   //=== VK_EXT_frame_boundary ===
14408   template <>
14409   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
14410   {
14411     enum
14412     {
14413       value = true
14414     };
14415   };
14416 
14417   template <>
14418   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
14419   {
14420     enum
14421     {
14422       value = true
14423     };
14424   };
14425 
14426   template <>
14427   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
14428   {
14429     enum
14430     {
14431       value = true
14432     };
14433   };
14434 
14435   template <>
14436   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
14437   {
14438     enum
14439     {
14440       value = true
14441     };
14442   };
14443 
14444   template <>
14445   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
14446   {
14447     enum
14448     {
14449       value = true
14450     };
14451   };
14452 
14453   template <>
14454   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
14455   {
14456     enum
14457     {
14458       value = true
14459     };
14460   };
14461 
14462   //=== VK_EXT_multisampled_render_to_single_sampled ===
14463   template <>
14464   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
14465   {
14466     enum
14467     {
14468       value = true
14469     };
14470   };
14471 
14472   template <>
14473   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
14474   {
14475     enum
14476     {
14477       value = true
14478     };
14479   };
14480 
14481   template <>
14482   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
14483   {
14484     enum
14485     {
14486       value = true
14487     };
14488   };
14489 
14490   template <>
14491   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
14492   {
14493     enum
14494     {
14495       value = true
14496     };
14497   };
14498 
14499   template <>
14500   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
14501   {
14502     enum
14503     {
14504       value = true
14505     };
14506   };
14507 
14508   //=== VK_EXT_extended_dynamic_state2 ===
14509   template <>
14510   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
14511   {
14512     enum
14513     {
14514       value = true
14515     };
14516   };
14517 
14518   template <>
14519   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
14520   {
14521     enum
14522     {
14523       value = true
14524     };
14525   };
14526 
14527   //=== VK_EXT_color_write_enable ===
14528   template <>
14529   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
14530   {
14531     enum
14532     {
14533       value = true
14534     };
14535   };
14536 
14537   template <>
14538   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
14539   {
14540     enum
14541     {
14542       value = true
14543     };
14544   };
14545 
14546   template <>
14547   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
14548   {
14549     enum
14550     {
14551       value = true
14552     };
14553   };
14554 
14555   //=== VK_EXT_primitives_generated_query ===
14556   template <>
14557   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
14558   {
14559     enum
14560     {
14561       value = true
14562     };
14563   };
14564 
14565   template <>
14566   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
14567   {
14568     enum
14569     {
14570       value = true
14571     };
14572   };
14573 
14574   //=== VK_KHR_ray_tracing_maintenance1 ===
14575   template <>
14576   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
14577   {
14578     enum
14579     {
14580       value = true
14581     };
14582   };
14583 
14584   template <>
14585   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
14586   {
14587     enum
14588     {
14589       value = true
14590     };
14591   };
14592 
14593   //=== VK_EXT_image_view_min_lod ===
14594   template <>
14595   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
14596   {
14597     enum
14598     {
14599       value = true
14600     };
14601   };
14602 
14603   template <>
14604   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
14605   {
14606     enum
14607     {
14608       value = true
14609     };
14610   };
14611 
14612   template <>
14613   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
14614   {
14615     enum
14616     {
14617       value = true
14618     };
14619   };
14620 
14621   //=== VK_EXT_multi_draw ===
14622   template <>
14623   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
14624   {
14625     enum
14626     {
14627       value = true
14628     };
14629   };
14630 
14631   template <>
14632   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
14633   {
14634     enum
14635     {
14636       value = true
14637     };
14638   };
14639 
14640   template <>
14641   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
14642   {
14643     enum
14644     {
14645       value = true
14646     };
14647   };
14648 
14649   //=== VK_EXT_image_2d_view_of_3d ===
14650   template <>
14651   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14652   {
14653     enum
14654     {
14655       value = true
14656     };
14657   };
14658 
14659   template <>
14660   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
14661   {
14662     enum
14663     {
14664       value = true
14665     };
14666   };
14667 
14668   //=== VK_EXT_shader_tile_image ===
14669   template <>
14670   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
14671   {
14672     enum
14673     {
14674       value = true
14675     };
14676   };
14677 
14678   template <>
14679   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
14680   {
14681     enum
14682     {
14683       value = true
14684     };
14685   };
14686 
14687   template <>
14688   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
14689   {
14690     enum
14691     {
14692       value = true
14693     };
14694   };
14695 
14696   //=== VK_EXT_opacity_micromap ===
14697   template <>
14698   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
14699   {
14700     enum
14701     {
14702       value = true
14703     };
14704   };
14705 
14706   template <>
14707   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
14708   {
14709     enum
14710     {
14711       value = true
14712     };
14713   };
14714 
14715   template <>
14716   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
14717   {
14718     enum
14719     {
14720       value = true
14721     };
14722   };
14723 
14724   template <>
14725   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
14726   {
14727     enum
14728     {
14729       value = true
14730     };
14731   };
14732 
14733 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
14734   //=== VK_NV_displacement_micromap ===
14735   template <>
14736   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
14737   {
14738     enum
14739     {
14740       value = true
14741     };
14742   };
14743 
14744   template <>
14745   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
14746   {
14747     enum
14748     {
14749       value = true
14750     };
14751   };
14752 
14753   template <>
14754   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
14755   {
14756     enum
14757     {
14758       value = true
14759     };
14760   };
14761 
14762   template <>
14763   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
14764   {
14765     enum
14766     {
14767       value = true
14768     };
14769   };
14770 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
14771 
14772   //=== VK_HUAWEI_cluster_culling_shader ===
14773   template <>
14774   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
14775   {
14776     enum
14777     {
14778       value = true
14779     };
14780   };
14781 
14782   template <>
14783   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
14784   {
14785     enum
14786     {
14787       value = true
14788     };
14789   };
14790 
14791   template <>
14792   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
14793   {
14794     enum
14795     {
14796       value = true
14797     };
14798   };
14799 
14800   template <>
14801   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
14802   {
14803     enum
14804     {
14805       value = true
14806     };
14807   };
14808 
14809   //=== VK_EXT_border_color_swizzle ===
14810   template <>
14811   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
14812   {
14813     enum
14814     {
14815       value = true
14816     };
14817   };
14818 
14819   template <>
14820   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
14821   {
14822     enum
14823     {
14824       value = true
14825     };
14826   };
14827 
14828   template <>
14829   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
14830   {
14831     enum
14832     {
14833       value = true
14834     };
14835   };
14836 
14837   //=== VK_EXT_pageable_device_local_memory ===
14838   template <>
14839   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
14840   {
14841     enum
14842     {
14843       value = true
14844     };
14845   };
14846 
14847   template <>
14848   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
14849   {
14850     enum
14851     {
14852       value = true
14853     };
14854   };
14855 
14856   //=== VK_ARM_shader_core_properties ===
14857   template <>
14858   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
14859   {
14860     enum
14861     {
14862       value = true
14863     };
14864   };
14865 
14866   //=== VK_KHR_shader_subgroup_rotate ===
14867   template <>
14868   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeaturesKHR, PhysicalDeviceFeatures2>
14869   {
14870     enum
14871     {
14872       value = true
14873     };
14874   };
14875 
14876   template <>
14877   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeaturesKHR, DeviceCreateInfo>
14878   {
14879     enum
14880     {
14881       value = true
14882     };
14883   };
14884 
14885   //=== VK_ARM_scheduling_controls ===
14886   template <>
14887   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
14888   {
14889     enum
14890     {
14891       value = true
14892     };
14893   };
14894 
14895   template <>
14896   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
14897   {
14898     enum
14899     {
14900       value = true
14901     };
14902   };
14903 
14904   template <>
14905   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
14906   {
14907     enum
14908     {
14909       value = true
14910     };
14911   };
14912 
14913   template <>
14914   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
14915   {
14916     enum
14917     {
14918       value = true
14919     };
14920   };
14921 
14922   template <>
14923   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
14924   {
14925     enum
14926     {
14927       value = true
14928     };
14929   };
14930 
14931   //=== VK_EXT_image_sliced_view_of_3d ===
14932   template <>
14933   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14934   {
14935     enum
14936     {
14937       value = true
14938     };
14939   };
14940 
14941   template <>
14942   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
14943   {
14944     enum
14945     {
14946       value = true
14947     };
14948   };
14949 
14950   template <>
14951   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
14952   {
14953     enum
14954     {
14955       value = true
14956     };
14957   };
14958 
14959   //=== VK_VALVE_descriptor_set_host_mapping ===
14960   template <>
14961   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
14962   {
14963     enum
14964     {
14965       value = true
14966     };
14967   };
14968 
14969   template <>
14970   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
14971   {
14972     enum
14973     {
14974       value = true
14975     };
14976   };
14977 
14978   //=== VK_EXT_depth_clamp_zero_one ===
14979   template <>
14980   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
14981   {
14982     enum
14983     {
14984       value = true
14985     };
14986   };
14987 
14988   template <>
14989   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
14990   {
14991     enum
14992     {
14993       value = true
14994     };
14995   };
14996 
14997   //=== VK_EXT_non_seamless_cube_map ===
14998   template <>
14999   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
15000   {
15001     enum
15002     {
15003       value = true
15004     };
15005   };
15006 
15007   template <>
15008   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
15009   {
15010     enum
15011     {
15012       value = true
15013     };
15014   };
15015 
15016   //=== VK_ARM_render_pass_striped ===
15017   template <>
15018   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
15019   {
15020     enum
15021     {
15022       value = true
15023     };
15024   };
15025 
15026   template <>
15027   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
15028   {
15029     enum
15030     {
15031       value = true
15032     };
15033   };
15034 
15035   template <>
15036   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
15037   {
15038     enum
15039     {
15040       value = true
15041     };
15042   };
15043 
15044   template <>
15045   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
15046   {
15047     enum
15048     {
15049       value = true
15050     };
15051   };
15052 
15053   template <>
15054   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
15055   {
15056     enum
15057     {
15058       value = true
15059     };
15060   };
15061 
15062   template <>
15063   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
15064   {
15065     enum
15066     {
15067       value = true
15068     };
15069   };
15070 
15071   //=== VK_QCOM_fragment_density_map_offset ===
15072   template <>
15073   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
15074   {
15075     enum
15076     {
15077       value = true
15078     };
15079   };
15080 
15081   template <>
15082   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
15083   {
15084     enum
15085     {
15086       value = true
15087     };
15088   };
15089 
15090   template <>
15091   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
15092   {
15093     enum
15094     {
15095       value = true
15096     };
15097   };
15098 
15099   template <>
15100   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
15101   {
15102     enum
15103     {
15104       value = true
15105     };
15106   };
15107 
15108   //=== VK_NV_copy_memory_indirect ===
15109   template <>
15110   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
15111   {
15112     enum
15113     {
15114       value = true
15115     };
15116   };
15117 
15118   template <>
15119   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
15120   {
15121     enum
15122     {
15123       value = true
15124     };
15125   };
15126 
15127   template <>
15128   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
15129   {
15130     enum
15131     {
15132       value = true
15133     };
15134   };
15135 
15136   //=== VK_NV_memory_decompression ===
15137   template <>
15138   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
15139   {
15140     enum
15141     {
15142       value = true
15143     };
15144   };
15145 
15146   template <>
15147   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
15148   {
15149     enum
15150     {
15151       value = true
15152     };
15153   };
15154 
15155   template <>
15156   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
15157   {
15158     enum
15159     {
15160       value = true
15161     };
15162   };
15163 
15164   //=== VK_NV_device_generated_commands_compute ===
15165   template <>
15166   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
15167   {
15168     enum
15169     {
15170       value = true
15171     };
15172   };
15173 
15174   template <>
15175   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
15176   {
15177     enum
15178     {
15179       value = true
15180     };
15181   };
15182 
15183   template <>
15184   struct StructExtends<ComputePipelineIndirectBufferInfoNV, ComputePipelineCreateInfo>
15185   {
15186     enum
15187     {
15188       value = true
15189     };
15190   };
15191 
15192   //=== VK_NV_linear_color_attachment ===
15193   template <>
15194   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15195   {
15196     enum
15197     {
15198       value = true
15199     };
15200   };
15201 
15202   template <>
15203   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15204   {
15205     enum
15206     {
15207       value = true
15208     };
15209   };
15210 
15211   //=== VK_KHR_shader_maximal_reconvergence ===
15212   template <>
15213   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, PhysicalDeviceFeatures2>
15214   {
15215     enum
15216     {
15217       value = true
15218     };
15219   };
15220 
15221   template <>
15222   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, DeviceCreateInfo>
15223   {
15224     enum
15225     {
15226       value = true
15227     };
15228   };
15229 
15230   //=== VK_EXT_image_compression_control_swapchain ===
15231   template <>
15232   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15233   {
15234     enum
15235     {
15236       value = true
15237     };
15238   };
15239 
15240   template <>
15241   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15242   {
15243     enum
15244     {
15245       value = true
15246     };
15247   };
15248 
15249   //=== VK_QCOM_image_processing ===
15250   template <>
15251   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15252   {
15253     enum
15254     {
15255       value = true
15256     };
15257   };
15258 
15259   template <>
15260   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15261   {
15262     enum
15263     {
15264       value = true
15265     };
15266   };
15267 
15268   template <>
15269   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15270   {
15271     enum
15272     {
15273       value = true
15274     };
15275   };
15276 
15277   template <>
15278   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15279   {
15280     enum
15281     {
15282       value = true
15283     };
15284   };
15285 
15286   //=== VK_EXT_nested_command_buffer ===
15287   template <>
15288   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15289   {
15290     enum
15291     {
15292       value = true
15293     };
15294   };
15295 
15296   template <>
15297   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15298   {
15299     enum
15300     {
15301       value = true
15302     };
15303   };
15304 
15305   template <>
15306   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15307   {
15308     enum
15309     {
15310       value = true
15311     };
15312   };
15313 
15314   //=== VK_EXT_external_memory_acquire_unmodified ===
15315   template <>
15316   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15317   {
15318     enum
15319     {
15320       value = true
15321     };
15322   };
15323 
15324   template <>
15325   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15326   {
15327     enum
15328     {
15329       value = true
15330     };
15331   };
15332 
15333   template <>
15334   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15335   {
15336     enum
15337     {
15338       value = true
15339     };
15340   };
15341 
15342   template <>
15343   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
15344   {
15345     enum
15346     {
15347       value = true
15348     };
15349   };
15350 
15351   //=== VK_EXT_extended_dynamic_state3 ===
15352   template <>
15353   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
15354   {
15355     enum
15356     {
15357       value = true
15358     };
15359   };
15360 
15361   template <>
15362   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
15363   {
15364     enum
15365     {
15366       value = true
15367     };
15368   };
15369 
15370   template <>
15371   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
15372   {
15373     enum
15374     {
15375       value = true
15376     };
15377   };
15378 
15379   //=== VK_EXT_subpass_merge_feedback ===
15380   template <>
15381   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
15382   {
15383     enum
15384     {
15385       value = true
15386     };
15387   };
15388 
15389   template <>
15390   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
15391   {
15392     enum
15393     {
15394       value = true
15395     };
15396   };
15397 
15398   template <>
15399   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
15400   {
15401     enum
15402     {
15403       value = true
15404     };
15405   };
15406 
15407   template <>
15408   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
15409   {
15410     enum
15411     {
15412       value = true
15413     };
15414   };
15415 
15416   template <>
15417   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
15418   {
15419     enum
15420     {
15421       value = true
15422     };
15423   };
15424 
15425   template <>
15426   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
15427   {
15428     enum
15429     {
15430       value = true
15431     };
15432   };
15433 
15434   //=== VK_LUNARG_direct_driver_loading ===
15435   template <>
15436   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
15437   {
15438     enum
15439     {
15440       value = true
15441     };
15442   };
15443 
15444   //=== VK_EXT_shader_module_identifier ===
15445   template <>
15446   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
15447   {
15448     enum
15449     {
15450       value = true
15451     };
15452   };
15453 
15454   template <>
15455   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
15456   {
15457     enum
15458     {
15459       value = true
15460     };
15461   };
15462 
15463   template <>
15464   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
15465   {
15466     enum
15467     {
15468       value = true
15469     };
15470   };
15471 
15472   template <>
15473   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
15474   {
15475     enum
15476     {
15477       value = true
15478     };
15479   };
15480 
15481   //=== VK_EXT_rasterization_order_attachment_access ===
15482   template <>
15483   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
15484   {
15485     enum
15486     {
15487       value = true
15488     };
15489   };
15490 
15491   template <>
15492   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
15493   {
15494     enum
15495     {
15496       value = true
15497     };
15498   };
15499 
15500   //=== VK_NV_optical_flow ===
15501   template <>
15502   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
15503   {
15504     enum
15505     {
15506       value = true
15507     };
15508   };
15509 
15510   template <>
15511   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
15512   {
15513     enum
15514     {
15515       value = true
15516     };
15517   };
15518 
15519   template <>
15520   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
15521   {
15522     enum
15523     {
15524       value = true
15525     };
15526   };
15527 
15528   template <>
15529   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
15530   {
15531     enum
15532     {
15533       value = true
15534     };
15535   };
15536 
15537   template <>
15538   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
15539   {
15540     enum
15541     {
15542       value = true
15543     };
15544   };
15545 
15546   template <>
15547   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
15548   {
15549     enum
15550     {
15551       value = true
15552     };
15553   };
15554 
15555   //=== VK_EXT_legacy_dithering ===
15556   template <>
15557   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
15558   {
15559     enum
15560     {
15561       value = true
15562     };
15563   };
15564 
15565   template <>
15566   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
15567   {
15568     enum
15569     {
15570       value = true
15571     };
15572   };
15573 
15574   //=== VK_EXT_pipeline_protected_access ===
15575   template <>
15576   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, PhysicalDeviceFeatures2>
15577   {
15578     enum
15579     {
15580       value = true
15581     };
15582   };
15583 
15584   template <>
15585   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, DeviceCreateInfo>
15586   {
15587     enum
15588     {
15589       value = true
15590     };
15591   };
15592 
15593 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
15594   //=== VK_ANDROID_external_format_resolve ===
15595   template <>
15596   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
15597   {
15598     enum
15599     {
15600       value = true
15601     };
15602   };
15603 
15604   template <>
15605   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
15606   {
15607     enum
15608     {
15609       value = true
15610     };
15611   };
15612 
15613   template <>
15614   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
15615   {
15616     enum
15617     {
15618       value = true
15619     };
15620   };
15621 
15622   template <>
15623   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
15624   {
15625     enum
15626     {
15627       value = true
15628     };
15629   };
15630 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
15631 
15632   //=== VK_KHR_maintenance5 ===
15633   template <>
15634   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, PhysicalDeviceFeatures2>
15635   {
15636     enum
15637     {
15638       value = true
15639     };
15640   };
15641 
15642   template <>
15643   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, DeviceCreateInfo>
15644   {
15645     enum
15646     {
15647       value = true
15648     };
15649   };
15650 
15651   template <>
15652   struct StructExtends<PhysicalDeviceMaintenance5PropertiesKHR, PhysicalDeviceProperties2>
15653   {
15654     enum
15655     {
15656       value = true
15657     };
15658   };
15659 
15660   template <>
15661   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, ComputePipelineCreateInfo>
15662   {
15663     enum
15664     {
15665       value = true
15666     };
15667   };
15668 
15669   template <>
15670   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, GraphicsPipelineCreateInfo>
15671   {
15672     enum
15673     {
15674       value = true
15675     };
15676   };
15677 
15678   template <>
15679   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoNV>
15680   {
15681     enum
15682     {
15683       value = true
15684     };
15685   };
15686 
15687   template <>
15688   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoKHR>
15689   {
15690     enum
15691     {
15692       value = true
15693     };
15694   };
15695 
15696   template <>
15697   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferViewCreateInfo>
15698   {
15699     enum
15700     {
15701       value = true
15702     };
15703   };
15704 
15705   template <>
15706   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferCreateInfo>
15707   {
15708     enum
15709     {
15710       value = true
15711     };
15712   };
15713 
15714   template <>
15715   struct StructExtends<BufferUsageFlags2CreateInfoKHR, PhysicalDeviceExternalBufferInfo>
15716   {
15717     enum
15718     {
15719       value = true
15720     };
15721   };
15722 
15723   template <>
15724   struct StructExtends<BufferUsageFlags2CreateInfoKHR, DescriptorBufferBindingInfoEXT>
15725   {
15726     enum
15727     {
15728       value = true
15729     };
15730   };
15731 
15732   //=== VK_KHR_ray_tracing_position_fetch ===
15733   template <>
15734   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
15735   {
15736     enum
15737     {
15738       value = true
15739     };
15740   };
15741 
15742   template <>
15743   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
15744   {
15745     enum
15746     {
15747       value = true
15748     };
15749   };
15750 
15751   //=== VK_EXT_shader_object ===
15752   template <>
15753   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
15754   {
15755     enum
15756     {
15757       value = true
15758     };
15759   };
15760 
15761   template <>
15762   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
15763   {
15764     enum
15765     {
15766       value = true
15767     };
15768   };
15769 
15770   template <>
15771   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
15772   {
15773     enum
15774     {
15775       value = true
15776     };
15777   };
15778 
15779   //=== VK_QCOM_tile_properties ===
15780   template <>
15781   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
15782   {
15783     enum
15784     {
15785       value = true
15786     };
15787   };
15788 
15789   template <>
15790   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
15791   {
15792     enum
15793     {
15794       value = true
15795     };
15796   };
15797 
15798   //=== VK_SEC_amigo_profiling ===
15799   template <>
15800   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
15801   {
15802     enum
15803     {
15804       value = true
15805     };
15806   };
15807 
15808   template <>
15809   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
15810   {
15811     enum
15812     {
15813       value = true
15814     };
15815   };
15816 
15817   template <>
15818   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
15819   {
15820     enum
15821     {
15822       value = true
15823     };
15824   };
15825 
15826   //=== VK_QCOM_multiview_per_view_viewports ===
15827   template <>
15828   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
15829   {
15830     enum
15831     {
15832       value = true
15833     };
15834   };
15835 
15836   template <>
15837   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
15838   {
15839     enum
15840     {
15841       value = true
15842     };
15843   };
15844 
15845   //=== VK_NV_ray_tracing_invocation_reorder ===
15846   template <>
15847   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
15848   {
15849     enum
15850     {
15851       value = true
15852     };
15853   };
15854 
15855   template <>
15856   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
15857   {
15858     enum
15859     {
15860       value = true
15861     };
15862   };
15863 
15864   template <>
15865   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
15866   {
15867     enum
15868     {
15869       value = true
15870     };
15871   };
15872 
15873   //=== VK_NV_extended_sparse_address_space ===
15874   template <>
15875   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
15876   {
15877     enum
15878     {
15879       value = true
15880     };
15881   };
15882 
15883   template <>
15884   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
15885   {
15886     enum
15887     {
15888       value = true
15889     };
15890   };
15891 
15892   template <>
15893   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
15894   {
15895     enum
15896     {
15897       value = true
15898     };
15899   };
15900 
15901   //=== VK_EXT_mutable_descriptor_type ===
15902   template <>
15903   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
15904   {
15905     enum
15906     {
15907       value = true
15908     };
15909   };
15910 
15911   template <>
15912   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
15913   {
15914     enum
15915     {
15916       value = true
15917     };
15918   };
15919 
15920   template <>
15921   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
15922   {
15923     enum
15924     {
15925       value = true
15926     };
15927   };
15928 
15929   template <>
15930   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
15931   {
15932     enum
15933     {
15934       value = true
15935     };
15936   };
15937 
15938   //=== VK_EXT_legacy_vertex_attributes ===
15939   template <>
15940   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, PhysicalDeviceFeatures2>
15941   {
15942     enum
15943     {
15944       value = true
15945     };
15946   };
15947 
15948   template <>
15949   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, DeviceCreateInfo>
15950   {
15951     enum
15952     {
15953       value = true
15954     };
15955   };
15956 
15957   template <>
15958   struct StructExtends<PhysicalDeviceLegacyVertexAttributesPropertiesEXT, PhysicalDeviceProperties2>
15959   {
15960     enum
15961     {
15962       value = true
15963     };
15964   };
15965 
15966   //=== VK_EXT_layer_settings ===
15967   template <>
15968   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
15969   {
15970     enum
15971     {
15972       value = true
15973     };
15974   };
15975 
15976   //=== VK_ARM_shader_core_builtins ===
15977   template <>
15978   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
15979   {
15980     enum
15981     {
15982       value = true
15983     };
15984   };
15985 
15986   template <>
15987   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
15988   {
15989     enum
15990     {
15991       value = true
15992     };
15993   };
15994 
15995   template <>
15996   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
15997   {
15998     enum
15999     {
16000       value = true
16001     };
16002   };
16003 
16004   //=== VK_EXT_pipeline_library_group_handles ===
16005   template <>
16006   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
16007   {
16008     enum
16009     {
16010       value = true
16011     };
16012   };
16013 
16014   template <>
16015   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
16016   {
16017     enum
16018     {
16019       value = true
16020     };
16021   };
16022 
16023   //=== VK_EXT_dynamic_rendering_unused_attachments ===
16024   template <>
16025   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
16026   {
16027     enum
16028     {
16029       value = true
16030     };
16031   };
16032 
16033   template <>
16034   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
16035   {
16036     enum
16037     {
16038       value = true
16039     };
16040   };
16041 
16042   //=== VK_NV_low_latency2 ===
16043   template <>
16044   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
16045   {
16046     enum
16047     {
16048       value = true
16049     };
16050   };
16051 
16052   template <>
16053   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
16054   {
16055     enum
16056     {
16057       value = true
16058     };
16059   };
16060 
16061   template <>
16062   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
16063   {
16064     enum
16065     {
16066       value = true
16067     };
16068   };
16069 
16070   template <>
16071   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
16072   {
16073     enum
16074     {
16075       value = true
16076     };
16077   };
16078 
16079   //=== VK_KHR_cooperative_matrix ===
16080   template <>
16081   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
16082   {
16083     enum
16084     {
16085       value = true
16086     };
16087   };
16088 
16089   template <>
16090   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
16091   {
16092     enum
16093     {
16094       value = true
16095     };
16096   };
16097 
16098   template <>
16099   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
16100   {
16101     enum
16102     {
16103       value = true
16104     };
16105   };
16106 
16107   //=== VK_QCOM_multiview_per_view_render_areas ===
16108   template <>
16109   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
16110   {
16111     enum
16112     {
16113       value = true
16114     };
16115   };
16116 
16117   template <>
16118   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
16119   {
16120     enum
16121     {
16122       value = true
16123     };
16124   };
16125 
16126   template <>
16127   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
16128   {
16129     enum
16130     {
16131       value = true
16132     };
16133   };
16134 
16135   template <>
16136   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
16137   {
16138     enum
16139     {
16140       value = true
16141     };
16142   };
16143 
16144   //=== VK_KHR_video_decode_av1 ===
16145   template <>
16146   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16147   {
16148     enum
16149     {
16150       value = true
16151     };
16152   };
16153 
16154   template <>
16155   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16156   {
16157     enum
16158     {
16159       value = true
16160     };
16161   };
16162 
16163   template <>
16164   struct StructExtends<VideoDecodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16165   {
16166     enum
16167     {
16168       value = true
16169     };
16170   };
16171 
16172   template <>
16173   struct StructExtends<VideoDecodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16174   {
16175     enum
16176     {
16177       value = true
16178     };
16179   };
16180 
16181   template <>
16182   struct StructExtends<VideoDecodeAV1PictureInfoKHR, VideoDecodeInfoKHR>
16183   {
16184     enum
16185     {
16186       value = true
16187     };
16188   };
16189 
16190   template <>
16191   struct StructExtends<VideoDecodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16192   {
16193     enum
16194     {
16195       value = true
16196     };
16197   };
16198 
16199   //=== VK_KHR_video_maintenance1 ===
16200   template <>
16201   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
16202   {
16203     enum
16204     {
16205       value = true
16206     };
16207   };
16208 
16209   template <>
16210   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
16211   {
16212     enum
16213     {
16214       value = true
16215     };
16216   };
16217 
16218   template <>
16219   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
16220   {
16221     enum
16222     {
16223       value = true
16224     };
16225   };
16226 
16227   template <>
16228   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
16229   {
16230     enum
16231     {
16232       value = true
16233     };
16234   };
16235 
16236   //=== VK_NV_per_stage_descriptor_set ===
16237   template <>
16238   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
16239   {
16240     enum
16241     {
16242       value = true
16243     };
16244   };
16245 
16246   template <>
16247   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
16248   {
16249     enum
16250     {
16251       value = true
16252     };
16253   };
16254 
16255   //=== VK_QCOM_image_processing2 ===
16256   template <>
16257   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
16258   {
16259     enum
16260     {
16261       value = true
16262     };
16263   };
16264 
16265   template <>
16266   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
16267   {
16268     enum
16269     {
16270       value = true
16271     };
16272   };
16273 
16274   template <>
16275   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
16276   {
16277     enum
16278     {
16279       value = true
16280     };
16281   };
16282 
16283   template <>
16284   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
16285   {
16286     enum
16287     {
16288       value = true
16289     };
16290   };
16291 
16292   //=== VK_QCOM_filter_cubic_weights ===
16293   template <>
16294   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
16295   {
16296     enum
16297     {
16298       value = true
16299     };
16300   };
16301 
16302   template <>
16303   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
16304   {
16305     enum
16306     {
16307       value = true
16308     };
16309   };
16310 
16311   template <>
16312   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
16313   {
16314     enum
16315     {
16316       value = true
16317     };
16318   };
16319 
16320   template <>
16321   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
16322   {
16323     enum
16324     {
16325       value = true
16326     };
16327   };
16328 
16329   //=== VK_QCOM_ycbcr_degamma ===
16330   template <>
16331   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
16332   {
16333     enum
16334     {
16335       value = true
16336     };
16337   };
16338 
16339   template <>
16340   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
16341   {
16342     enum
16343     {
16344       value = true
16345     };
16346   };
16347 
16348   template <>
16349   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
16350   {
16351     enum
16352     {
16353       value = true
16354     };
16355   };
16356 
16357   //=== VK_QCOM_filter_cubic_clamp ===
16358   template <>
16359   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
16360   {
16361     enum
16362     {
16363       value = true
16364     };
16365   };
16366 
16367   template <>
16368   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
16369   {
16370     enum
16371     {
16372       value = true
16373     };
16374   };
16375 
16376   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
16377   template <>
16378   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
16379   {
16380     enum
16381     {
16382       value = true
16383     };
16384   };
16385 
16386   template <>
16387   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
16388   {
16389     enum
16390     {
16391       value = true
16392     };
16393   };
16394 
16395   //=== VK_KHR_vertex_attribute_divisor ===
16396   template <>
16397   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesKHR, PhysicalDeviceProperties2>
16398   {
16399     enum
16400     {
16401       value = true
16402     };
16403   };
16404 
16405   template <>
16406   struct StructExtends<PipelineVertexInputDivisorStateCreateInfoKHR, PipelineVertexInputStateCreateInfo>
16407   {
16408     enum
16409     {
16410       value = true
16411     };
16412   };
16413 
16414   template <>
16415   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, PhysicalDeviceFeatures2>
16416   {
16417     enum
16418     {
16419       value = true
16420     };
16421   };
16422 
16423   template <>
16424   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, DeviceCreateInfo>
16425   {
16426     enum
16427     {
16428       value = true
16429     };
16430   };
16431 
16432   //=== VK_KHR_shader_float_controls2 ===
16433   template <>
16434   struct StructExtends<PhysicalDeviceShaderFloatControls2FeaturesKHR, PhysicalDeviceFeatures2>
16435   {
16436     enum
16437     {
16438       value = true
16439     };
16440   };
16441 
16442   template <>
16443   struct StructExtends<PhysicalDeviceShaderFloatControls2FeaturesKHR, DeviceCreateInfo>
16444   {
16445     enum
16446     {
16447       value = true
16448     };
16449   };
16450 
16451 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
16452   //=== VK_QNX_external_memory_screen_buffer ===
16453   template <>
16454   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
16455   {
16456     enum
16457     {
16458       value = true
16459     };
16460   };
16461 
16462   template <>
16463   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
16464   {
16465     enum
16466     {
16467       value = true
16468     };
16469   };
16470 
16471   template <>
16472   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
16473   {
16474     enum
16475     {
16476       value = true
16477     };
16478   };
16479 
16480   template <>
16481   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
16482   {
16483     enum
16484     {
16485       value = true
16486     };
16487   };
16488 
16489   template <>
16490   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
16491   {
16492     enum
16493     {
16494       value = true
16495     };
16496   };
16497 
16498   template <>
16499   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
16500   {
16501     enum
16502     {
16503       value = true
16504     };
16505   };
16506 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
16507 
16508   //=== VK_MSFT_layered_driver ===
16509   template <>
16510   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
16511   {
16512     enum
16513     {
16514       value = true
16515     };
16516   };
16517 
16518   //=== VK_KHR_index_type_uint8 ===
16519   template <>
16520   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesKHR, PhysicalDeviceFeatures2>
16521   {
16522     enum
16523     {
16524       value = true
16525     };
16526   };
16527 
16528   template <>
16529   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesKHR, DeviceCreateInfo>
16530   {
16531     enum
16532     {
16533       value = true
16534     };
16535   };
16536 
16537   //=== VK_KHR_line_rasterization ===
16538   template <>
16539   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesKHR, PhysicalDeviceFeatures2>
16540   {
16541     enum
16542     {
16543       value = true
16544     };
16545   };
16546 
16547   template <>
16548   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesKHR, DeviceCreateInfo>
16549   {
16550     enum
16551     {
16552       value = true
16553     };
16554   };
16555 
16556   template <>
16557   struct StructExtends<PhysicalDeviceLineRasterizationPropertiesKHR, PhysicalDeviceProperties2>
16558   {
16559     enum
16560     {
16561       value = true
16562     };
16563   };
16564 
16565   template <>
16566   struct StructExtends<PipelineRasterizationLineStateCreateInfoKHR, PipelineRasterizationStateCreateInfo>
16567   {
16568     enum
16569     {
16570       value = true
16571     };
16572   };
16573 
16574   //=== VK_KHR_shader_expect_assume ===
16575   template <>
16576   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeaturesKHR, PhysicalDeviceFeatures2>
16577   {
16578     enum
16579     {
16580       value = true
16581     };
16582   };
16583 
16584   template <>
16585   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeaturesKHR, DeviceCreateInfo>
16586   {
16587     enum
16588     {
16589       value = true
16590     };
16591   };
16592 
16593   //=== VK_KHR_maintenance6 ===
16594   template <>
16595   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, PhysicalDeviceFeatures2>
16596   {
16597     enum
16598     {
16599       value = true
16600     };
16601   };
16602 
16603   template <>
16604   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, DeviceCreateInfo>
16605   {
16606     enum
16607     {
16608       value = true
16609     };
16610   };
16611 
16612   template <>
16613   struct StructExtends<PhysicalDeviceMaintenance6PropertiesKHR, PhysicalDeviceProperties2>
16614   {
16615     enum
16616     {
16617       value = true
16618     };
16619   };
16620 
16621   template <>
16622   struct StructExtends<BindMemoryStatusKHR, BindBufferMemoryInfo>
16623   {
16624     enum
16625     {
16626       value = true
16627     };
16628   };
16629 
16630   template <>
16631   struct StructExtends<BindMemoryStatusKHR, BindImageMemoryInfo>
16632   {
16633     enum
16634     {
16635       value = true
16636     };
16637   };
16638 
16639   //=== VK_NV_descriptor_pool_overallocation ===
16640   template <>
16641   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
16642   {
16643     enum
16644     {
16645       value = true
16646     };
16647   };
16648 
16649   template <>
16650   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
16651   {
16652     enum
16653     {
16654       value = true
16655     };
16656   };
16657 
16658   //=== VK_NV_raw_access_chains ===
16659   template <>
16660   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, PhysicalDeviceFeatures2>
16661   {
16662     enum
16663     {
16664       value = true
16665     };
16666   };
16667 
16668   template <>
16669   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, DeviceCreateInfo>
16670   {
16671     enum
16672     {
16673       value = true
16674     };
16675   };
16676 
16677   //=== VK_NV_shader_atomic_float16_vector ===
16678   template <>
16679   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, PhysicalDeviceFeatures2>
16680   {
16681     enum
16682     {
16683       value = true
16684     };
16685   };
16686 
16687   template <>
16688   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, DeviceCreateInfo>
16689   {
16690     enum
16691     {
16692       value = true
16693     };
16694   };
16695 
16696   //=== VK_EXT_shader_replicated_composites ===
16697   template <>
16698   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, PhysicalDeviceFeatures2>
16699   {
16700     enum
16701     {
16702       value = true
16703     };
16704   };
16705 
16706   template <>
16707   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, DeviceCreateInfo>
16708   {
16709     enum
16710     {
16711       value = true
16712     };
16713   };
16714 
16715   //=== VK_NV_ray_tracing_validation ===
16716   template <>
16717   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, PhysicalDeviceFeatures2>
16718   {
16719     enum
16720     {
16721       value = true
16722     };
16723   };
16724 
16725   template <>
16726   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, DeviceCreateInfo>
16727   {
16728     enum
16729     {
16730       value = true
16731     };
16732   };
16733 
16734   //=== VK_MESA_image_alignment_control ===
16735   template <>
16736   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, PhysicalDeviceFeatures2>
16737   {
16738     enum
16739     {
16740       value = true
16741     };
16742   };
16743 
16744   template <>
16745   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, DeviceCreateInfo>
16746   {
16747     enum
16748     {
16749       value = true
16750     };
16751   };
16752 
16753   template <>
16754   struct StructExtends<PhysicalDeviceImageAlignmentControlPropertiesMESA, PhysicalDeviceProperties2>
16755   {
16756     enum
16757     {
16758       value = true
16759     };
16760   };
16761 
16762   template <>
16763   struct StructExtends<ImageAlignmentControlCreateInfoMESA, ImageCreateInfo>
16764   {
16765     enum
16766     {
16767       value = true
16768     };
16769   };
16770 
16771 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
16772 
16773 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
16774   class DynamicLoader
16775   {
16776   public:
16777 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )16778     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
16779 #  else
16780     DynamicLoader( std::string const & vulkanLibraryName = {} )
16781 #  endif
16782     {
16783       if ( !vulkanLibraryName.empty() )
16784       {
16785 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16786         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
16787 #  elif defined( _WIN32 )
16788         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
16789 #  else
16790 #    error unsupported platform
16791 #  endif
16792       }
16793       else
16794       {
16795 #  if defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16796         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
16797         if ( m_library == nullptr )
16798         {
16799           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
16800         }
16801 #  elif defined( __APPLE__ )
16802         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
16803         if ( m_library == nullptr )
16804         {
16805           m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
16806         }
16807 #  elif defined( _WIN32 )
16808         m_library = ::LoadLibraryA( "vulkan-1.dll" );
16809 #  else
16810 #    error unsupported platform
16811 #  endif
16812       }
16813 
16814 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
16815       if ( m_library == nullptr )
16816       {
16817         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
16818         throw std::runtime_error( "Failed to load vulkan library!" );
16819       }
16820 #  endif
16821     }
16822 
16823     DynamicLoader( DynamicLoader const & ) = delete;
16824 
DynamicLoader(DynamicLoader && other)16825     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
16826     {
16827       other.m_library = nullptr;
16828     }
16829 
16830     DynamicLoader & operator=( DynamicLoader const & ) = delete;
16831 
operator =(DynamicLoader && other)16832     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
16833     {
16834       std::swap( m_library, other.m_library );
16835       return *this;
16836     }
16837 
~DynamicLoader()16838     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
16839     {
16840       if ( m_library )
16841       {
16842 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16843         dlclose( m_library );
16844 #  elif defined( _WIN32 )
16845         ::FreeLibrary( m_library );
16846 #  else
16847 #    error unsupported platform
16848 #  endif
16849       }
16850     }
16851 
16852     template <typename T>
getProcAddress(const char * function) const16853     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
16854     {
16855 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16856       return (T)dlsym( m_library, function );
16857 #  elif defined( _WIN32 )
16858       return ( T )::GetProcAddress( m_library, function );
16859 #  else
16860 #    error unsupported platform
16861 #  endif
16862     }
16863 
success() const16864     bool success() const VULKAN_HPP_NOEXCEPT
16865     {
16866       return m_library != nullptr;
16867     }
16868 
16869   private:
16870 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16871     void * m_library;
16872 #  elif defined( _WIN32 )
16873     ::HINSTANCE m_library;
16874 #  else
16875 #    error unsupported platform
16876 #  endif
16877   };
16878 #endif
16879 
16880   using PFN_dummy = void ( * )();
16881 
16882   class DispatchLoaderDynamic : public DispatchLoaderBase
16883   {
16884   public:
16885     //=== VK_VERSION_1_0 ===
16886     PFN_vkCreateInstance                               vkCreateInstance                               = 0;
16887     PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
16888     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
16889     PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
16890     PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
16891     PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
16892     PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
16893     PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
16894     PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
16895     PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
16896     PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
16897     PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
16898     PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
16899     PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
16900     PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
16901     PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
16902     PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
16903     PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
16904     PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
16905     PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
16906     PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
16907     PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
16908     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
16909     PFN_vkMapMemory                                    vkMapMemory                                    = 0;
16910     PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
16911     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
16912     PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
16913     PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
16914     PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
16915     PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
16916     PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
16917     PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
16918     PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
16919     PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
16920     PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
16921     PFN_vkCreateFence                                  vkCreateFence                                  = 0;
16922     PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
16923     PFN_vkResetFences                                  vkResetFences                                  = 0;
16924     PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
16925     PFN_vkWaitForFences                                vkWaitForFences                                = 0;
16926     PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
16927     PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
16928     PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
16929     PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
16930     PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
16931     PFN_vkSetEvent                                     vkSetEvent                                     = 0;
16932     PFN_vkResetEvent                                   vkResetEvent                                   = 0;
16933     PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
16934     PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
16935     PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
16936     PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
16937     PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
16938     PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
16939     PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
16940     PFN_vkCreateImage                                  vkCreateImage                                  = 0;
16941     PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
16942     PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
16943     PFN_vkCreateImageView                              vkCreateImageView                              = 0;
16944     PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
16945     PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
16946     PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
16947     PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
16948     PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
16949     PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
16950     PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
16951     PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
16952     PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
16953     PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
16954     PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
16955     PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
16956     PFN_vkCreateSampler                                vkCreateSampler                                = 0;
16957     PFN_vkDestroySampler                               vkDestroySampler                               = 0;
16958     PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
16959     PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
16960     PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
16961     PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
16962     PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
16963     PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
16964     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
16965     PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
16966     PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
16967     PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
16968     PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
16969     PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
16970     PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
16971     PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
16972     PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
16973     PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
16974     PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
16975     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
16976     PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
16977     PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
16978     PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
16979     PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
16980     PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
16981     PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
16982     PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
16983     PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
16984     PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
16985     PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
16986     PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
16987     PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
16988     PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
16989     PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
16990     PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
16991     PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
16992     PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
16993     PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
16994     PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
16995     PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
16996     PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
16997     PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
16998     PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
16999     PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
17000     PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
17001     PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
17002     PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
17003     PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
17004     PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
17005     PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
17006     PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
17007     PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
17008     PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
17009     PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
17010     PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
17011     PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
17012     PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
17013     PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
17014     PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
17015     PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
17016     PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
17017     PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
17018     PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
17019     PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
17020     PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
17021     PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
17022     PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
17023 
17024     //=== VK_VERSION_1_1 ===
17025     PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
17026     PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
17027     PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
17028     PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
17029     PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
17030     PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
17031     PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
17032     PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
17033     PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
17034     PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
17035     PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
17036     PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
17037     PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
17038     PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
17039     PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
17040     PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
17041     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
17042     PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
17043     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
17044     PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
17045     PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
17046     PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
17047     PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
17048     PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
17049     PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
17050     PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
17051     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
17052     PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
17053 
17054     //=== VK_VERSION_1_2 ===
17055     PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
17056     PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
17057     PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
17058     PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
17059     PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
17060     PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
17061     PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
17062     PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
17063     PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
17064     PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
17065     PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
17066     PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
17067     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
17068 
17069     //=== VK_VERSION_1_3 ===
17070     PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
17071     PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
17072     PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
17073     PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
17074     PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
17075     PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
17076     PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
17077     PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
17078     PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
17079     PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
17080     PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
17081     PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
17082     PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
17083     PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
17084     PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
17085     PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
17086     PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
17087     PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
17088     PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
17089     PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
17090     PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
17091     PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
17092     PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
17093     PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
17094     PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
17095     PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
17096     PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
17097     PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
17098     PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
17099     PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
17100     PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
17101     PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
17102     PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
17103     PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
17104     PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
17105     PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
17106     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
17107 
17108     //=== VK_KHR_surface ===
17109     PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
17110     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
17111     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
17112     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
17113     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
17114 
17115     //=== VK_KHR_swapchain ===
17116     PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
17117     PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
17118     PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
17119     PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
17120     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
17121     PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
17122     PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
17123     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
17124     PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
17125 
17126     //=== VK_KHR_display ===
17127     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
17128     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
17129     PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
17130     PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
17131     PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
17132     PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
17133     PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
17134 
17135     //=== VK_KHR_display_swapchain ===
17136     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
17137 
17138 #if defined( VK_USE_PLATFORM_XLIB_KHR )
17139     //=== VK_KHR_xlib_surface ===
17140     PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
17141     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
17142 #else
17143     PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
17144     PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
17145 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
17146 
17147 #if defined( VK_USE_PLATFORM_XCB_KHR )
17148     //=== VK_KHR_xcb_surface ===
17149     PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
17150     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
17151 #else
17152     PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
17153     PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
17154 #endif /*VK_USE_PLATFORM_XCB_KHR*/
17155 
17156 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
17157     //=== VK_KHR_wayland_surface ===
17158     PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
17159     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
17160 #else
17161     PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
17162     PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
17163 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
17164 
17165 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17166     //=== VK_KHR_android_surface ===
17167     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
17168 #else
17169     PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
17170 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17171 
17172 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17173     //=== VK_KHR_win32_surface ===
17174     PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
17175     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
17176 #else
17177     PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
17178     PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
17179 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17180 
17181     //=== VK_EXT_debug_report ===
17182     PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
17183     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
17184     PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
17185 
17186     //=== VK_EXT_debug_marker ===
17187     PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
17188     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
17189     PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
17190     PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
17191     PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
17192 
17193     //=== VK_KHR_video_queue ===
17194     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
17195     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
17196     PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
17197     PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
17198     PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
17199     PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
17200     PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
17201     PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
17202     PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
17203     PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
17204     PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
17205     PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
17206 
17207     //=== VK_KHR_video_decode_queue ===
17208     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
17209 
17210     //=== VK_EXT_transform_feedback ===
17211     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
17212     PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
17213     PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
17214     PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
17215     PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
17216     PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
17217 
17218     //=== VK_NVX_binary_import ===
17219     PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
17220     PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
17221     PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
17222     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
17223     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
17224 
17225     //=== VK_NVX_image_view_handle ===
17226     PFN_vkGetImageViewHandleNVX  vkGetImageViewHandleNVX  = 0;
17227     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
17228 
17229     //=== VK_AMD_draw_indirect_count ===
17230     PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
17231     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
17232 
17233     //=== VK_AMD_shader_info ===
17234     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
17235 
17236     //=== VK_KHR_dynamic_rendering ===
17237     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
17238     PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
17239 
17240 #if defined( VK_USE_PLATFORM_GGP )
17241     //=== VK_GGP_stream_descriptor_surface ===
17242     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
17243 #else
17244     PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
17245 #endif /*VK_USE_PLATFORM_GGP*/
17246 
17247     //=== VK_NV_external_memory_capabilities ===
17248     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
17249 
17250 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17251     //=== VK_NV_external_memory_win32 ===
17252     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
17253 #else
17254     PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
17255 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17256 
17257     //=== VK_KHR_get_physical_device_properties2 ===
17258     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
17259     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
17260     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
17261     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
17262     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
17263     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
17264     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
17265 
17266     //=== VK_KHR_device_group ===
17267     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
17268     PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
17269     PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
17270 
17271 #if defined( VK_USE_PLATFORM_VI_NN )
17272     //=== VK_NN_vi_surface ===
17273     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
17274 #else
17275     PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
17276 #endif /*VK_USE_PLATFORM_VI_NN*/
17277 
17278     //=== VK_KHR_maintenance1 ===
17279     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
17280 
17281     //=== VK_KHR_device_group_creation ===
17282     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
17283 
17284     //=== VK_KHR_external_memory_capabilities ===
17285     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
17286 
17287 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17288     //=== VK_KHR_external_memory_win32 ===
17289     PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
17290     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
17291 #else
17292     PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
17293     PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
17294 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17295 
17296     //=== VK_KHR_external_memory_fd ===
17297     PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
17298     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
17299 
17300     //=== VK_KHR_external_semaphore_capabilities ===
17301     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
17302 
17303 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17304     //=== VK_KHR_external_semaphore_win32 ===
17305     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
17306     PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
17307 #else
17308     PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
17309     PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
17310 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17311 
17312     //=== VK_KHR_external_semaphore_fd ===
17313     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
17314     PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
17315 
17316     //=== VK_KHR_push_descriptor ===
17317     PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
17318     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
17319 
17320     //=== VK_EXT_conditional_rendering ===
17321     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
17322     PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
17323 
17324     //=== VK_KHR_descriptor_update_template ===
17325     PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
17326     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
17327     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
17328 
17329     //=== VK_NV_clip_space_w_scaling ===
17330     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
17331 
17332     //=== VK_EXT_direct_mode_display ===
17333     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
17334 
17335 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
17336     //=== VK_EXT_acquire_xlib_display ===
17337     PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
17338     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
17339 #else
17340     PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
17341     PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
17342 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
17343 
17344     //=== VK_EXT_display_surface_counter ===
17345     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
17346 
17347     //=== VK_EXT_display_control ===
17348     PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
17349     PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
17350     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
17351     PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
17352 
17353     //=== VK_GOOGLE_display_timing ===
17354     PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
17355     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
17356 
17357     //=== VK_EXT_discard_rectangles ===
17358     PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
17359     PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
17360     PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
17361 
17362     //=== VK_EXT_hdr_metadata ===
17363     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
17364 
17365     //=== VK_KHR_create_renderpass2 ===
17366     PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
17367     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
17368     PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
17369     PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
17370 
17371     //=== VK_KHR_shared_presentable_image ===
17372     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
17373 
17374     //=== VK_KHR_external_fence_capabilities ===
17375     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
17376 
17377 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17378     //=== VK_KHR_external_fence_win32 ===
17379     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
17380     PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
17381 #else
17382     PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
17383     PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
17384 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17385 
17386     //=== VK_KHR_external_fence_fd ===
17387     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
17388     PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
17389 
17390     //=== VK_KHR_performance_query ===
17391     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
17392     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
17393     PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
17394     PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
17395 
17396     //=== VK_KHR_get_surface_capabilities2 ===
17397     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
17398     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
17399 
17400     //=== VK_KHR_get_display_properties2 ===
17401     PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
17402     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
17403     PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
17404     PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
17405 
17406 #if defined( VK_USE_PLATFORM_IOS_MVK )
17407     //=== VK_MVK_ios_surface ===
17408     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
17409 #else
17410     PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
17411 #endif /*VK_USE_PLATFORM_IOS_MVK*/
17412 
17413 #if defined( VK_USE_PLATFORM_MACOS_MVK )
17414     //=== VK_MVK_macos_surface ===
17415     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
17416 #else
17417     PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
17418 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
17419 
17420     //=== VK_EXT_debug_utils ===
17421     PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
17422     PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
17423     PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
17424     PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
17425     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
17426     PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
17427     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
17428     PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
17429     PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
17430     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
17431     PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
17432 
17433 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17434     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
17435     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
17436     PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
17437 #else
17438     PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
17439     PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
17440 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17441 
17442 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17443     //=== VK_AMDX_shader_enqueue ===
17444     PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
17445     PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
17446     PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
17447     PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
17448     PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
17449     PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
17450     PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
17451 #else
17452     PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
17453     PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
17454     PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
17455     PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
17456     PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
17457     PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
17458     PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
17459 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17460 
17461     //=== VK_EXT_sample_locations ===
17462     PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
17463     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
17464 
17465     //=== VK_KHR_get_memory_requirements2 ===
17466     PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
17467     PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
17468     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
17469 
17470     //=== VK_KHR_acceleration_structure ===
17471     PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
17472     PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
17473     PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
17474     PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
17475     PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
17476     PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
17477     PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
17478     PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
17479     PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
17480     PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
17481     PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
17482     PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
17483     PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
17484     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
17485     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
17486     PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
17487 
17488     //=== VK_KHR_ray_tracing_pipeline ===
17489     PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
17490     PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
17491     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
17492     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
17493     PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
17494     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
17495     PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
17496 
17497     //=== VK_KHR_sampler_ycbcr_conversion ===
17498     PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
17499     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
17500 
17501     //=== VK_KHR_bind_memory2 ===
17502     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
17503     PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
17504 
17505     //=== VK_EXT_image_drm_format_modifier ===
17506     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
17507 
17508     //=== VK_EXT_validation_cache ===
17509     PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
17510     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
17511     PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
17512     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
17513 
17514     //=== VK_NV_shading_rate_image ===
17515     PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
17516     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
17517     PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
17518 
17519     //=== VK_NV_ray_tracing ===
17520     PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
17521     PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
17522     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
17523     PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
17524     PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
17525     PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
17526     PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
17527     PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
17528     PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
17529     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
17530     PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
17531     PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
17532 
17533     //=== VK_KHR_maintenance3 ===
17534     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
17535 
17536     //=== VK_KHR_draw_indirect_count ===
17537     PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
17538     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
17539 
17540     //=== VK_EXT_external_memory_host ===
17541     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
17542 
17543     //=== VK_AMD_buffer_marker ===
17544     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
17545 
17546     //=== VK_EXT_calibrated_timestamps ===
17547     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
17548     PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
17549 
17550     //=== VK_NV_mesh_shader ===
17551     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
17552     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
17553     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
17554 
17555     //=== VK_NV_scissor_exclusive ===
17556     PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
17557     PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
17558 
17559     //=== VK_NV_device_diagnostic_checkpoints ===
17560     PFN_vkCmdSetCheckpointNV       vkCmdSetCheckpointNV       = 0;
17561     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
17562 
17563     //=== VK_KHR_timeline_semaphore ===
17564     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
17565     PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
17566     PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
17567 
17568     //=== VK_INTEL_performance_query ===
17569     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
17570     PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
17571     PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
17572     PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
17573     PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
17574     PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
17575     PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
17576     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
17577     PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
17578 
17579     //=== VK_AMD_display_native_hdr ===
17580     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
17581 
17582 #if defined( VK_USE_PLATFORM_FUCHSIA )
17583     //=== VK_FUCHSIA_imagepipe_surface ===
17584     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
17585 #else
17586     PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
17587 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17588 
17589 #if defined( VK_USE_PLATFORM_METAL_EXT )
17590     //=== VK_EXT_metal_surface ===
17591     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
17592 #else
17593     PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
17594 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17595 
17596     //=== VK_KHR_fragment_shading_rate ===
17597     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
17598     PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
17599 
17600     //=== VK_KHR_dynamic_rendering_local_read ===
17601     PFN_vkCmdSetRenderingAttachmentLocationsKHR    vkCmdSetRenderingAttachmentLocationsKHR    = 0;
17602     PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0;
17603 
17604     //=== VK_EXT_buffer_device_address ===
17605     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
17606 
17607     //=== VK_EXT_tooling_info ===
17608     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
17609 
17610     //=== VK_KHR_present_wait ===
17611     PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
17612 
17613     //=== VK_NV_cooperative_matrix ===
17614     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
17615 
17616     //=== VK_NV_coverage_reduction_mode ===
17617     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
17618 
17619 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17620     //=== VK_EXT_full_screen_exclusive ===
17621     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
17622     PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
17623     PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
17624     PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
17625 #else
17626     PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
17627     PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
17628     PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
17629     PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
17630 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17631 
17632     //=== VK_EXT_headless_surface ===
17633     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
17634 
17635     //=== VK_KHR_buffer_device_address ===
17636     PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
17637     PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
17638     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
17639 
17640     //=== VK_EXT_line_rasterization ===
17641     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
17642 
17643     //=== VK_EXT_host_query_reset ===
17644     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
17645 
17646     //=== VK_EXT_extended_dynamic_state ===
17647     PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
17648     PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
17649     PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
17650     PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
17651     PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
17652     PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
17653     PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
17654     PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
17655     PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
17656     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
17657     PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
17658     PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
17659 
17660     //=== VK_KHR_deferred_host_operations ===
17661     PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
17662     PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
17663     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
17664     PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
17665     PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
17666 
17667     //=== VK_KHR_pipeline_executable_properties ===
17668     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
17669     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
17670     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
17671 
17672     //=== VK_EXT_host_image_copy ===
17673     PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
17674     PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
17675     PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
17676     PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
17677     PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
17678 
17679     //=== VK_KHR_map_memory2 ===
17680     PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
17681     PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
17682 
17683     //=== VK_EXT_swapchain_maintenance1 ===
17684     PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
17685 
17686     //=== VK_NV_device_generated_commands ===
17687     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
17688     PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
17689     PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
17690     PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
17691     PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
17692     PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
17693 
17694     //=== VK_EXT_depth_bias_control ===
17695     PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
17696 
17697     //=== VK_EXT_acquire_drm_display ===
17698     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
17699     PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
17700 
17701     //=== VK_EXT_private_data ===
17702     PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
17703     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
17704     PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
17705     PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
17706 
17707     //=== VK_KHR_video_encode_queue ===
17708     PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
17709     PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
17710     PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
17711 
17712 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17713     //=== VK_NV_cuda_kernel_launch ===
17714     PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
17715     PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
17716     PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
17717     PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
17718     PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
17719     PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
17720 #else
17721     PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
17722     PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
17723     PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
17724     PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
17725     PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
17726     PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
17727 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17728 
17729 #if defined( VK_USE_PLATFORM_METAL_EXT )
17730     //=== VK_EXT_metal_objects ===
17731     PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
17732 #else
17733     PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
17734 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17735 
17736     //=== VK_KHR_synchronization2 ===
17737     PFN_vkCmdSetEvent2KHR           vkCmdSetEvent2KHR           = 0;
17738     PFN_vkCmdResetEvent2KHR         vkCmdResetEvent2KHR         = 0;
17739     PFN_vkCmdWaitEvents2KHR         vkCmdWaitEvents2KHR         = 0;
17740     PFN_vkCmdPipelineBarrier2KHR    vkCmdPipelineBarrier2KHR    = 0;
17741     PFN_vkCmdWriteTimestamp2KHR     vkCmdWriteTimestamp2KHR     = 0;
17742     PFN_vkQueueSubmit2KHR           vkQueueSubmit2KHR           = 0;
17743     PFN_vkCmdWriteBufferMarker2AMD  vkCmdWriteBufferMarker2AMD  = 0;
17744     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
17745 
17746     //=== VK_EXT_descriptor_buffer ===
17747     PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
17748     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
17749     PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
17750     PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
17751     PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
17752     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
17753     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
17754     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
17755     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
17756     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
17757     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
17758 
17759     //=== VK_NV_fragment_shading_rate_enums ===
17760     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
17761 
17762     //=== VK_EXT_mesh_shader ===
17763     PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
17764     PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
17765     PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
17766 
17767     //=== VK_KHR_copy_commands2 ===
17768     PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
17769     PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
17770     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
17771     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
17772     PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
17773     PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
17774 
17775     //=== VK_EXT_device_fault ===
17776     PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
17777 
17778 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17779     //=== VK_NV_acquire_winrt_display ===
17780     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
17781     PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
17782 #else
17783     PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
17784     PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
17785 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17786 
17787 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
17788     //=== VK_EXT_directfb_surface ===
17789     PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
17790     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
17791 #else
17792     PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
17793     PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
17794 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
17795 
17796     //=== VK_EXT_vertex_input_dynamic_state ===
17797     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
17798 
17799 #if defined( VK_USE_PLATFORM_FUCHSIA )
17800     //=== VK_FUCHSIA_external_memory ===
17801     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
17802     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
17803 #else
17804     PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
17805     PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
17806 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17807 
17808 #if defined( VK_USE_PLATFORM_FUCHSIA )
17809     //=== VK_FUCHSIA_external_semaphore ===
17810     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
17811     PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
17812 #else
17813     PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
17814     PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
17815 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17816 
17817 #if defined( VK_USE_PLATFORM_FUCHSIA )
17818     //=== VK_FUCHSIA_buffer_collection ===
17819     PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
17820     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
17821     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
17822     PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
17823     PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
17824 #else
17825     PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
17826     PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
17827     PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
17828     PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
17829     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
17830 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17831 
17832     //=== VK_HUAWEI_subpass_shading ===
17833     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
17834     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
17835 
17836     //=== VK_HUAWEI_invocation_mask ===
17837     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
17838 
17839     //=== VK_NV_external_memory_rdma ===
17840     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
17841 
17842     //=== VK_EXT_pipeline_properties ===
17843     PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
17844 
17845     //=== VK_EXT_extended_dynamic_state2 ===
17846     PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
17847     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
17848     PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
17849     PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
17850     PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
17851 
17852 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17853     //=== VK_QNX_screen_surface ===
17854     PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
17855     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
17856 #else
17857     PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
17858     PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
17859 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17860 
17861     //=== VK_EXT_color_write_enable ===
17862     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
17863 
17864     //=== VK_KHR_ray_tracing_maintenance1 ===
17865     PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
17866 
17867     //=== VK_EXT_multi_draw ===
17868     PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
17869     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
17870 
17871     //=== VK_EXT_opacity_micromap ===
17872     PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
17873     PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
17874     PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
17875     PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
17876     PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
17877     PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
17878     PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
17879     PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
17880     PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
17881     PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
17882     PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
17883     PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
17884     PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
17885     PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
17886 
17887     //=== VK_HUAWEI_cluster_culling_shader ===
17888     PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
17889     PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
17890 
17891     //=== VK_EXT_pageable_device_local_memory ===
17892     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
17893 
17894     //=== VK_KHR_maintenance4 ===
17895     PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
17896     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
17897     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
17898 
17899     //=== VK_VALVE_descriptor_set_host_mapping ===
17900     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
17901     PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
17902 
17903     //=== VK_NV_copy_memory_indirect ===
17904     PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
17905     PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
17906 
17907     //=== VK_NV_memory_decompression ===
17908     PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
17909     PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
17910 
17911     //=== VK_NV_device_generated_commands_compute ===
17912     PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
17913     PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
17914     PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
17915 
17916     //=== VK_EXT_extended_dynamic_state3 ===
17917     PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
17918     PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
17919     PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
17920     PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
17921     PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
17922     PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
17923     PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
17924     PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
17925     PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
17926     PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
17927     PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
17928     PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
17929     PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
17930     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
17931     PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
17932     PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
17933     PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
17934     PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
17935     PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
17936     PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
17937     PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
17938     PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
17939     PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
17940     PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
17941     PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
17942     PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
17943     PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
17944     PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
17945     PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
17946     PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
17947     PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
17948 
17949     //=== VK_EXT_shader_module_identifier ===
17950     PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
17951     PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
17952 
17953     //=== VK_NV_optical_flow ===
17954     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
17955     PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
17956     PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
17957     PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
17958     PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
17959 
17960     //=== VK_KHR_maintenance5 ===
17961     PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
17962     PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
17963     PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
17964     PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
17965 
17966     //=== VK_EXT_shader_object ===
17967     PFN_vkCreateShadersEXT       vkCreateShadersEXT       = 0;
17968     PFN_vkDestroyShaderEXT       vkDestroyShaderEXT       = 0;
17969     PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
17970     PFN_vkCmdBindShadersEXT      vkCmdBindShadersEXT      = 0;
17971 
17972     //=== VK_QCOM_tile_properties ===
17973     PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
17974     PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
17975 
17976     //=== VK_NV_low_latency2 ===
17977     PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
17978     PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
17979     PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
17980     PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
17981     PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
17982 
17983     //=== VK_KHR_cooperative_matrix ===
17984     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
17985 
17986     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
17987     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
17988 
17989 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17990     //=== VK_QNX_external_memory_screen_buffer ===
17991     PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
17992 #else
17993     PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
17994 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17995 
17996     //=== VK_KHR_line_rasterization ===
17997     PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0;
17998 
17999     //=== VK_KHR_calibrated_timestamps ===
18000     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
18001     PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
18002 
18003     //=== VK_KHR_maintenance6 ===
18004     PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
18005     PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
18006     PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
18007     PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
18008     PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
18009     PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
18010 
18011   public:
18012     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
18013     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
18014 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18015     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18016     {
18017       init( getInstanceProcAddr );
18018     }
18019 
18020     // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)18021     DispatchLoaderDynamic( VkInstance                instance,
18022                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18023                            VkDevice                  device            = {},
18024                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
18025     {
18026       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
18027     }
18028 
18029     template <typename DynamicLoader
18030 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
18031               = VULKAN_HPP_NAMESPACE::DynamicLoader
18032 #endif
18033               >
init()18034     void init()
18035     {
18036       static DynamicLoader dl;
18037       init( dl );
18038     }
18039 
18040     template <typename DynamicLoader>
init(DynamicLoader const & dl)18041     void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
18042     {
18043       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
18044       init( getInstanceProcAddr );
18045     }
18046 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18047     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18048     {
18049       VULKAN_HPP_ASSERT( getInstanceProcAddr );
18050 
18051       vkGetInstanceProcAddr = getInstanceProcAddr;
18052 
18053       //=== VK_VERSION_1_0 ===
18054       vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
18055       vkEnumerateInstanceExtensionProperties =
18056         PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
18057       vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
18058 
18059       //=== VK_VERSION_1_1 ===
18060       vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
18061     }
18062 
18063     // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)18064     void init( VkInstance                instance,
18065                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18066                VkDevice                  device              = {},
18067                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
18068     {
18069       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
18070       vkGetInstanceProcAddr = getInstanceProcAddr;
18071       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
18072       if ( device )
18073       {
18074         init( VULKAN_HPP_NAMESPACE::Device( device ) );
18075       }
18076     }
18077 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)18078     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
18079     {
18080       VkInstance instance = static_cast<VkInstance>( instanceCpp );
18081 
18082       //=== VK_VERSION_1_0 ===
18083       vkDestroyInstance                   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
18084       vkEnumeratePhysicalDevices          = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
18085       vkGetPhysicalDeviceFeatures         = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
18086       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
18087       vkGetPhysicalDeviceImageFormatProperties =
18088         PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
18089       vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
18090       vkGetPhysicalDeviceQueueFamilyProperties =
18091         PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
18092       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
18093       vkGetDeviceProcAddr                 = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
18094       vkCreateDevice                      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
18095       vkDestroyDevice                     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
18096       vkEnumerateDeviceExtensionProperties =
18097         PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
18098       vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
18099       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
18100       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
18101       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
18102       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
18103       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
18104       vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
18105       vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
18106       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
18107       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
18108       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
18109       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
18110       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
18111       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
18112       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
18113       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
18114       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
18115       vkGetPhysicalDeviceSparseImageFormatProperties =
18116         PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
18117       vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
18118       vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
18119       vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
18120       vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
18121       vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
18122       vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
18123       vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
18124       vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
18125       vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
18126       vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
18127       vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
18128       vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
18129       vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
18130       vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
18131       vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
18132       vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
18133       vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
18134       vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
18135       vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
18136       vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
18137       vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
18138       vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
18139       vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
18140       vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
18141       vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
18142       vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
18143       vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
18144       vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
18145       vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
18146       vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
18147       vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
18148       vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
18149       vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
18150       vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
18151       vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
18152       vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
18153       vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
18154       vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
18155       vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
18156       vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
18157       vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
18158       vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
18159       vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
18160       vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
18161       vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
18162       vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
18163       vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
18164       vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
18165       vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
18166       vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
18167       vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
18168       vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
18169       vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
18170       vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
18171       vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
18172       vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
18173       vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
18174       vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
18175       vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
18176       vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
18177       vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
18178       vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
18179       vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
18180       vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
18181       vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
18182       vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
18183       vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
18184       vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
18185       vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
18186       vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
18187       vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
18188       vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
18189       vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
18190       vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
18191       vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
18192       vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
18193       vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
18194       vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
18195       vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
18196       vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
18197       vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
18198       vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
18199       vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
18200       vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
18201       vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
18202       vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
18203       vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
18204       vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
18205       vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
18206       vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
18207       vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
18208       vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
18209       vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
18210       vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
18211       vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
18212       vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
18213       vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
18214       vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
18215       vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
18216       vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
18217       vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
18218       vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
18219       vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
18220 
18221       //=== VK_VERSION_1_1 ===
18222       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
18223       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
18224       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
18225       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
18226       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
18227       vkEnumeratePhysicalDeviceGroups     = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
18228       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
18229       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
18230       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
18231       vkGetPhysicalDeviceFeatures2        = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
18232       vkGetPhysicalDeviceProperties2      = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
18233       vkGetPhysicalDeviceFormatProperties2 =
18234         PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
18235       vkGetPhysicalDeviceImageFormatProperties2 =
18236         PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
18237       vkGetPhysicalDeviceQueueFamilyProperties2 =
18238         PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
18239       vkGetPhysicalDeviceMemoryProperties2 =
18240         PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
18241       vkGetPhysicalDeviceSparseImageFormatProperties2 =
18242         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
18243       vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
18244       vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
18245       vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
18246       vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
18247       vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
18248       vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
18249       vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
18250       vkGetPhysicalDeviceExternalBufferProperties =
18251         PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
18252       vkGetPhysicalDeviceExternalFenceProperties =
18253         PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
18254       vkGetPhysicalDeviceExternalSemaphoreProperties =
18255         PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
18256       vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
18257 
18258       //=== VK_VERSION_1_2 ===
18259       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
18260       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
18261       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
18262       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
18263       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
18264       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
18265       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
18266       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
18267       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
18268       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
18269       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
18270       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
18271       vkGetDeviceMemoryOpaqueCaptureAddress =
18272         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
18273 
18274       //=== VK_VERSION_1_3 ===
18275       vkGetPhysicalDeviceToolProperties   = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
18276       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
18277       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
18278       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
18279       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
18280       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
18281       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
18282       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
18283       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
18284       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
18285       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
18286       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
18287       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
18288       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
18289       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
18290       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
18291       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
18292       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
18293       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
18294       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
18295       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
18296       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
18297       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
18298       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
18299       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
18300       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
18301       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
18302       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
18303       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
18304       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
18305       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
18306       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
18307       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
18308       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
18309       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
18310       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
18311       vkGetDeviceImageSparseMemoryRequirements =
18312         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
18313 
18314       //=== VK_KHR_surface ===
18315       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
18316       vkGetPhysicalDeviceSurfaceSupportKHR =
18317         PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
18318       vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
18319         PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
18320       vkGetPhysicalDeviceSurfaceFormatsKHR =
18321         PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
18322       vkGetPhysicalDeviceSurfacePresentModesKHR =
18323         PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
18324 
18325       //=== VK_KHR_swapchain ===
18326       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
18327       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
18328       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
18329       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
18330       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
18331       vkGetDeviceGroupPresentCapabilitiesKHR =
18332         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
18333       vkGetDeviceGroupSurfacePresentModesKHR =
18334         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
18335       vkGetPhysicalDevicePresentRectanglesKHR =
18336         PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
18337       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
18338 
18339       //=== VK_KHR_display ===
18340       vkGetPhysicalDeviceDisplayPropertiesKHR =
18341         PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
18342       vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
18343         PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
18344       vkGetDisplayPlaneSupportedDisplaysKHR =
18345         PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
18346       vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
18347       vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
18348       vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
18349       vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
18350 
18351       //=== VK_KHR_display_swapchain ===
18352       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
18353 
18354 #if defined( VK_USE_PLATFORM_XLIB_KHR )
18355       //=== VK_KHR_xlib_surface ===
18356       vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
18357       vkGetPhysicalDeviceXlibPresentationSupportKHR =
18358         PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
18359 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
18360 
18361 #if defined( VK_USE_PLATFORM_XCB_KHR )
18362       //=== VK_KHR_xcb_surface ===
18363       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
18364       vkGetPhysicalDeviceXcbPresentationSupportKHR =
18365         PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
18366 #endif /*VK_USE_PLATFORM_XCB_KHR*/
18367 
18368 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
18369       //=== VK_KHR_wayland_surface ===
18370       vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
18371       vkGetPhysicalDeviceWaylandPresentationSupportKHR =
18372         PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
18373 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
18374 
18375 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18376       //=== VK_KHR_android_surface ===
18377       vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
18378 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18379 
18380 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18381       //=== VK_KHR_win32_surface ===
18382       vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
18383       vkGetPhysicalDeviceWin32PresentationSupportKHR =
18384         PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
18385 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18386 
18387       //=== VK_EXT_debug_report ===
18388       vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
18389       vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
18390       vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
18391 
18392       //=== VK_EXT_debug_marker ===
18393       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
18394       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
18395       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
18396       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
18397       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
18398 
18399       //=== VK_KHR_video_queue ===
18400       vkGetPhysicalDeviceVideoCapabilitiesKHR =
18401         PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
18402       vkGetPhysicalDeviceVideoFormatPropertiesKHR =
18403         PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
18404       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
18405       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
18406       vkGetVideoSessionMemoryRequirementsKHR =
18407         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
18408       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
18409       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
18410       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
18411       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
18412       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
18413       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
18414       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
18415 
18416       //=== VK_KHR_video_decode_queue ===
18417       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
18418 
18419       //=== VK_EXT_transform_feedback ===
18420       vkCmdBindTransformFeedbackBuffersEXT =
18421         PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
18422       vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
18423       vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
18424       vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
18425       vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
18426       vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
18427 
18428       //=== VK_NVX_binary_import ===
18429       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
18430       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
18431       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
18432       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
18433       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
18434 
18435       //=== VK_NVX_image_view_handle ===
18436       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
18437       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
18438 
18439       //=== VK_AMD_draw_indirect_count ===
18440       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
18441       if ( !vkCmdDrawIndirectCount )
18442         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
18443       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
18444       if ( !vkCmdDrawIndexedIndirectCount )
18445         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
18446 
18447       //=== VK_AMD_shader_info ===
18448       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
18449 
18450       //=== VK_KHR_dynamic_rendering ===
18451       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
18452       if ( !vkCmdBeginRendering )
18453         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
18454       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
18455       if ( !vkCmdEndRendering )
18456         vkCmdEndRendering = vkCmdEndRenderingKHR;
18457 
18458 #if defined( VK_USE_PLATFORM_GGP )
18459       //=== VK_GGP_stream_descriptor_surface ===
18460       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
18461 #endif /*VK_USE_PLATFORM_GGP*/
18462 
18463       //=== VK_NV_external_memory_capabilities ===
18464       vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
18465         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
18466 
18467 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18468       //=== VK_NV_external_memory_win32 ===
18469       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
18470 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18471 
18472       //=== VK_KHR_get_physical_device_properties2 ===
18473       vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
18474       if ( !vkGetPhysicalDeviceFeatures2 )
18475         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
18476       vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
18477       if ( !vkGetPhysicalDeviceProperties2 )
18478         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
18479       vkGetPhysicalDeviceFormatProperties2KHR =
18480         PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
18481       if ( !vkGetPhysicalDeviceFormatProperties2 )
18482         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
18483       vkGetPhysicalDeviceImageFormatProperties2KHR =
18484         PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
18485       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
18486         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
18487       vkGetPhysicalDeviceQueueFamilyProperties2KHR =
18488         PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
18489       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
18490         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
18491       vkGetPhysicalDeviceMemoryProperties2KHR =
18492         PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
18493       if ( !vkGetPhysicalDeviceMemoryProperties2 )
18494         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
18495       vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
18496         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
18497       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
18498         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
18499 
18500       //=== VK_KHR_device_group ===
18501       vkGetDeviceGroupPeerMemoryFeaturesKHR =
18502         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
18503       if ( !vkGetDeviceGroupPeerMemoryFeatures )
18504         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
18505       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
18506       if ( !vkCmdSetDeviceMask )
18507         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
18508       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
18509       if ( !vkCmdDispatchBase )
18510         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
18511 
18512 #if defined( VK_USE_PLATFORM_VI_NN )
18513       //=== VK_NN_vi_surface ===
18514       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
18515 #endif /*VK_USE_PLATFORM_VI_NN*/
18516 
18517       //=== VK_KHR_maintenance1 ===
18518       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
18519       if ( !vkTrimCommandPool )
18520         vkTrimCommandPool = vkTrimCommandPoolKHR;
18521 
18522       //=== VK_KHR_device_group_creation ===
18523       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
18524       if ( !vkEnumeratePhysicalDeviceGroups )
18525         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
18526 
18527       //=== VK_KHR_external_memory_capabilities ===
18528       vkGetPhysicalDeviceExternalBufferPropertiesKHR =
18529         PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
18530       if ( !vkGetPhysicalDeviceExternalBufferProperties )
18531         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
18532 
18533 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18534       //=== VK_KHR_external_memory_win32 ===
18535       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
18536       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
18537 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18538 
18539       //=== VK_KHR_external_memory_fd ===
18540       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
18541       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
18542 
18543       //=== VK_KHR_external_semaphore_capabilities ===
18544       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
18545         PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
18546       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
18547         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
18548 
18549 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18550       //=== VK_KHR_external_semaphore_win32 ===
18551       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
18552       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
18553 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18554 
18555       //=== VK_KHR_external_semaphore_fd ===
18556       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
18557       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
18558 
18559       //=== VK_KHR_push_descriptor ===
18560       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
18561       vkCmdPushDescriptorSetWithTemplateKHR =
18562         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
18563 
18564       //=== VK_EXT_conditional_rendering ===
18565       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
18566       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
18567 
18568       //=== VK_KHR_descriptor_update_template ===
18569       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
18570       if ( !vkCreateDescriptorUpdateTemplate )
18571         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
18572       vkDestroyDescriptorUpdateTemplateKHR =
18573         PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
18574       if ( !vkDestroyDescriptorUpdateTemplate )
18575         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
18576       vkUpdateDescriptorSetWithTemplateKHR =
18577         PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
18578       if ( !vkUpdateDescriptorSetWithTemplate )
18579         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
18580 
18581       //=== VK_NV_clip_space_w_scaling ===
18582       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
18583 
18584       //=== VK_EXT_direct_mode_display ===
18585       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
18586 
18587 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18588       //=== VK_EXT_acquire_xlib_display ===
18589       vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
18590       vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
18591 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18592 
18593       //=== VK_EXT_display_surface_counter ===
18594       vkGetPhysicalDeviceSurfaceCapabilities2EXT =
18595         PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
18596 
18597       //=== VK_EXT_display_control ===
18598       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
18599       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
18600       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
18601       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
18602 
18603       //=== VK_GOOGLE_display_timing ===
18604       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
18605       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
18606 
18607       //=== VK_EXT_discard_rectangles ===
18608       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
18609       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
18610       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
18611 
18612       //=== VK_EXT_hdr_metadata ===
18613       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
18614 
18615       //=== VK_KHR_create_renderpass2 ===
18616       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
18617       if ( !vkCreateRenderPass2 )
18618         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
18619       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
18620       if ( !vkCmdBeginRenderPass2 )
18621         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
18622       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
18623       if ( !vkCmdNextSubpass2 )
18624         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
18625       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
18626       if ( !vkCmdEndRenderPass2 )
18627         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
18628 
18629       //=== VK_KHR_shared_presentable_image ===
18630       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
18631 
18632       //=== VK_KHR_external_fence_capabilities ===
18633       vkGetPhysicalDeviceExternalFencePropertiesKHR =
18634         PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
18635       if ( !vkGetPhysicalDeviceExternalFenceProperties )
18636         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
18637 
18638 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18639       //=== VK_KHR_external_fence_win32 ===
18640       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
18641       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
18642 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18643 
18644       //=== VK_KHR_external_fence_fd ===
18645       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
18646       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
18647 
18648       //=== VK_KHR_performance_query ===
18649       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
18650         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
18651       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
18652         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
18653       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
18654       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
18655 
18656       //=== VK_KHR_get_surface_capabilities2 ===
18657       vkGetPhysicalDeviceSurfaceCapabilities2KHR =
18658         PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
18659       vkGetPhysicalDeviceSurfaceFormats2KHR =
18660         PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
18661 
18662       //=== VK_KHR_get_display_properties2 ===
18663       vkGetPhysicalDeviceDisplayProperties2KHR =
18664         PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
18665       vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
18666         PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
18667       vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
18668       vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
18669 
18670 #if defined( VK_USE_PLATFORM_IOS_MVK )
18671       //=== VK_MVK_ios_surface ===
18672       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
18673 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18674 
18675 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18676       //=== VK_MVK_macos_surface ===
18677       vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
18678 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18679 
18680       //=== VK_EXT_debug_utils ===
18681       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
18682       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
18683       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
18684       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
18685       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
18686       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
18687       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
18688       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
18689       vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
18690       vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
18691       vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
18692 
18693 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18694       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18695       vkGetAndroidHardwareBufferPropertiesANDROID =
18696         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
18697       vkGetMemoryAndroidHardwareBufferANDROID =
18698         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
18699 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18700 
18701 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18702       //=== VK_AMDX_shader_enqueue ===
18703       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
18704       vkGetExecutionGraphPipelineScratchSizeAMDX =
18705         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
18706       vkGetExecutionGraphPipelineNodeIndexAMDX =
18707         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
18708       vkCmdInitializeGraphScratchMemoryAMDX =
18709         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
18710       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
18711       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
18712       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
18713 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18714 
18715       //=== VK_EXT_sample_locations ===
18716       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
18717       vkGetPhysicalDeviceMultisamplePropertiesEXT =
18718         PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
18719 
18720       //=== VK_KHR_get_memory_requirements2 ===
18721       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
18722       if ( !vkGetImageMemoryRequirements2 )
18723         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
18724       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
18725       if ( !vkGetBufferMemoryRequirements2 )
18726         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
18727       vkGetImageSparseMemoryRequirements2KHR =
18728         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
18729       if ( !vkGetImageSparseMemoryRequirements2 )
18730         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
18731 
18732       //=== VK_KHR_acceleration_structure ===
18733       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
18734       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
18735       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
18736       vkCmdBuildAccelerationStructuresIndirectKHR =
18737         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
18738       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
18739       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
18740       vkCopyAccelerationStructureToMemoryKHR =
18741         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
18742       vkCopyMemoryToAccelerationStructureKHR =
18743         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
18744       vkWriteAccelerationStructuresPropertiesKHR =
18745         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
18746       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
18747       vkCmdCopyAccelerationStructureToMemoryKHR =
18748         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
18749       vkCmdCopyMemoryToAccelerationStructureKHR =
18750         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
18751       vkGetAccelerationStructureDeviceAddressKHR =
18752         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
18753       vkCmdWriteAccelerationStructuresPropertiesKHR =
18754         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
18755       vkGetDeviceAccelerationStructureCompatibilityKHR =
18756         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
18757       vkGetAccelerationStructureBuildSizesKHR =
18758         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
18759 
18760       //=== VK_KHR_ray_tracing_pipeline ===
18761       vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
18762       vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
18763       vkGetRayTracingShaderGroupHandlesKHR =
18764         PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
18765       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
18766         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
18767       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
18768       vkGetRayTracingShaderGroupStackSizeKHR =
18769         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
18770       vkCmdSetRayTracingPipelineStackSizeKHR =
18771         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
18772 
18773       //=== VK_KHR_sampler_ycbcr_conversion ===
18774       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
18775       if ( !vkCreateSamplerYcbcrConversion )
18776         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
18777       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
18778       if ( !vkDestroySamplerYcbcrConversion )
18779         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
18780 
18781       //=== VK_KHR_bind_memory2 ===
18782       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
18783       if ( !vkBindBufferMemory2 )
18784         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
18785       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
18786       if ( !vkBindImageMemory2 )
18787         vkBindImageMemory2 = vkBindImageMemory2KHR;
18788 
18789       //=== VK_EXT_image_drm_format_modifier ===
18790       vkGetImageDrmFormatModifierPropertiesEXT =
18791         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
18792 
18793       //=== VK_EXT_validation_cache ===
18794       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
18795       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
18796       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
18797       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
18798 
18799       //=== VK_NV_shading_rate_image ===
18800       vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
18801       vkCmdSetViewportShadingRatePaletteNV =
18802         PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
18803       vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
18804 
18805       //=== VK_NV_ray_tracing ===
18806       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
18807       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
18808       vkGetAccelerationStructureMemoryRequirementsNV =
18809         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
18810       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
18811       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
18812       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
18813       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
18814       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
18815       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
18816       if ( !vkGetRayTracingShaderGroupHandlesKHR )
18817         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
18818       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
18819       vkCmdWriteAccelerationStructuresPropertiesNV =
18820         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
18821       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
18822 
18823       //=== VK_KHR_maintenance3 ===
18824       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
18825       if ( !vkGetDescriptorSetLayoutSupport )
18826         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
18827 
18828       //=== VK_KHR_draw_indirect_count ===
18829       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
18830       if ( !vkCmdDrawIndirectCount )
18831         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
18832       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
18833       if ( !vkCmdDrawIndexedIndirectCount )
18834         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
18835 
18836       //=== VK_EXT_external_memory_host ===
18837       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
18838 
18839       //=== VK_AMD_buffer_marker ===
18840       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
18841 
18842       //=== VK_EXT_calibrated_timestamps ===
18843       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
18844         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
18845       if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
18846         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
18847       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
18848       if ( !vkGetCalibratedTimestampsKHR )
18849         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
18850 
18851       //=== VK_NV_mesh_shader ===
18852       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
18853       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
18854       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
18855 
18856       //=== VK_NV_scissor_exclusive ===
18857       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
18858       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
18859 
18860       //=== VK_NV_device_diagnostic_checkpoints ===
18861       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
18862       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
18863 
18864       //=== VK_KHR_timeline_semaphore ===
18865       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
18866       if ( !vkGetSemaphoreCounterValue )
18867         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
18868       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
18869       if ( !vkWaitSemaphores )
18870         vkWaitSemaphores = vkWaitSemaphoresKHR;
18871       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
18872       if ( !vkSignalSemaphore )
18873         vkSignalSemaphore = vkSignalSemaphoreKHR;
18874 
18875       //=== VK_INTEL_performance_query ===
18876       vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
18877       vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
18878       vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
18879       vkCmdSetPerformanceStreamMarkerINTEL =
18880         PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
18881       vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
18882       vkAcquirePerformanceConfigurationINTEL =
18883         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
18884       vkReleasePerformanceConfigurationINTEL =
18885         PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
18886       vkQueueSetPerformanceConfigurationINTEL =
18887         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
18888       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
18889 
18890       //=== VK_AMD_display_native_hdr ===
18891       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
18892 
18893 #if defined( VK_USE_PLATFORM_FUCHSIA )
18894       //=== VK_FUCHSIA_imagepipe_surface ===
18895       vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
18896 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18897 
18898 #if defined( VK_USE_PLATFORM_METAL_EXT )
18899       //=== VK_EXT_metal_surface ===
18900       vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
18901 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18902 
18903       //=== VK_KHR_fragment_shading_rate ===
18904       vkGetPhysicalDeviceFragmentShadingRatesKHR =
18905         PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
18906       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
18907 
18908       //=== VK_KHR_dynamic_rendering_local_read ===
18909       vkCmdSetRenderingAttachmentLocationsKHR =
18910         PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
18911       vkCmdSetRenderingInputAttachmentIndicesKHR =
18912         PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
18913 
18914       //=== VK_EXT_buffer_device_address ===
18915       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
18916       if ( !vkGetBufferDeviceAddress )
18917         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
18918 
18919       //=== VK_EXT_tooling_info ===
18920       vkGetPhysicalDeviceToolPropertiesEXT =
18921         PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
18922       if ( !vkGetPhysicalDeviceToolProperties )
18923         vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
18924 
18925       //=== VK_KHR_present_wait ===
18926       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
18927 
18928       //=== VK_NV_cooperative_matrix ===
18929       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
18930         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
18931 
18932       //=== VK_NV_coverage_reduction_mode ===
18933       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
18934         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
18935 
18936 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18937       //=== VK_EXT_full_screen_exclusive ===
18938       vkGetPhysicalDeviceSurfacePresentModes2EXT =
18939         PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
18940       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
18941       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
18942       vkGetDeviceGroupSurfacePresentModes2EXT =
18943         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
18944 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18945 
18946       //=== VK_EXT_headless_surface ===
18947       vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
18948 
18949       //=== VK_KHR_buffer_device_address ===
18950       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
18951       if ( !vkGetBufferDeviceAddress )
18952         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
18953       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
18954       if ( !vkGetBufferOpaqueCaptureAddress )
18955         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
18956       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
18957         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
18958       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
18959         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
18960 
18961       //=== VK_EXT_line_rasterization ===
18962       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
18963       if ( !vkCmdSetLineStippleKHR )
18964         vkCmdSetLineStippleKHR = vkCmdSetLineStippleEXT;
18965 
18966       //=== VK_EXT_host_query_reset ===
18967       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
18968       if ( !vkResetQueryPool )
18969         vkResetQueryPool = vkResetQueryPoolEXT;
18970 
18971       //=== VK_EXT_extended_dynamic_state ===
18972       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
18973       if ( !vkCmdSetCullMode )
18974         vkCmdSetCullMode = vkCmdSetCullModeEXT;
18975       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
18976       if ( !vkCmdSetFrontFace )
18977         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
18978       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
18979       if ( !vkCmdSetPrimitiveTopology )
18980         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
18981       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
18982       if ( !vkCmdSetViewportWithCount )
18983         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
18984       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
18985       if ( !vkCmdSetScissorWithCount )
18986         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
18987       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
18988       if ( !vkCmdBindVertexBuffers2 )
18989         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
18990       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
18991       if ( !vkCmdSetDepthTestEnable )
18992         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
18993       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
18994       if ( !vkCmdSetDepthWriteEnable )
18995         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
18996       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
18997       if ( !vkCmdSetDepthCompareOp )
18998         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
18999       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
19000       if ( !vkCmdSetDepthBoundsTestEnable )
19001         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
19002       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
19003       if ( !vkCmdSetStencilTestEnable )
19004         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
19005       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
19006       if ( !vkCmdSetStencilOp )
19007         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
19008 
19009       //=== VK_KHR_deferred_host_operations ===
19010       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
19011       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
19012       vkGetDeferredOperationMaxConcurrencyKHR =
19013         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
19014       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
19015       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
19016 
19017       //=== VK_KHR_pipeline_executable_properties ===
19018       vkGetPipelineExecutablePropertiesKHR =
19019         PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
19020       vkGetPipelineExecutableStatisticsKHR =
19021         PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
19022       vkGetPipelineExecutableInternalRepresentationsKHR =
19023         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
19024 
19025       //=== VK_EXT_host_image_copy ===
19026       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
19027       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
19028       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
19029       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
19030       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
19031       if ( !vkGetImageSubresourceLayout2KHR )
19032         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
19033 
19034       //=== VK_KHR_map_memory2 ===
19035       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
19036       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
19037 
19038       //=== VK_EXT_swapchain_maintenance1 ===
19039       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
19040 
19041       //=== VK_NV_device_generated_commands ===
19042       vkGetGeneratedCommandsMemoryRequirementsNV =
19043         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
19044       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
19045       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
19046       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
19047       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
19048       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
19049 
19050       //=== VK_EXT_depth_bias_control ===
19051       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
19052 
19053       //=== VK_EXT_acquire_drm_display ===
19054       vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
19055       vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
19056 
19057       //=== VK_EXT_private_data ===
19058       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
19059       if ( !vkCreatePrivateDataSlot )
19060         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
19061       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
19062       if ( !vkDestroyPrivateDataSlot )
19063         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
19064       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
19065       if ( !vkSetPrivateData )
19066         vkSetPrivateData = vkSetPrivateDataEXT;
19067       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
19068       if ( !vkGetPrivateData )
19069         vkGetPrivateData = vkGetPrivateDataEXT;
19070 
19071       //=== VK_KHR_video_encode_queue ===
19072       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
19073         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
19074       vkGetEncodedVideoSessionParametersKHR =
19075         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
19076       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
19077 
19078 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19079       //=== VK_NV_cuda_kernel_launch ===
19080       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
19081       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
19082       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
19083       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
19084       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
19085       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
19086 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19087 
19088 #if defined( VK_USE_PLATFORM_METAL_EXT )
19089       //=== VK_EXT_metal_objects ===
19090       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
19091 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19092 
19093       //=== VK_KHR_synchronization2 ===
19094       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
19095       if ( !vkCmdSetEvent2 )
19096         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
19097       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
19098       if ( !vkCmdResetEvent2 )
19099         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
19100       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
19101       if ( !vkCmdWaitEvents2 )
19102         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
19103       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
19104       if ( !vkCmdPipelineBarrier2 )
19105         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
19106       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
19107       if ( !vkCmdWriteTimestamp2 )
19108         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
19109       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
19110       if ( !vkQueueSubmit2 )
19111         vkQueueSubmit2 = vkQueueSubmit2KHR;
19112       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
19113       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
19114 
19115       //=== VK_EXT_descriptor_buffer ===
19116       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
19117       vkGetDescriptorSetLayoutBindingOffsetEXT =
19118         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
19119       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
19120       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
19121       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
19122       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
19123         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
19124       vkGetBufferOpaqueCaptureDescriptorDataEXT =
19125         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
19126       vkGetImageOpaqueCaptureDescriptorDataEXT =
19127         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
19128       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
19129         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
19130       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
19131         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
19132       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
19133         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
19134 
19135       //=== VK_NV_fragment_shading_rate_enums ===
19136       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
19137 
19138       //=== VK_EXT_mesh_shader ===
19139       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
19140       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
19141       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
19142 
19143       //=== VK_KHR_copy_commands2 ===
19144       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
19145       if ( !vkCmdCopyBuffer2 )
19146         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
19147       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
19148       if ( !vkCmdCopyImage2 )
19149         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
19150       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
19151       if ( !vkCmdCopyBufferToImage2 )
19152         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
19153       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
19154       if ( !vkCmdCopyImageToBuffer2 )
19155         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
19156       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
19157       if ( !vkCmdBlitImage2 )
19158         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
19159       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
19160       if ( !vkCmdResolveImage2 )
19161         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
19162 
19163       //=== VK_EXT_device_fault ===
19164       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
19165 
19166 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19167       //=== VK_NV_acquire_winrt_display ===
19168       vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
19169       vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
19170 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19171 
19172 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
19173       //=== VK_EXT_directfb_surface ===
19174       vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
19175       vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
19176         PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
19177 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
19178 
19179       //=== VK_EXT_vertex_input_dynamic_state ===
19180       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
19181 
19182 #if defined( VK_USE_PLATFORM_FUCHSIA )
19183       //=== VK_FUCHSIA_external_memory ===
19184       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
19185       vkGetMemoryZirconHandlePropertiesFUCHSIA =
19186         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
19187 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19188 
19189 #if defined( VK_USE_PLATFORM_FUCHSIA )
19190       //=== VK_FUCHSIA_external_semaphore ===
19191       vkImportSemaphoreZirconHandleFUCHSIA =
19192         PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
19193       vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
19194 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19195 
19196 #if defined( VK_USE_PLATFORM_FUCHSIA )
19197       //=== VK_FUCHSIA_buffer_collection ===
19198       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
19199       vkSetBufferCollectionImageConstraintsFUCHSIA =
19200         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
19201       vkSetBufferCollectionBufferConstraintsFUCHSIA =
19202         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
19203       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
19204       vkGetBufferCollectionPropertiesFUCHSIA =
19205         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
19206 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19207 
19208       //=== VK_HUAWEI_subpass_shading ===
19209       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
19210         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
19211       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
19212 
19213       //=== VK_HUAWEI_invocation_mask ===
19214       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
19215 
19216       //=== VK_NV_external_memory_rdma ===
19217       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
19218 
19219       //=== VK_EXT_pipeline_properties ===
19220       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
19221 
19222       //=== VK_EXT_extended_dynamic_state2 ===
19223       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
19224       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
19225       if ( !vkCmdSetRasterizerDiscardEnable )
19226         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
19227       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
19228       if ( !vkCmdSetDepthBiasEnable )
19229         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
19230       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
19231       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
19232       if ( !vkCmdSetPrimitiveRestartEnable )
19233         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
19234 
19235 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19236       //=== VK_QNX_screen_surface ===
19237       vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
19238       vkGetPhysicalDeviceScreenPresentationSupportQNX =
19239         PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
19240 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19241 
19242       //=== VK_EXT_color_write_enable ===
19243       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
19244 
19245       //=== VK_KHR_ray_tracing_maintenance1 ===
19246       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
19247 
19248       //=== VK_EXT_multi_draw ===
19249       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
19250       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
19251 
19252       //=== VK_EXT_opacity_micromap ===
19253       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
19254       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
19255       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
19256       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
19257       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
19258       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
19259       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
19260       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
19261       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
19262       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
19263       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
19264       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
19265       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
19266       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
19267 
19268       //=== VK_HUAWEI_cluster_culling_shader ===
19269       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
19270       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
19271 
19272       //=== VK_EXT_pageable_device_local_memory ===
19273       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
19274 
19275       //=== VK_KHR_maintenance4 ===
19276       vkGetDeviceBufferMemoryRequirementsKHR =
19277         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
19278       if ( !vkGetDeviceBufferMemoryRequirements )
19279         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
19280       vkGetDeviceImageMemoryRequirementsKHR =
19281         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
19282       if ( !vkGetDeviceImageMemoryRequirements )
19283         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
19284       vkGetDeviceImageSparseMemoryRequirementsKHR =
19285         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
19286       if ( !vkGetDeviceImageSparseMemoryRequirements )
19287         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
19288 
19289       //=== VK_VALVE_descriptor_set_host_mapping ===
19290       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
19291         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
19292       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
19293 
19294       //=== VK_NV_copy_memory_indirect ===
19295       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
19296       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
19297 
19298       //=== VK_NV_memory_decompression ===
19299       vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
19300       vkCmdDecompressMemoryIndirectCountNV =
19301         PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
19302 
19303       //=== VK_NV_device_generated_commands_compute ===
19304       vkGetPipelineIndirectMemoryRequirementsNV =
19305         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
19306       vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
19307       vkGetPipelineIndirectDeviceAddressNV =
19308         PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
19309 
19310       //=== VK_EXT_extended_dynamic_state3 ===
19311       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
19312       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
19313       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
19314       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
19315       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
19316       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
19317       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
19318       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
19319       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
19320       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
19321       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
19322       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
19323       vkCmdSetConservativeRasterizationModeEXT =
19324         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
19325       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
19326         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
19327       vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
19328       vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
19329       vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
19330       vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
19331       vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
19332       vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
19333       vkCmdSetDepthClipNegativeOneToOneEXT =
19334         PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
19335       vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
19336       vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
19337       vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
19338       vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
19339       vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
19340       vkCmdSetCoverageModulationTableEnableNV =
19341         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
19342       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
19343       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
19344       vkCmdSetRepresentativeFragmentTestEnableNV =
19345         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
19346       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
19347 
19348       //=== VK_EXT_shader_module_identifier ===
19349       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
19350       vkGetShaderModuleCreateInfoIdentifierEXT =
19351         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
19352 
19353       //=== VK_NV_optical_flow ===
19354       vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
19355         PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
19356       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
19357       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
19358       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
19359       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
19360 
19361       //=== VK_KHR_maintenance5 ===
19362       vkCmdBindIndexBuffer2KHR         = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
19363       vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
19364       vkGetDeviceImageSubresourceLayoutKHR =
19365         PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
19366       vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
19367 
19368       //=== VK_EXT_shader_object ===
19369       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
19370       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
19371       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
19372       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
19373 
19374       //=== VK_QCOM_tile_properties ===
19375       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
19376       vkGetDynamicRenderingTilePropertiesQCOM =
19377         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
19378 
19379       //=== VK_NV_low_latency2 ===
19380       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
19381       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
19382       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
19383       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
19384       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
19385 
19386       //=== VK_KHR_cooperative_matrix ===
19387       vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
19388         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
19389 
19390       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
19391       vkCmdSetAttachmentFeedbackLoopEnableEXT =
19392         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
19393 
19394 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19395       //=== VK_QNX_external_memory_screen_buffer ===
19396       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
19397 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19398 
19399       //=== VK_KHR_line_rasterization ===
19400       vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleKHR" ) );
19401 
19402       //=== VK_KHR_calibrated_timestamps ===
19403       vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
19404         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
19405       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
19406 
19407       //=== VK_KHR_maintenance6 ===
19408       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
19409       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
19410       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
19411       vkCmdPushDescriptorSetWithTemplate2KHR =
19412         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
19413       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
19414       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
19415         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
19416     }
19417 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)19418     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
19419     {
19420       VkDevice device = static_cast<VkDevice>( deviceCpp );
19421 
19422       //=== VK_VERSION_1_0 ===
19423       vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
19424       vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
19425       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
19426       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
19427       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
19428       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
19429       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
19430       vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
19431       vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
19432       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
19433       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
19434       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
19435       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
19436       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
19437       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
19438       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
19439       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
19440       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
19441       vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
19442       vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
19443       vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
19444       vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
19445       vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
19446       vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
19447       vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
19448       vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
19449       vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
19450       vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
19451       vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
19452       vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
19453       vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
19454       vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
19455       vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
19456       vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
19457       vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
19458       vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
19459       vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
19460       vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
19461       vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
19462       vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
19463       vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
19464       vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
19465       vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
19466       vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
19467       vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
19468       vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
19469       vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
19470       vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
19471       vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
19472       vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
19473       vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
19474       vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
19475       vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
19476       vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
19477       vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
19478       vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
19479       vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
19480       vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
19481       vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
19482       vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
19483       vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
19484       vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
19485       vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
19486       vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
19487       vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
19488       vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
19489       vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
19490       vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
19491       vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
19492       vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
19493       vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
19494       vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
19495       vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
19496       vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
19497       vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
19498       vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
19499       vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
19500       vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
19501       vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
19502       vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
19503       vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
19504       vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
19505       vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
19506       vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
19507       vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
19508       vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
19509       vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
19510       vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
19511       vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
19512       vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
19513       vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
19514       vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
19515       vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
19516       vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
19517       vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
19518       vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
19519       vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
19520       vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
19521       vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
19522       vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
19523       vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
19524       vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
19525       vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
19526       vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
19527       vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
19528       vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
19529       vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
19530       vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
19531       vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
19532       vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
19533       vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
19534       vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
19535       vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
19536       vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
19537       vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
19538       vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
19539       vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
19540       vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
19541       vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
19542       vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
19543       vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
19544 
19545       //=== VK_VERSION_1_1 ===
19546       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
19547       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
19548       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19549       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
19550       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
19551       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
19552       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
19553       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
19554       vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
19555       vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
19556       vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
19557       vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
19558       vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
19559       vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
19560       vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
19561       vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
19562 
19563       //=== VK_VERSION_1_2 ===
19564       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
19565       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
19566       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
19567       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
19568       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
19569       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
19570       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
19571       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
19572       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
19573       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
19574       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
19575       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
19576       vkGetDeviceMemoryOpaqueCaptureAddress =
19577         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19578 
19579       //=== VK_VERSION_1_3 ===
19580       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
19581       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
19582       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
19583       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
19584       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
19585       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
19586       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
19587       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
19588       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
19589       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
19590       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
19591       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
19592       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
19593       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
19594       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
19595       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
19596       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
19597       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
19598       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
19599       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
19600       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
19601       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
19602       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
19603       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
19604       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
19605       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
19606       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
19607       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
19608       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
19609       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
19610       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
19611       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
19612       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
19613       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
19614       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
19615       vkGetDeviceImageSparseMemoryRequirements =
19616         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
19617 
19618       //=== VK_KHR_swapchain ===
19619       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
19620       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
19621       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
19622       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
19623       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
19624       vkGetDeviceGroupPresentCapabilitiesKHR =
19625         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19626       vkGetDeviceGroupSurfacePresentModesKHR =
19627         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19628       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
19629 
19630       //=== VK_KHR_display_swapchain ===
19631       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
19632 
19633       //=== VK_EXT_debug_marker ===
19634       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
19635       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
19636       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
19637       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
19638       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
19639 
19640       //=== VK_KHR_video_queue ===
19641       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
19642       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
19643       vkGetVideoSessionMemoryRequirementsKHR =
19644         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
19645       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
19646       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
19647       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
19648       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
19649       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
19650       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
19651       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
19652 
19653       //=== VK_KHR_video_decode_queue ===
19654       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
19655 
19656       //=== VK_EXT_transform_feedback ===
19657       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
19658       vkCmdBeginTransformFeedbackEXT       = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
19659       vkCmdEndTransformFeedbackEXT         = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
19660       vkCmdBeginQueryIndexedEXT            = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
19661       vkCmdEndQueryIndexedEXT              = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
19662       vkCmdDrawIndirectByteCountEXT        = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
19663 
19664       //=== VK_NVX_binary_import ===
19665       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
19666       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
19667       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
19668       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
19669       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
19670 
19671       //=== VK_NVX_image_view_handle ===
19672       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
19673       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
19674 
19675       //=== VK_AMD_draw_indirect_count ===
19676       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
19677       if ( !vkCmdDrawIndirectCount )
19678         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
19679       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
19680       if ( !vkCmdDrawIndexedIndirectCount )
19681         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
19682 
19683       //=== VK_AMD_shader_info ===
19684       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
19685 
19686       //=== VK_KHR_dynamic_rendering ===
19687       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
19688       if ( !vkCmdBeginRendering )
19689         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
19690       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
19691       if ( !vkCmdEndRendering )
19692         vkCmdEndRendering = vkCmdEndRenderingKHR;
19693 
19694 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19695       //=== VK_NV_external_memory_win32 ===
19696       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
19697 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19698 
19699       //=== VK_KHR_device_group ===
19700       vkGetDeviceGroupPeerMemoryFeaturesKHR =
19701         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
19702       if ( !vkGetDeviceGroupPeerMemoryFeatures )
19703         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
19704       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
19705       if ( !vkCmdSetDeviceMask )
19706         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
19707       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
19708       if ( !vkCmdDispatchBase )
19709         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
19710 
19711       //=== VK_KHR_maintenance1 ===
19712       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
19713       if ( !vkTrimCommandPool )
19714         vkTrimCommandPool = vkTrimCommandPoolKHR;
19715 
19716 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19717       //=== VK_KHR_external_memory_win32 ===
19718       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
19719       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
19720 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19721 
19722       //=== VK_KHR_external_memory_fd ===
19723       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
19724       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
19725 
19726 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19727       //=== VK_KHR_external_semaphore_win32 ===
19728       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
19729       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
19730 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19731 
19732       //=== VK_KHR_external_semaphore_fd ===
19733       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
19734       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
19735 
19736       //=== VK_KHR_push_descriptor ===
19737       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
19738       vkCmdPushDescriptorSetWithTemplateKHR =
19739         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
19740 
19741       //=== VK_EXT_conditional_rendering ===
19742       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
19743       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
19744 
19745       //=== VK_KHR_descriptor_update_template ===
19746       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
19747       if ( !vkCreateDescriptorUpdateTemplate )
19748         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
19749       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
19750       if ( !vkDestroyDescriptorUpdateTemplate )
19751         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
19752       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
19753       if ( !vkUpdateDescriptorSetWithTemplate )
19754         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
19755 
19756       //=== VK_NV_clip_space_w_scaling ===
19757       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
19758 
19759       //=== VK_EXT_display_control ===
19760       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
19761       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
19762       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
19763       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
19764 
19765       //=== VK_GOOGLE_display_timing ===
19766       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
19767       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
19768 
19769       //=== VK_EXT_discard_rectangles ===
19770       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
19771       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
19772       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
19773 
19774       //=== VK_EXT_hdr_metadata ===
19775       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
19776 
19777       //=== VK_KHR_create_renderpass2 ===
19778       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
19779       if ( !vkCreateRenderPass2 )
19780         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
19781       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
19782       if ( !vkCmdBeginRenderPass2 )
19783         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
19784       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
19785       if ( !vkCmdNextSubpass2 )
19786         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
19787       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
19788       if ( !vkCmdEndRenderPass2 )
19789         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
19790 
19791       //=== VK_KHR_shared_presentable_image ===
19792       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
19793 
19794 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19795       //=== VK_KHR_external_fence_win32 ===
19796       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
19797       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
19798 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19799 
19800       //=== VK_KHR_external_fence_fd ===
19801       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
19802       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
19803 
19804       //=== VK_KHR_performance_query ===
19805       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
19806       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
19807 
19808       //=== VK_EXT_debug_utils ===
19809       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
19810       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
19811       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
19812       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
19813       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
19814       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
19815       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
19816       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
19817 
19818 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19819       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
19820       vkGetAndroidHardwareBufferPropertiesANDROID =
19821         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
19822       vkGetMemoryAndroidHardwareBufferANDROID =
19823         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
19824 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19825 
19826 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19827       //=== VK_AMDX_shader_enqueue ===
19828       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
19829       vkGetExecutionGraphPipelineScratchSizeAMDX =
19830         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
19831       vkGetExecutionGraphPipelineNodeIndexAMDX =
19832         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
19833       vkCmdInitializeGraphScratchMemoryAMDX =
19834         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
19835       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
19836       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
19837       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
19838 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19839 
19840       //=== VK_EXT_sample_locations ===
19841       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
19842 
19843       //=== VK_KHR_get_memory_requirements2 ===
19844       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
19845       if ( !vkGetImageMemoryRequirements2 )
19846         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
19847       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
19848       if ( !vkGetBufferMemoryRequirements2 )
19849         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
19850       vkGetImageSparseMemoryRequirements2KHR =
19851         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
19852       if ( !vkGetImageSparseMemoryRequirements2 )
19853         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
19854 
19855       //=== VK_KHR_acceleration_structure ===
19856       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
19857       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
19858       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
19859       vkCmdBuildAccelerationStructuresIndirectKHR =
19860         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
19861       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
19862       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
19863       vkCopyAccelerationStructureToMemoryKHR =
19864         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
19865       vkCopyMemoryToAccelerationStructureKHR =
19866         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
19867       vkWriteAccelerationStructuresPropertiesKHR =
19868         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
19869       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
19870       vkCmdCopyAccelerationStructureToMemoryKHR =
19871         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
19872       vkCmdCopyMemoryToAccelerationStructureKHR =
19873         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
19874       vkGetAccelerationStructureDeviceAddressKHR =
19875         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
19876       vkCmdWriteAccelerationStructuresPropertiesKHR =
19877         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
19878       vkGetDeviceAccelerationStructureCompatibilityKHR =
19879         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
19880       vkGetAccelerationStructureBuildSizesKHR =
19881         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
19882 
19883       //=== VK_KHR_ray_tracing_pipeline ===
19884       vkCmdTraceRaysKHR                    = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
19885       vkCreateRayTracingPipelinesKHR       = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
19886       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
19887       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
19888         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
19889       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
19890       vkGetRayTracingShaderGroupStackSizeKHR =
19891         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
19892       vkCmdSetRayTracingPipelineStackSizeKHR =
19893         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
19894 
19895       //=== VK_KHR_sampler_ycbcr_conversion ===
19896       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
19897       if ( !vkCreateSamplerYcbcrConversion )
19898         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
19899       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
19900       if ( !vkDestroySamplerYcbcrConversion )
19901         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
19902 
19903       //=== VK_KHR_bind_memory2 ===
19904       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
19905       if ( !vkBindBufferMemory2 )
19906         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
19907       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
19908       if ( !vkBindImageMemory2 )
19909         vkBindImageMemory2 = vkBindImageMemory2KHR;
19910 
19911       //=== VK_EXT_image_drm_format_modifier ===
19912       vkGetImageDrmFormatModifierPropertiesEXT =
19913         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
19914 
19915       //=== VK_EXT_validation_cache ===
19916       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
19917       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
19918       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
19919       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
19920 
19921       //=== VK_NV_shading_rate_image ===
19922       vkCmdBindShadingRateImageNV          = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
19923       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
19924       vkCmdSetCoarseSampleOrderNV          = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
19925 
19926       //=== VK_NV_ray_tracing ===
19927       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
19928       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
19929       vkGetAccelerationStructureMemoryRequirementsNV =
19930         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
19931       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
19932       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
19933       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
19934       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
19935       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
19936       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
19937       if ( !vkGetRayTracingShaderGroupHandlesKHR )
19938         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
19939       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
19940       vkCmdWriteAccelerationStructuresPropertiesNV =
19941         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
19942       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
19943 
19944       //=== VK_KHR_maintenance3 ===
19945       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
19946       if ( !vkGetDescriptorSetLayoutSupport )
19947         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
19948 
19949       //=== VK_KHR_draw_indirect_count ===
19950       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
19951       if ( !vkCmdDrawIndirectCount )
19952         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
19953       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
19954       if ( !vkCmdDrawIndexedIndirectCount )
19955         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
19956 
19957       //=== VK_EXT_external_memory_host ===
19958       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
19959 
19960       //=== VK_AMD_buffer_marker ===
19961       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
19962 
19963       //=== VK_EXT_calibrated_timestamps ===
19964       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
19965       if ( !vkGetCalibratedTimestampsKHR )
19966         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
19967 
19968       //=== VK_NV_mesh_shader ===
19969       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
19970       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
19971       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
19972 
19973       //=== VK_NV_scissor_exclusive ===
19974       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
19975       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
19976 
19977       //=== VK_NV_device_diagnostic_checkpoints ===
19978       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
19979       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
19980 
19981       //=== VK_KHR_timeline_semaphore ===
19982       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
19983       if ( !vkGetSemaphoreCounterValue )
19984         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
19985       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
19986       if ( !vkWaitSemaphores )
19987         vkWaitSemaphores = vkWaitSemaphoresKHR;
19988       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
19989       if ( !vkSignalSemaphore )
19990         vkSignalSemaphore = vkSignalSemaphoreKHR;
19991 
19992       //=== VK_INTEL_performance_query ===
19993       vkInitializePerformanceApiINTEL      = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
19994       vkUninitializePerformanceApiINTEL    = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
19995       vkCmdSetPerformanceMarkerINTEL       = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
19996       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
19997       vkCmdSetPerformanceOverrideINTEL     = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
19998       vkAcquirePerformanceConfigurationINTEL =
19999         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
20000       vkReleasePerformanceConfigurationINTEL =
20001         PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
20002       vkQueueSetPerformanceConfigurationINTEL =
20003         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
20004       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
20005 
20006       //=== VK_AMD_display_native_hdr ===
20007       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
20008 
20009       //=== VK_KHR_fragment_shading_rate ===
20010       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
20011 
20012       //=== VK_KHR_dynamic_rendering_local_read ===
20013       vkCmdSetRenderingAttachmentLocationsKHR =
20014         PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
20015       vkCmdSetRenderingInputAttachmentIndicesKHR =
20016         PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
20017 
20018       //=== VK_EXT_buffer_device_address ===
20019       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
20020       if ( !vkGetBufferDeviceAddress )
20021         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
20022 
20023       //=== VK_KHR_present_wait ===
20024       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
20025 
20026 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20027       //=== VK_EXT_full_screen_exclusive ===
20028       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
20029       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
20030       vkGetDeviceGroupSurfacePresentModes2EXT =
20031         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
20032 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20033 
20034       //=== VK_KHR_buffer_device_address ===
20035       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
20036       if ( !vkGetBufferDeviceAddress )
20037         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
20038       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
20039       if ( !vkGetBufferOpaqueCaptureAddress )
20040         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
20041       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
20042         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
20043       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
20044         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
20045 
20046       //=== VK_EXT_line_rasterization ===
20047       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
20048       if ( !vkCmdSetLineStippleKHR )
20049         vkCmdSetLineStippleKHR = vkCmdSetLineStippleEXT;
20050 
20051       //=== VK_EXT_host_query_reset ===
20052       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
20053       if ( !vkResetQueryPool )
20054         vkResetQueryPool = vkResetQueryPoolEXT;
20055 
20056       //=== VK_EXT_extended_dynamic_state ===
20057       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
20058       if ( !vkCmdSetCullMode )
20059         vkCmdSetCullMode = vkCmdSetCullModeEXT;
20060       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
20061       if ( !vkCmdSetFrontFace )
20062         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
20063       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
20064       if ( !vkCmdSetPrimitiveTopology )
20065         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
20066       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
20067       if ( !vkCmdSetViewportWithCount )
20068         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
20069       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
20070       if ( !vkCmdSetScissorWithCount )
20071         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
20072       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
20073       if ( !vkCmdBindVertexBuffers2 )
20074         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
20075       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
20076       if ( !vkCmdSetDepthTestEnable )
20077         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
20078       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
20079       if ( !vkCmdSetDepthWriteEnable )
20080         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
20081       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
20082       if ( !vkCmdSetDepthCompareOp )
20083         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
20084       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
20085       if ( !vkCmdSetDepthBoundsTestEnable )
20086         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
20087       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
20088       if ( !vkCmdSetStencilTestEnable )
20089         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
20090       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
20091       if ( !vkCmdSetStencilOp )
20092         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
20093 
20094       //=== VK_KHR_deferred_host_operations ===
20095       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
20096       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
20097       vkGetDeferredOperationMaxConcurrencyKHR =
20098         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
20099       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
20100       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
20101 
20102       //=== VK_KHR_pipeline_executable_properties ===
20103       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
20104       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
20105       vkGetPipelineExecutableInternalRepresentationsKHR =
20106         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
20107 
20108       //=== VK_EXT_host_image_copy ===
20109       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
20110       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
20111       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
20112       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
20113       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
20114       if ( !vkGetImageSubresourceLayout2KHR )
20115         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
20116 
20117       //=== VK_KHR_map_memory2 ===
20118       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
20119       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
20120 
20121       //=== VK_EXT_swapchain_maintenance1 ===
20122       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
20123 
20124       //=== VK_NV_device_generated_commands ===
20125       vkGetGeneratedCommandsMemoryRequirementsNV =
20126         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
20127       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
20128       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
20129       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
20130       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
20131       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
20132 
20133       //=== VK_EXT_depth_bias_control ===
20134       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
20135 
20136       //=== VK_EXT_private_data ===
20137       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
20138       if ( !vkCreatePrivateDataSlot )
20139         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
20140       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
20141       if ( !vkDestroyPrivateDataSlot )
20142         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
20143       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
20144       if ( !vkSetPrivateData )
20145         vkSetPrivateData = vkSetPrivateDataEXT;
20146       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
20147       if ( !vkGetPrivateData )
20148         vkGetPrivateData = vkGetPrivateDataEXT;
20149 
20150       //=== VK_KHR_video_encode_queue ===
20151       vkGetEncodedVideoSessionParametersKHR =
20152         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
20153       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
20154 
20155 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20156       //=== VK_NV_cuda_kernel_launch ===
20157       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
20158       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
20159       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
20160       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
20161       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
20162       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
20163 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20164 
20165 #if defined( VK_USE_PLATFORM_METAL_EXT )
20166       //=== VK_EXT_metal_objects ===
20167       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
20168 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20169 
20170       //=== VK_KHR_synchronization2 ===
20171       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
20172       if ( !vkCmdSetEvent2 )
20173         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
20174       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
20175       if ( !vkCmdResetEvent2 )
20176         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
20177       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
20178       if ( !vkCmdWaitEvents2 )
20179         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
20180       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
20181       if ( !vkCmdPipelineBarrier2 )
20182         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
20183       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
20184       if ( !vkCmdWriteTimestamp2 )
20185         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
20186       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
20187       if ( !vkQueueSubmit2 )
20188         vkQueueSubmit2 = vkQueueSubmit2KHR;
20189       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
20190       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
20191 
20192       //=== VK_EXT_descriptor_buffer ===
20193       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
20194       vkGetDescriptorSetLayoutBindingOffsetEXT =
20195         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
20196       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
20197       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
20198       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
20199       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
20200         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
20201       vkGetBufferOpaqueCaptureDescriptorDataEXT =
20202         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
20203       vkGetImageOpaqueCaptureDescriptorDataEXT =
20204         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
20205       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
20206         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
20207       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
20208         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
20209       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
20210         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
20211 
20212       //=== VK_NV_fragment_shading_rate_enums ===
20213       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
20214 
20215       //=== VK_EXT_mesh_shader ===
20216       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
20217       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
20218       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
20219 
20220       //=== VK_KHR_copy_commands2 ===
20221       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
20222       if ( !vkCmdCopyBuffer2 )
20223         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
20224       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
20225       if ( !vkCmdCopyImage2 )
20226         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
20227       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
20228       if ( !vkCmdCopyBufferToImage2 )
20229         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
20230       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
20231       if ( !vkCmdCopyImageToBuffer2 )
20232         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
20233       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
20234       if ( !vkCmdBlitImage2 )
20235         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
20236       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
20237       if ( !vkCmdResolveImage2 )
20238         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
20239 
20240       //=== VK_EXT_device_fault ===
20241       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
20242 
20243       //=== VK_EXT_vertex_input_dynamic_state ===
20244       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
20245 
20246 #if defined( VK_USE_PLATFORM_FUCHSIA )
20247       //=== VK_FUCHSIA_external_memory ===
20248       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
20249       vkGetMemoryZirconHandlePropertiesFUCHSIA =
20250         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
20251 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20252 
20253 #if defined( VK_USE_PLATFORM_FUCHSIA )
20254       //=== VK_FUCHSIA_external_semaphore ===
20255       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
20256       vkGetSemaphoreZirconHandleFUCHSIA    = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
20257 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20258 
20259 #if defined( VK_USE_PLATFORM_FUCHSIA )
20260       //=== VK_FUCHSIA_buffer_collection ===
20261       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
20262       vkSetBufferCollectionImageConstraintsFUCHSIA =
20263         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
20264       vkSetBufferCollectionBufferConstraintsFUCHSIA =
20265         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
20266       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
20267       vkGetBufferCollectionPropertiesFUCHSIA =
20268         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
20269 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20270 
20271       //=== VK_HUAWEI_subpass_shading ===
20272       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
20273         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
20274       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
20275 
20276       //=== VK_HUAWEI_invocation_mask ===
20277       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
20278 
20279       //=== VK_NV_external_memory_rdma ===
20280       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
20281 
20282       //=== VK_EXT_pipeline_properties ===
20283       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
20284 
20285       //=== VK_EXT_extended_dynamic_state2 ===
20286       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
20287       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
20288       if ( !vkCmdSetRasterizerDiscardEnable )
20289         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
20290       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
20291       if ( !vkCmdSetDepthBiasEnable )
20292         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
20293       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
20294       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
20295       if ( !vkCmdSetPrimitiveRestartEnable )
20296         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
20297 
20298       //=== VK_EXT_color_write_enable ===
20299       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
20300 
20301       //=== VK_KHR_ray_tracing_maintenance1 ===
20302       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
20303 
20304       //=== VK_EXT_multi_draw ===
20305       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
20306       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
20307 
20308       //=== VK_EXT_opacity_micromap ===
20309       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
20310       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
20311       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
20312       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
20313       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
20314       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
20315       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
20316       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
20317       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
20318       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
20319       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
20320       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
20321       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
20322       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
20323 
20324       //=== VK_HUAWEI_cluster_culling_shader ===
20325       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
20326       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
20327 
20328       //=== VK_EXT_pageable_device_local_memory ===
20329       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
20330 
20331       //=== VK_KHR_maintenance4 ===
20332       vkGetDeviceBufferMemoryRequirementsKHR =
20333         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
20334       if ( !vkGetDeviceBufferMemoryRequirements )
20335         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
20336       vkGetDeviceImageMemoryRequirementsKHR =
20337         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
20338       if ( !vkGetDeviceImageMemoryRequirements )
20339         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
20340       vkGetDeviceImageSparseMemoryRequirementsKHR =
20341         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
20342       if ( !vkGetDeviceImageSparseMemoryRequirements )
20343         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
20344 
20345       //=== VK_VALVE_descriptor_set_host_mapping ===
20346       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
20347         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
20348       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
20349 
20350       //=== VK_NV_copy_memory_indirect ===
20351       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
20352       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
20353 
20354       //=== VK_NV_memory_decompression ===
20355       vkCmdDecompressMemoryNV              = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
20356       vkCmdDecompressMemoryIndirectCountNV = PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
20357 
20358       //=== VK_NV_device_generated_commands_compute ===
20359       vkGetPipelineIndirectMemoryRequirementsNV =
20360         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
20361       vkCmdUpdatePipelineIndirectBufferNV  = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
20362       vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
20363 
20364       //=== VK_EXT_extended_dynamic_state3 ===
20365       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
20366       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
20367       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
20368       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
20369       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
20370       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
20371       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
20372       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
20373       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
20374       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
20375       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
20376       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
20377       vkCmdSetConservativeRasterizationModeEXT =
20378         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
20379       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
20380         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
20381       vkCmdSetDepthClipEnableEXT           = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
20382       vkCmdSetSampleLocationsEnableEXT     = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
20383       vkCmdSetColorBlendAdvancedEXT        = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
20384       vkCmdSetProvokingVertexModeEXT       = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
20385       vkCmdSetLineRasterizationModeEXT     = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
20386       vkCmdSetLineStippleEnableEXT         = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
20387       vkCmdSetDepthClipNegativeOneToOneEXT = PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
20388       vkCmdSetViewportWScalingEnableNV     = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
20389       vkCmdSetViewportSwizzleNV            = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
20390       vkCmdSetCoverageToColorEnableNV      = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
20391       vkCmdSetCoverageToColorLocationNV    = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
20392       vkCmdSetCoverageModulationModeNV     = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
20393       vkCmdSetCoverageModulationTableEnableNV =
20394         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
20395       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
20396       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
20397       vkCmdSetRepresentativeFragmentTestEnableNV =
20398         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
20399       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
20400 
20401       //=== VK_EXT_shader_module_identifier ===
20402       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
20403       vkGetShaderModuleCreateInfoIdentifierEXT =
20404         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
20405 
20406       //=== VK_NV_optical_flow ===
20407       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
20408       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
20409       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
20410       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
20411 
20412       //=== VK_KHR_maintenance5 ===
20413       vkCmdBindIndexBuffer2KHR             = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
20414       vkGetRenderingAreaGranularityKHR     = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
20415       vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
20416       vkGetImageSubresourceLayout2KHR      = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
20417 
20418       //=== VK_EXT_shader_object ===
20419       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
20420       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
20421       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
20422       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
20423 
20424       //=== VK_QCOM_tile_properties ===
20425       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
20426       vkGetDynamicRenderingTilePropertiesQCOM =
20427         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
20428 
20429       //=== VK_NV_low_latency2 ===
20430       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
20431       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
20432       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
20433       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
20434       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
20435 
20436       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
20437       vkCmdSetAttachmentFeedbackLoopEnableEXT =
20438         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
20439 
20440 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20441       //=== VK_QNX_external_memory_screen_buffer ===
20442       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
20443 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20444 
20445       //=== VK_KHR_line_rasterization ===
20446       vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) );
20447 
20448       //=== VK_KHR_calibrated_timestamps ===
20449       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
20450 
20451       //=== VK_KHR_maintenance6 ===
20452       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
20453       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
20454       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
20455       vkCmdPushDescriptorSetWithTemplate2KHR =
20456         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
20457       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
20458       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
20459         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
20460     }
20461 
20462     template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)20463     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
20464     {
20465       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
20466       PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
20467       init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
20468     }
20469 
20470     template <typename DynamicLoader
20471 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
20472               = VULKAN_HPP_NAMESPACE::DynamicLoader
20473 #endif
20474               >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)20475     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
20476     {
20477       static DynamicLoader dl;
20478       init( instance, device, dl );
20479     }
20480   };
20481 }  // namespace VULKAN_HPP_NAMESPACE
20482 #endif
20483