• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 )
39 typedef struct HINSTANCE__ * HINSTANCE;
40 #    if defined( _WIN64 )
41 typedef int64_t( __stdcall * FARPROC )();
42 #    else
43 typedef int( __stdcall * FARPROC )();
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 == 275, "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       void * 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 
operator ->() const922     Type const * operator->() const VULKAN_HPP_NOEXCEPT
923     {
924       return &m_value;
925     }
926 
operator ->()927     Type * operator->() VULKAN_HPP_NOEXCEPT
928     {
929       return &m_value;
930     }
931 
operator *() const932     Type const & operator*() const VULKAN_HPP_NOEXCEPT
933     {
934       return m_value;
935     }
936 
operator *()937     Type & operator*() VULKAN_HPP_NOEXCEPT
938     {
939       return m_value;
940     }
941 
get() const942     const Type & get() const VULKAN_HPP_NOEXCEPT
943     {
944       return m_value;
945     }
946 
get()947     Type & get() VULKAN_HPP_NOEXCEPT
948     {
949       return m_value;
950     }
951 
reset(Type const & value=Type ())952     void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
953     {
954       if ( m_value != value )
955       {
956         if ( m_value )
957         {
958           this->destroy( m_value );
959         }
960         m_value = value;
961       }
962     }
963 
release()964     Type release() VULKAN_HPP_NOEXCEPT
965     {
966       Type value = m_value;
967       m_value    = nullptr;
968       return value;
969     }
970 
swap(UniqueHandle<Type,Dispatch> & rhs)971     void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
972     {
973       std::swap( m_value, rhs.m_value );
974       std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
975     }
976 
977   private:
978     Type m_value;
979   };
980 
981   template <typename UniqueType>
uniqueToRaw(std::vector<UniqueType> const & handles)982   VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type> uniqueToRaw( std::vector<UniqueType> const & handles )
983   {
984     std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
985     std::transform( handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
986     return newBuffer;
987   }
988 
989   template <typename Type, typename Dispatch>
swap(UniqueHandle<Type,Dispatch> & lhs,UniqueHandle<Type,Dispatch> & rhs)990   VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs, UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
991   {
992     lhs.swap( rhs );
993   }
994 #  endif
995 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
996 
997   class DispatchLoaderBase
998   {
999   public:
1000     DispatchLoaderBase() = default;
DispatchLoaderBase(std::nullptr_t)1001     DispatchLoaderBase( std::nullptr_t )
1002 #if !defined( NDEBUG )
1003       : m_valid( false )
1004 #endif
1005     {
1006     }
1007 
1008 #if !defined( NDEBUG )
getVkHeaderVersion() const1009     size_t getVkHeaderVersion() const
1010     {
1011       VULKAN_HPP_ASSERT( m_valid );
1012       return vkHeaderVersion;
1013     }
1014 
1015   private:
1016     size_t vkHeaderVersion = VK_HEADER_VERSION;
1017     bool   m_valid         = true;
1018 #endif
1019   };
1020 
1021 #if !defined( VK_NO_PROTOTYPES )
1022   class DispatchLoaderStatic : public DispatchLoaderBase
1023   {
1024   public:
1025     //=== VK_VERSION_1_0 ===
1026 
1027     VkResult
vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance) const1028       vkCreateInstance( const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance ) const VULKAN_HPP_NOEXCEPT
1029     {
1030       return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
1031     }
1032 
vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator) const1033     void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1034     {
1035       return ::vkDestroyInstance( instance, pAllocator );
1036     }
1037 
vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices) const1038     VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
1039     {
1040       return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
1041     }
1042 
vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures) const1043     void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
1044     {
1045       return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
1046     }
1047 
1048     void
vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties) const1049       vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
1050     {
1051       return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
1052     }
1053 
vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties) const1054     VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
1055                                                        VkFormat                  format,
1056                                                        VkImageType               type,
1057                                                        VkImageTiling             tiling,
1058                                                        VkImageUsageFlags         usage,
1059                                                        VkImageCreateFlags        flags,
1060                                                        VkImageFormatProperties * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
1061     {
1062       return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
1063     }
1064 
vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties) const1065     void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1066     {
1067       return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
1068     }
1069 
vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties) const1070     void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
1071                                                    uint32_t *                pQueueFamilyPropertyCount,
1072                                                    VkQueueFamilyProperties * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
1073     {
1074       return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
1075     }
1076 
vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties) const1077     void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
1078     {
1079       return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
1080     }
1081 
vkGetInstanceProcAddr(VkInstance instance,const char * pName) const1082     PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
1083     {
1084       return ::vkGetInstanceProcAddr( instance, pName );
1085     }
1086 
vkGetDeviceProcAddr(VkDevice device,const char * pName) const1087     PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
1088     {
1089       return ::vkGetDeviceProcAddr( device, pName );
1090     }
1091 
vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice) const1092     VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
1093                              const VkDeviceCreateInfo *    pCreateInfo,
1094                              const VkAllocationCallbacks * pAllocator,
1095                              VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
1096     {
1097       return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
1098     }
1099 
vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator) const1100     void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1101     {
1102       return ::vkDestroyDevice( device, pAllocator );
1103     }
1104 
vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1105     VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
1106                                                      uint32_t *              pPropertyCount,
1107                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1108     {
1109       return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
1110     }
1111 
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1112     VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
1113                                                    const char *            pLayerName,
1114                                                    uint32_t *              pPropertyCount,
1115                                                    VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1116     {
1117       return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
1118     }
1119 
vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1120     VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1121     {
1122       return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
1123     }
1124 
1125     VkResult
vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1126       vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1127     {
1128       return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
1129     }
1130 
vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue) const1131     void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
1132     {
1133       return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
1134     }
1135 
vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence) const1136     VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1137     {
1138       return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
1139     }
1140 
vkQueueWaitIdle(VkQueue queue) const1141     VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
1142     {
1143       return ::vkQueueWaitIdle( queue );
1144     }
1145 
vkDeviceWaitIdle(VkDevice device) const1146     VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
1147     {
1148       return ::vkDeviceWaitIdle( device );
1149     }
1150 
vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory) const1151     VkResult vkAllocateMemory( VkDevice                      device,
1152                                const VkMemoryAllocateInfo *  pAllocateInfo,
1153                                const VkAllocationCallbacks * pAllocator,
1154                                VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
1155     {
1156       return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
1157     }
1158 
vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator) const1159     void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1160     {
1161       return ::vkFreeMemory( device, memory, pAllocator );
1162     }
1163 
vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData) const1164     VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData ) const
1165       VULKAN_HPP_NOEXCEPT
1166     {
1167       return ::vkMapMemory( device, memory, offset, size, flags, ppData );
1168     }
1169 
vkUnmapMemory(VkDevice device,VkDeviceMemory memory) const1170     void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
1171     {
1172       return ::vkUnmapMemory( device, memory );
1173     }
1174 
vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1175     VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1176     {
1177       return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1178     }
1179 
vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1180     VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1181     {
1182       return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1183     }
1184 
vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes) const1185     void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
1186     {
1187       return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
1188     }
1189 
vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1190     VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1191     {
1192       return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
1193     }
1194 
vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1195     VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1196     {
1197       return ::vkBindImageMemory( device, image, memory, memoryOffset );
1198     }
1199 
vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements) const1200     void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1201     {
1202       return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
1203     }
1204 
vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements) const1205     void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1206     {
1207       return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
1208     }
1209 
vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements) const1210     void vkGetImageSparseMemoryRequirements( VkDevice                          device,
1211                                              VkImage                           image,
1212                                              uint32_t *                        pSparseMemoryRequirementCount,
1213                                              VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1214     {
1215       return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1216     }
1217 
vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties) const1218     void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
1219                                                          VkFormat                        format,
1220                                                          VkImageType                     type,
1221                                                          VkSampleCountFlagBits           samples,
1222                                                          VkImageUsageFlags               usage,
1223                                                          VkImageTiling                   tiling,
1224                                                          uint32_t *                      pPropertyCount,
1225                                                          VkSparseImageFormatProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1226     {
1227       return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
1228     }
1229 
vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence) const1230     VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1231     {
1232       return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
1233     }
1234 
vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const1235     VkResult vkCreateFence( VkDevice                      device,
1236                             const VkFenceCreateInfo *     pCreateInfo,
1237                             const VkAllocationCallbacks * pAllocator,
1238                             VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
1239     {
1240       return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
1241     }
1242 
vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator) const1243     void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1244     {
1245       return ::vkDestroyFence( device, fence, pAllocator );
1246     }
1247 
vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences) const1248     VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
1249     {
1250       return ::vkResetFences( device, fenceCount, pFences );
1251     }
1252 
vkGetFenceStatus(VkDevice device,VkFence fence) const1253     VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1254     {
1255       return ::vkGetFenceStatus( device, fence );
1256     }
1257 
vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout) const1258     VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
1259     {
1260       return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
1261     }
1262 
vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore) const1263     VkResult vkCreateSemaphore( VkDevice                      device,
1264                                 const VkSemaphoreCreateInfo * pCreateInfo,
1265                                 const VkAllocationCallbacks * pAllocator,
1266                                 VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
1267     {
1268       return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
1269     }
1270 
vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator) const1271     void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1272     {
1273       return ::vkDestroySemaphore( device, semaphore, pAllocator );
1274     }
1275 
vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent) const1276     VkResult vkCreateEvent( VkDevice                      device,
1277                             const VkEventCreateInfo *     pCreateInfo,
1278                             const VkAllocationCallbacks * pAllocator,
1279                             VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
1280     {
1281       return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
1282     }
1283 
vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator) const1284     void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1285     {
1286       return ::vkDestroyEvent( device, event, pAllocator );
1287     }
1288 
vkGetEventStatus(VkDevice device,VkEvent event) const1289     VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1290     {
1291       return ::vkGetEventStatus( device, event );
1292     }
1293 
vkSetEvent(VkDevice device,VkEvent event) const1294     VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1295     {
1296       return ::vkSetEvent( device, event );
1297     }
1298 
vkResetEvent(VkDevice device,VkEvent event) const1299     VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1300     {
1301       return ::vkResetEvent( device, event );
1302     }
1303 
vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool) const1304     VkResult vkCreateQueryPool( VkDevice                      device,
1305                                 const VkQueryPoolCreateInfo * pCreateInfo,
1306                                 const VkAllocationCallbacks * pAllocator,
1307                                 VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
1308     {
1309       return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
1310     }
1311 
vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator) const1312     void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1313     {
1314       return ::vkDestroyQueryPool( device, queryPool, pAllocator );
1315     }
1316 
vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags) const1317     VkResult vkGetQueryPoolResults( VkDevice           device,
1318                                     VkQueryPool        queryPool,
1319                                     uint32_t           firstQuery,
1320                                     uint32_t           queryCount,
1321                                     size_t             dataSize,
1322                                     void *             pData,
1323                                     VkDeviceSize       stride,
1324                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1325     {
1326       return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
1327     }
1328 
vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer) const1329     VkResult vkCreateBuffer( VkDevice                      device,
1330                              const VkBufferCreateInfo *    pCreateInfo,
1331                              const VkAllocationCallbacks * pAllocator,
1332                              VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
1333     {
1334       return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
1335     }
1336 
vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator) const1337     void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1338     {
1339       return ::vkDestroyBuffer( device, buffer, pAllocator );
1340     }
1341 
vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView) const1342     VkResult vkCreateBufferView( VkDevice                       device,
1343                                  const VkBufferViewCreateInfo * pCreateInfo,
1344                                  const VkAllocationCallbacks *  pAllocator,
1345                                  VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
1346     {
1347       return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
1348     }
1349 
vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator) const1350     void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1351     {
1352       return ::vkDestroyBufferView( device, bufferView, pAllocator );
1353     }
1354 
vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage) const1355     VkResult vkCreateImage( VkDevice                      device,
1356                             const VkImageCreateInfo *     pCreateInfo,
1357                             const VkAllocationCallbacks * pAllocator,
1358                             VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
1359     {
1360       return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
1361     }
1362 
vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator) const1363     void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1364     {
1365       return ::vkDestroyImage( device, image, pAllocator );
1366     }
1367 
vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout) const1368     void vkGetImageSubresourceLayout( VkDevice                   device,
1369                                       VkImage                    image,
1370                                       const VkImageSubresource * pSubresource,
1371                                       VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
1372     {
1373       return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
1374     }
1375 
vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView) const1376     VkResult vkCreateImageView( VkDevice                      device,
1377                                 const VkImageViewCreateInfo * pCreateInfo,
1378                                 const VkAllocationCallbacks * pAllocator,
1379                                 VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
1380     {
1381       return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
1382     }
1383 
vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator) const1384     void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1385     {
1386       return ::vkDestroyImageView( device, imageView, pAllocator );
1387     }
1388 
vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule) const1389     VkResult vkCreateShaderModule( VkDevice                         device,
1390                                    const VkShaderModuleCreateInfo * pCreateInfo,
1391                                    const VkAllocationCallbacks *    pAllocator,
1392                                    VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
1393     {
1394       return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
1395     }
1396 
vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator) const1397     void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1398     {
1399       return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
1400     }
1401 
vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache) const1402     VkResult vkCreatePipelineCache( VkDevice                          device,
1403                                     const VkPipelineCacheCreateInfo * pCreateInfo,
1404                                     const VkAllocationCallbacks *     pAllocator,
1405                                     VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
1406     {
1407       return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
1408     }
1409 
vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator) const1410     void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1411     {
1412       return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
1413     }
1414 
vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData) const1415     VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
1416     {
1417       return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
1418     }
1419 
1420     VkResult
vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches) const1421       vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
1422     {
1423       return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
1424     }
1425 
vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1426     VkResult vkCreateGraphicsPipelines( VkDevice                             device,
1427                                         VkPipelineCache                      pipelineCache,
1428                                         uint32_t                             createInfoCount,
1429                                         const VkGraphicsPipelineCreateInfo * pCreateInfos,
1430                                         const VkAllocationCallbacks *        pAllocator,
1431                                         VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
1432     {
1433       return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1434     }
1435 
vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1436     VkResult vkCreateComputePipelines( VkDevice                            device,
1437                                        VkPipelineCache                     pipelineCache,
1438                                        uint32_t                            createInfoCount,
1439                                        const VkComputePipelineCreateInfo * pCreateInfos,
1440                                        const VkAllocationCallbacks *       pAllocator,
1441                                        VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
1442     {
1443       return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1444     }
1445 
vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator) const1446     void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1447     {
1448       return ::vkDestroyPipeline( device, pipeline, pAllocator );
1449     }
1450 
vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout) const1451     VkResult vkCreatePipelineLayout( VkDevice                           device,
1452                                      const VkPipelineLayoutCreateInfo * pCreateInfo,
1453                                      const VkAllocationCallbacks *      pAllocator,
1454                                      VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
1455     {
1456       return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
1457     }
1458 
vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator) const1459     void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1460     {
1461       return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
1462     }
1463 
vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler) const1464     VkResult vkCreateSampler( VkDevice                      device,
1465                               const VkSamplerCreateInfo *   pCreateInfo,
1466                               const VkAllocationCallbacks * pAllocator,
1467                               VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
1468     {
1469       return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
1470     }
1471 
vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator) const1472     void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1473     {
1474       return ::vkDestroySampler( device, sampler, pAllocator );
1475     }
1476 
vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout) const1477     VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
1478                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
1479                                           const VkAllocationCallbacks *           pAllocator,
1480                                           VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
1481     {
1482       return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
1483     }
1484 
vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator) const1485     void vkDestroyDescriptorSetLayout( VkDevice                      device,
1486                                        VkDescriptorSetLayout         descriptorSetLayout,
1487                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1488     {
1489       return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
1490     }
1491 
vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool) const1492     VkResult vkCreateDescriptorPool( VkDevice                           device,
1493                                      const VkDescriptorPoolCreateInfo * pCreateInfo,
1494                                      const VkAllocationCallbacks *      pAllocator,
1495                                      VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
1496     {
1497       return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
1498     }
1499 
vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator) const1500     void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1501     {
1502       return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
1503     }
1504 
vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags) const1505     VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1506     {
1507       return ::vkResetDescriptorPool( device, descriptorPool, flags );
1508     }
1509 
vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets) const1510     VkResult vkAllocateDescriptorSets( VkDevice                            device,
1511                                        const VkDescriptorSetAllocateInfo * pAllocateInfo,
1512                                        VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1513     {
1514       return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
1515     }
1516 
vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets) const1517     VkResult vkFreeDescriptorSets( VkDevice                device,
1518                                    VkDescriptorPool        descriptorPool,
1519                                    uint32_t                descriptorSetCount,
1520                                    const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1521     {
1522       return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
1523     }
1524 
vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies) const1525     void vkUpdateDescriptorSets( VkDevice                     device,
1526                                  uint32_t                     descriptorWriteCount,
1527                                  const VkWriteDescriptorSet * pDescriptorWrites,
1528                                  uint32_t                     descriptorCopyCount,
1529                                  const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
1530     {
1531       return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
1532     }
1533 
vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer) const1534     VkResult vkCreateFramebuffer( VkDevice                        device,
1535                                   const VkFramebufferCreateInfo * pCreateInfo,
1536                                   const VkAllocationCallbacks *   pAllocator,
1537                                   VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
1538     {
1539       return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
1540     }
1541 
vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator) const1542     void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1543     {
1544       return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
1545     }
1546 
vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const1547     VkResult vkCreateRenderPass( VkDevice                       device,
1548                                  const VkRenderPassCreateInfo * pCreateInfo,
1549                                  const VkAllocationCallbacks *  pAllocator,
1550                                  VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
1551     {
1552       return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
1553     }
1554 
vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator) const1555     void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1556     {
1557       return ::vkDestroyRenderPass( device, renderPass, pAllocator );
1558     }
1559 
vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity) const1560     void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
1561     {
1562       return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
1563     }
1564 
vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool) const1565     VkResult vkCreateCommandPool( VkDevice                        device,
1566                                   const VkCommandPoolCreateInfo * pCreateInfo,
1567                                   const VkAllocationCallbacks *   pAllocator,
1568                                   VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
1569     {
1570       return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
1571     }
1572 
vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator) const1573     void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1574     {
1575       return ::vkDestroyCommandPool( device, commandPool, pAllocator );
1576     }
1577 
vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags) const1578     VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1579     {
1580       return ::vkResetCommandPool( device, commandPool, flags );
1581     }
1582 
vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers) const1583     VkResult vkAllocateCommandBuffers( VkDevice                            device,
1584                                        const VkCommandBufferAllocateInfo * pAllocateInfo,
1585                                        VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1586     {
1587       return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
1588     }
1589 
vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1590     void vkFreeCommandBuffers( VkDevice                device,
1591                                VkCommandPool           commandPool,
1592                                uint32_t                commandBufferCount,
1593                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1594     {
1595       return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
1596     }
1597 
vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo) const1598     VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
1599     {
1600       return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
1601     }
1602 
vkEndCommandBuffer(VkCommandBuffer commandBuffer) const1603     VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1604     {
1605       return ::vkEndCommandBuffer( commandBuffer );
1606     }
1607 
vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags) const1608     VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1609     {
1610       return ::vkResetCommandBuffer( commandBuffer, flags );
1611     }
1612 
vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const1613     void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
1614     {
1615       return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
1616     }
1617 
1618     void
vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports) const1619       vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
1620     {
1621       return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
1622     }
1623 
vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors) const1624     void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
1625     {
1626       return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
1627     }
1628 
vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth) const1629     void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
1630     {
1631       return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
1632     }
1633 
vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const1634     void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
1635                             float           depthBiasConstantFactor,
1636                             float           depthBiasClamp,
1637                             float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
1638     {
1639       return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
1640     }
1641 
vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4]) const1642     void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
1643     {
1644       return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
1645     }
1646 
vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds) const1647     void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
1648     {
1649       return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
1650     }
1651 
vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask) const1652     void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT
1653     {
1654       return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
1655     }
1656 
vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask) const1657     void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT
1658     {
1659       return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
1660     }
1661 
vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference) const1662     void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT
1663     {
1664       return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
1665     }
1666 
vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets) const1667     void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
1668                                   VkPipelineBindPoint     pipelineBindPoint,
1669                                   VkPipelineLayout        layout,
1670                                   uint32_t                firstSet,
1671                                   uint32_t                descriptorSetCount,
1672                                   const VkDescriptorSet * pDescriptorSets,
1673                                   uint32_t                dynamicOffsetCount,
1674                                   const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
1675     {
1676       return ::vkCmdBindDescriptorSets(
1677         commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
1678     }
1679 
vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType) const1680     void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const VULKAN_HPP_NOEXCEPT
1681     {
1682       return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
1683     }
1684 
vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets) const1685     void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
1686                                  uint32_t             firstBinding,
1687                                  uint32_t             bindingCount,
1688                                  const VkBuffer *     pBuffers,
1689                                  const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
1690     {
1691       return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
1692     }
1693 
vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const1694     void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
1695       VULKAN_HPP_NOEXCEPT
1696     {
1697       return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
1698     }
1699 
vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const1700     void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
1701                            uint32_t        indexCount,
1702                            uint32_t        instanceCount,
1703                            uint32_t        firstIndex,
1704                            int32_t         vertexOffset,
1705                            uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
1706     {
1707       return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
1708     }
1709 
vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1710     void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT
1711     {
1712       return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
1713     }
1714 
vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1715     void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1716       VULKAN_HPP_NOEXCEPT
1717     {
1718       return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
1719     }
1720 
vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1721     void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
1722     {
1723       return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
1724     }
1725 
vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const1726     void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
1727     {
1728       return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
1729     }
1730 
vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions) const1731     void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions ) const
1732       VULKAN_HPP_NOEXCEPT
1733     {
1734       return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
1735     }
1736 
vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions) const1737     void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
1738                          VkImage             srcImage,
1739                          VkImageLayout       srcImageLayout,
1740                          VkImage             dstImage,
1741                          VkImageLayout       dstImageLayout,
1742                          uint32_t            regionCount,
1743                          const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1744     {
1745       return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1746     }
1747 
vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter) const1748     void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
1749                          VkImage             srcImage,
1750                          VkImageLayout       srcImageLayout,
1751                          VkImage             dstImage,
1752                          VkImageLayout       dstImageLayout,
1753                          uint32_t            regionCount,
1754                          const VkImageBlit * pRegions,
1755                          VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
1756     {
1757       return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
1758     }
1759 
vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1760     void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
1761                                  VkBuffer                  srcBuffer,
1762                                  VkImage                   dstImage,
1763                                  VkImageLayout             dstImageLayout,
1764                                  uint32_t                  regionCount,
1765                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1766     {
1767       return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
1768     }
1769 
vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1770     void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
1771                                  VkImage                   srcImage,
1772                                  VkImageLayout             srcImageLayout,
1773                                  VkBuffer                  dstBuffer,
1774                                  uint32_t                  regionCount,
1775                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1776     {
1777       return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
1778     }
1779 
vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData) const1780     void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData ) const
1781       VULKAN_HPP_NOEXCEPT
1782     {
1783       return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
1784     }
1785 
1786     void
vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data) const1787       vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT
1788     {
1789       return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
1790     }
1791 
vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1792     void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
1793                                VkImage                         image,
1794                                VkImageLayout                   imageLayout,
1795                                const VkClearColorValue *       pColor,
1796                                uint32_t                        rangeCount,
1797                                const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
1798     {
1799       return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
1800     }
1801 
vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1802     void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
1803                                       VkImage                          image,
1804                                       VkImageLayout                    imageLayout,
1805                                       const VkClearDepthStencilValue * pDepthStencil,
1806                                       uint32_t                         rangeCount,
1807                                       const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
1808     {
1809       return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
1810     }
1811 
vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects) const1812     void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
1813                                 uint32_t                  attachmentCount,
1814                                 const VkClearAttachment * pAttachments,
1815                                 uint32_t                  rectCount,
1816                                 const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
1817     {
1818       return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
1819     }
1820 
vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions) const1821     void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
1822                             VkImage                srcImage,
1823                             VkImageLayout          srcImageLayout,
1824                             VkImage                dstImage,
1825                             VkImageLayout          dstImageLayout,
1826                             uint32_t               regionCount,
1827                             const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
1828     {
1829       return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1830     }
1831 
vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1832     void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1833     {
1834       return ::vkCmdSetEvent( commandBuffer, event, stageMask );
1835     }
1836 
vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1837     void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1838     {
1839       return ::vkCmdResetEvent( commandBuffer, event, stageMask );
1840     }
1841 
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) const1842     void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
1843                           uint32_t                      eventCount,
1844                           const VkEvent *               pEvents,
1845                           VkPipelineStageFlags          srcStageMask,
1846                           VkPipelineStageFlags          dstStageMask,
1847                           uint32_t                      memoryBarrierCount,
1848                           const VkMemoryBarrier *       pMemoryBarriers,
1849                           uint32_t                      bufferMemoryBarrierCount,
1850                           const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1851                           uint32_t                      imageMemoryBarrierCount,
1852                           const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1853     {
1854       return ::vkCmdWaitEvents( commandBuffer,
1855                                 eventCount,
1856                                 pEvents,
1857                                 srcStageMask,
1858                                 dstStageMask,
1859                                 memoryBarrierCount,
1860                                 pMemoryBarriers,
1861                                 bufferMemoryBarrierCount,
1862                                 pBufferMemoryBarriers,
1863                                 imageMemoryBarrierCount,
1864                                 pImageMemoryBarriers );
1865     }
1866 
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) const1867     void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
1868                                VkPipelineStageFlags          srcStageMask,
1869                                VkPipelineStageFlags          dstStageMask,
1870                                VkDependencyFlags             dependencyFlags,
1871                                uint32_t                      memoryBarrierCount,
1872                                const VkMemoryBarrier *       pMemoryBarriers,
1873                                uint32_t                      bufferMemoryBarrierCount,
1874                                const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1875                                uint32_t                      imageMemoryBarrierCount,
1876                                const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1877     {
1878       return ::vkCmdPipelineBarrier( commandBuffer,
1879                                      srcStageMask,
1880                                      dstStageMask,
1881                                      dependencyFlags,
1882                                      memoryBarrierCount,
1883                                      pMemoryBarriers,
1884                                      bufferMemoryBarrierCount,
1885                                      pBufferMemoryBarriers,
1886                                      imageMemoryBarrierCount,
1887                                      pImageMemoryBarriers );
1888     }
1889 
vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags) const1890     void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
1891     {
1892       return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
1893     }
1894 
vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query) const1895     void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
1896     {
1897       return ::vkCmdEndQuery( commandBuffer, queryPool, query );
1898     }
1899 
vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const1900     void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
1901     {
1902       return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
1903     }
1904 
vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query) const1905     void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
1906                               VkPipelineStageFlagBits pipelineStage,
1907                               VkQueryPool             queryPool,
1908                               uint32_t                query ) const VULKAN_HPP_NOEXCEPT
1909     {
1910       return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
1911     }
1912 
vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags) const1913     void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
1914                                     VkQueryPool        queryPool,
1915                                     uint32_t           firstQuery,
1916                                     uint32_t           queryCount,
1917                                     VkBuffer           dstBuffer,
1918                                     VkDeviceSize       dstOffset,
1919                                     VkDeviceSize       stride,
1920                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1921     {
1922       return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
1923     }
1924 
vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues) const1925     void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
1926                              VkPipelineLayout   layout,
1927                              VkShaderStageFlags stageFlags,
1928                              uint32_t           offset,
1929                              uint32_t           size,
1930                              const void *       pValues ) const VULKAN_HPP_NOEXCEPT
1931     {
1932       return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
1933     }
1934 
vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents) const1935     void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
1936                                const VkRenderPassBeginInfo * pRenderPassBegin,
1937                                VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
1938     {
1939       return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
1940     }
1941 
vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents) const1942     void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
1943     {
1944       return ::vkCmdNextSubpass( commandBuffer, contents );
1945     }
1946 
vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const1947     void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1948     {
1949       return ::vkCmdEndRenderPass( commandBuffer );
1950     }
1951 
vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1952     void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1953     {
1954       return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
1955     }
1956 
1957     //=== VK_VERSION_1_1 ===
1958 
vkEnumerateInstanceVersion(uint32_t * pApiVersion) const1959     VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
1960     {
1961       return ::vkEnumerateInstanceVersion( pApiVersion );
1962     }
1963 
vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const1964     VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1965     {
1966       return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
1967     }
1968 
vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const1969     VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1970     {
1971       return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
1972     }
1973 
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const1974     void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
1975                                              uint32_t                   heapIndex,
1976                                              uint32_t                   localDeviceIndex,
1977                                              uint32_t                   remoteDeviceIndex,
1978                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
1979     {
1980       return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
1981     }
1982 
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask) const1983     void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
1984     {
1985       return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
1986     }
1987 
vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1988     void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
1989                             uint32_t        baseGroupX,
1990                             uint32_t        baseGroupY,
1991                             uint32_t        baseGroupZ,
1992                             uint32_t        groupCountX,
1993                             uint32_t        groupCountY,
1994                             uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
1995     {
1996       return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
1997     }
1998 
vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const1999     VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
2000                                               uint32_t *                        pPhysicalDeviceGroupCount,
2001                                               VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
2002     {
2003       return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
2004     }
2005 
vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2006     void vkGetImageMemoryRequirements2( VkDevice                               device,
2007                                         const VkImageMemoryRequirementsInfo2 * pInfo,
2008                                         VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2009     {
2010       return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
2011     }
2012 
vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2013     void vkGetBufferMemoryRequirements2( VkDevice                                device,
2014                                          const VkBufferMemoryRequirementsInfo2 * pInfo,
2015                                          VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2016     {
2017       return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
2018     }
2019 
vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2020     void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
2021                                               const VkImageSparseMemoryRequirementsInfo2 * pInfo,
2022                                               uint32_t *                                   pSparseMemoryRequirementCount,
2023                                               VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2024     {
2025       return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2026     }
2027 
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const2028     void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
2029     {
2030       return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
2031     }
2032 
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const2033     void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
2034     {
2035       return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
2036     }
2037 
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const2038     void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
2039                                                VkFormat              format,
2040                                                VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
2041     {
2042       return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
2043     }
2044 
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const2045     VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
2046                                                         const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
2047                                                         VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
2048     {
2049       return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
2050     }
2051 
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const2052     void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
2053                                                     uint32_t *                 pQueueFamilyPropertyCount,
2054                                                     VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
2055     {
2056       return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
2057     }
2058 
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const2059     void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice                    physicalDevice,
2060                                                VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
2061     {
2062       return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
2063     }
2064 
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const2065     void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
2066                                                           const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
2067                                                           uint32_t *                                     pPropertyCount,
2068                                                           VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
2069     {
2070       return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
2071     }
2072 
vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const2073     void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
2074     {
2075       return ::vkTrimCommandPool( device, commandPool, flags );
2076     }
2077 
vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue) const2078     void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
2079     {
2080       return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
2081     }
2082 
vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const2083     VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
2084                                              const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
2085                                              const VkAllocationCallbacks *              pAllocator,
2086                                              VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
2087     {
2088       return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
2089     }
2090 
vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const2091     void vkDestroySamplerYcbcrConversion( VkDevice                      device,
2092                                           VkSamplerYcbcrConversion      ycbcrConversion,
2093                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2094     {
2095       return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
2096     }
2097 
vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const2098     VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
2099                                                const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
2100                                                const VkAllocationCallbacks *                pAllocator,
2101                                                VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
2102     {
2103       return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
2104     }
2105 
vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const2106     void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
2107                                             VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
2108                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2109     {
2110       return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
2111     }
2112 
vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const2113     void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
2114                                             VkDescriptorSet            descriptorSet,
2115                                             VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2116                                             const void *               pData ) const VULKAN_HPP_NOEXCEPT
2117     {
2118       return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
2119     }
2120 
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const2121     void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
2122                                                       const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
2123                                                       VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
2124     {
2125       return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
2126     }
2127 
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const2128     void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
2129                                                      const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
2130                                                      VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
2131     {
2132       return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
2133     }
2134 
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const2135     void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice                              physicalDevice,
2136                                                          const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
2137                                                          VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
2138     {
2139       return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
2140     }
2141 
vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const2142     void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
2143                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
2144                                           VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
2145     {
2146       return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
2147     }
2148 
2149     //=== VK_VERSION_1_2 ===
2150 
vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2151     void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
2152                                  VkBuffer        buffer,
2153                                  VkDeviceSize    offset,
2154                                  VkBuffer        countBuffer,
2155                                  VkDeviceSize    countBufferOffset,
2156                                  uint32_t        maxDrawCount,
2157                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2158     {
2159       return ::vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2160     }
2161 
vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2162     void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
2163                                         VkBuffer        buffer,
2164                                         VkDeviceSize    offset,
2165                                         VkBuffer        countBuffer,
2166                                         VkDeviceSize    countBufferOffset,
2167                                         uint32_t        maxDrawCount,
2168                                         uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2169     {
2170       return ::vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2171     }
2172 
vkCreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const2173     VkResult vkCreateRenderPass2( VkDevice                        device,
2174                                   const VkRenderPassCreateInfo2 * pCreateInfo,
2175                                   const VkAllocationCallbacks *   pAllocator,
2176                                   VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
2177     {
2178       return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
2179     }
2180 
vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const2181     void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
2182                                 const VkRenderPassBeginInfo * pRenderPassBegin,
2183                                 const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
2184     {
2185       return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
2186     }
2187 
vkCmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const2188     void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
2189                             const VkSubpassBeginInfo * pSubpassBeginInfo,
2190                             const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2191     {
2192       return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
2193     }
2194 
vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const2195     void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2196     {
2197       return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
2198     }
2199 
vkResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2200     void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
2201     {
2202       return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
2203     }
2204 
vkGetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const2205     VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
2206     {
2207       return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
2208     }
2209 
vkWaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const2210     VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
2211     {
2212       return ::vkWaitSemaphores( device, pWaitInfo, timeout );
2213     }
2214 
vkSignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const2215     VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
2216     {
2217       return ::vkSignalSemaphore( device, pSignalInfo );
2218     }
2219 
vkGetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2220     VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2221     {
2222       return ::vkGetBufferDeviceAddress( device, pInfo );
2223     }
2224 
vkGetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2225     uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2226     {
2227       return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
2228     }
2229 
vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const2230     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2231     {
2232       return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
2233     }
2234 
2235     //=== VK_VERSION_1_3 ===
2236 
vkGetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const2237     VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice                 physicalDevice,
2238                                                 uint32_t *                       pToolCount,
2239                                                 VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
2240     {
2241       return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
2242     }
2243 
vkCreatePrivateDataSlot(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const2244     VkResult vkCreatePrivateDataSlot( VkDevice                            device,
2245                                       const VkPrivateDataSlotCreateInfo * pCreateInfo,
2246                                       const VkAllocationCallbacks *       pAllocator,
2247                                       VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
2248     {
2249       return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
2250     }
2251 
vkDestroyPrivateDataSlot(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const2252     void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2253     {
2254       return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
2255     }
2256 
vkSetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const2257     VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
2258       VULKAN_HPP_NOEXCEPT
2259     {
2260       return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
2261     }
2262 
vkGetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const2263     void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
2264       VULKAN_HPP_NOEXCEPT
2265     {
2266       return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
2267     }
2268 
vkCmdSetEvent2(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const2269     void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2270     {
2271       return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
2272     }
2273 
vkCmdResetEvent2(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const2274     void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
2275     {
2276       return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
2277     }
2278 
vkCmdWaitEvents2(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const2279     void vkCmdWaitEvents2( VkCommandBuffer          commandBuffer,
2280                            uint32_t                 eventCount,
2281                            const VkEvent *          pEvents,
2282                            const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
2283     {
2284       return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
2285     }
2286 
vkCmdPipelineBarrier2(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const2287     void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2288     {
2289       return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
2290     }
2291 
vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const2292     void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
2293     {
2294       return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
2295     }
2296 
vkQueueSubmit2(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const2297     VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
2298     {
2299       return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
2300     }
2301 
vkCmdCopyBuffer2(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const2302     void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
2303     {
2304       return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
2305     }
2306 
vkCmdCopyImage2(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const2307     void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
2308     {
2309       return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
2310     }
2311 
vkCmdCopyBufferToImage2(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const2312     void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
2313     {
2314       return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
2315     }
2316 
vkCmdCopyImageToBuffer2(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const2317     void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
2318     {
2319       return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
2320     }
2321 
vkCmdBlitImage2(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const2322     void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
2323     {
2324       return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
2325     }
2326 
vkCmdResolveImage2(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const2327     void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
2328     {
2329       return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
2330     }
2331 
vkCmdBeginRendering(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2332     void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2333     {
2334       return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
2335     }
2336 
vkCmdEndRendering(VkCommandBuffer commandBuffer) const2337     void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2338     {
2339       return ::vkCmdEndRendering( commandBuffer );
2340     }
2341 
vkCmdSetCullMode(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const2342     void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
2343     {
2344       return ::vkCmdSetCullMode( commandBuffer, cullMode );
2345     }
2346 
vkCmdSetFrontFace(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const2347     void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
2348     {
2349       return ::vkCmdSetFrontFace( commandBuffer, frontFace );
2350     }
2351 
vkCmdSetPrimitiveTopology(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const2352     void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
2353     {
2354       return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
2355     }
2356 
vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const2357     void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
2358     {
2359       return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
2360     }
2361 
vkCmdSetScissorWithCount(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const2362     void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
2363     {
2364       return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
2365     }
2366 
vkCmdBindVertexBuffers2(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const2367     void vkCmdBindVertexBuffers2( VkCommandBuffer      commandBuffer,
2368                                   uint32_t             firstBinding,
2369                                   uint32_t             bindingCount,
2370                                   const VkBuffer *     pBuffers,
2371                                   const VkDeviceSize * pOffsets,
2372                                   const VkDeviceSize * pSizes,
2373                                   const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
2374     {
2375       return ::vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
2376     }
2377 
vkCmdSetDepthTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const2378     void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
2379     {
2380       return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
2381     }
2382 
vkCmdSetDepthWriteEnable(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const2383     void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
2384     {
2385       return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
2386     }
2387 
vkCmdSetDepthCompareOp(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const2388     void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
2389     {
2390       return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
2391     }
2392 
vkCmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const2393     void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
2394     {
2395       return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
2396     }
2397 
vkCmdSetStencilTestEnable(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const2398     void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
2399     {
2400       return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
2401     }
2402 
vkCmdSetStencilOp(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const2403     void vkCmdSetStencilOp( VkCommandBuffer    commandBuffer,
2404                             VkStencilFaceFlags faceMask,
2405                             VkStencilOp        failOp,
2406                             VkStencilOp        passOp,
2407                             VkStencilOp        depthFailOp,
2408                             VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
2409     {
2410       return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
2411     }
2412 
vkCmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const2413     void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
2414     {
2415       return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
2416     }
2417 
vkCmdSetDepthBiasEnable(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const2418     void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
2419     {
2420       return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
2421     }
2422 
vkCmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const2423     void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
2424     {
2425       return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
2426     }
2427 
vkGetDeviceBufferMemoryRequirements(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2428     void vkGetDeviceBufferMemoryRequirements( VkDevice                                 device,
2429                                               const VkDeviceBufferMemoryRequirements * pInfo,
2430                                               VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2431     {
2432       return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
2433     }
2434 
vkGetDeviceImageMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2435     void vkGetDeviceImageMemoryRequirements( VkDevice                                device,
2436                                              const VkDeviceImageMemoryRequirements * pInfo,
2437                                              VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2438     {
2439       return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
2440     }
2441 
vkGetDeviceImageSparseMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2442     void vkGetDeviceImageSparseMemoryRequirements( VkDevice                                device,
2443                                                    const VkDeviceImageMemoryRequirements * pInfo,
2444                                                    uint32_t *                              pSparseMemoryRequirementCount,
2445                                                    VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2446     {
2447       return ::vkGetDeviceImageSparseMemoryRequirements( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2448     }
2449 
2450     //=== VK_KHR_surface ===
2451 
vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator) const2452     void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2453     {
2454       return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
2455     }
2456 
vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported) const2457     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
2458                                                    uint32_t         queueFamilyIndex,
2459                                                    VkSurfaceKHR     surface,
2460                                                    VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
2461     {
2462       return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
2463     }
2464 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities) const2465     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
2466                                                         VkSurfaceKHR               surface,
2467                                                         VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
2468     {
2469       return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
2470     }
2471 
vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats) const2472     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
2473                                                    VkSurfaceKHR         surface,
2474                                                    uint32_t *           pSurfaceFormatCount,
2475                                                    VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
2476     {
2477       return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
2478     }
2479 
vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const2480     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
2481                                                         VkSurfaceKHR       surface,
2482                                                         uint32_t *         pPresentModeCount,
2483                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
2484     {
2485       return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
2486     }
2487 
2488     //=== VK_KHR_swapchain ===
2489 
vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain) const2490     VkResult vkCreateSwapchainKHR( VkDevice                         device,
2491                                    const VkSwapchainCreateInfoKHR * pCreateInfo,
2492                                    const VkAllocationCallbacks *    pAllocator,
2493                                    VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
2494     {
2495       return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
2496     }
2497 
vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator) const2498     void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2499     {
2500       return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
2501     }
2502 
vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages) const2503     VkResult vkGetSwapchainImagesKHR( VkDevice       device,
2504                                       VkSwapchainKHR swapchain,
2505                                       uint32_t *     pSwapchainImageCount,
2506                                       VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
2507     {
2508       return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
2509     }
2510 
vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex) const2511     VkResult vkAcquireNextImageKHR(
2512       VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2513     {
2514       return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
2515     }
2516 
vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo) const2517     VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
2518     {
2519       return ::vkQueuePresentKHR( queue, pPresentInfo );
2520     }
2521 
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) const2522     VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice                              device,
2523                                                      VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
2524     {
2525       return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
2526     }
2527 
2528     VkResult
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes) const2529       vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
2530     {
2531       return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
2532     }
2533 
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects) const2534     VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
2535                                                       VkSurfaceKHR     surface,
2536                                                       uint32_t *       pRectCount,
2537                                                       VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
2538     {
2539       return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
2540     }
2541 
vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex) const2542     VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2543     {
2544       return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
2545     }
2546 
2547     //=== VK_KHR_display ===
2548 
vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties) const2549     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
2550                                                       uint32_t *               pPropertyCount,
2551                                                       VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2552     {
2553       return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2554     }
2555 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties) const2556     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
2557                                                            uint32_t *                    pPropertyCount,
2558                                                            VkDisplayPlanePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2559     {
2560       return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2561     }
2562 
vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays) const2563     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
2564                                                     uint32_t         planeIndex,
2565                                                     uint32_t *       pDisplayCount,
2566                                                     VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
2567     {
2568       return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
2569     }
2570 
vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties) const2571     VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
2572                                             VkDisplayKHR                 display,
2573                                             uint32_t *                   pPropertyCount,
2574                                             VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2575     {
2576       return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
2577     }
2578 
vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode) const2579     VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
2580                                      VkDisplayKHR                       display,
2581                                      const VkDisplayModeCreateInfoKHR * pCreateInfo,
2582                                      const VkAllocationCallbacks *      pAllocator,
2583                                      VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
2584     {
2585       return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
2586     }
2587 
vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities) const2588     VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
2589                                                VkDisplayModeKHR                mode,
2590                                                uint32_t                        planeIndex,
2591                                                VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
2592     {
2593       return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
2594     }
2595 
vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2596     VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
2597                                              const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
2598                                              const VkAllocationCallbacks *         pAllocator,
2599                                              VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2600     {
2601       return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2602     }
2603 
2604     //=== VK_KHR_display_swapchain ===
2605 
vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains) const2606     VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
2607                                           uint32_t                         swapchainCount,
2608                                           const VkSwapchainCreateInfoKHR * pCreateInfos,
2609                                           const VkAllocationCallbacks *    pAllocator,
2610                                           VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
2611     {
2612       return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
2613     }
2614 
2615 #  if defined( VK_USE_PLATFORM_XLIB_KHR )
2616     //=== VK_KHR_xlib_surface ===
2617 
vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2618     VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
2619                                      const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
2620                                      const VkAllocationCallbacks *      pAllocator,
2621                                      VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
2622     {
2623       return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2624     }
2625 
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID) const2626     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
2627                                                             uint32_t         queueFamilyIndex,
2628                                                             Display *        dpy,
2629                                                             VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
2630     {
2631       return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
2632     }
2633 #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
2634 
2635 #  if defined( VK_USE_PLATFORM_XCB_KHR )
2636     //=== VK_KHR_xcb_surface ===
2637 
vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2638     VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
2639                                     const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
2640                                     const VkAllocationCallbacks *     pAllocator,
2641                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
2642     {
2643       return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2644     }
2645 
vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id) const2646     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
2647                                                            uint32_t           queueFamilyIndex,
2648                                                            xcb_connection_t * connection,
2649                                                            xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
2650     {
2651       return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
2652     }
2653 #  endif /*VK_USE_PLATFORM_XCB_KHR*/
2654 
2655 #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
2656     //=== VK_KHR_wayland_surface ===
2657 
vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2658     VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
2659                                         const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
2660                                         const VkAllocationCallbacks *         pAllocator,
2661                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2662     {
2663       return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2664     }
2665 
vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct wl_display * display) const2666     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
2667                                                                uint32_t            queueFamilyIndex,
2668                                                                struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
2669     {
2670       return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
2671     }
2672 #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2673 
2674 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
2675     //=== VK_KHR_android_surface ===
2676 
vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2677     VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
2678                                         const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
2679                                         const VkAllocationCallbacks *         pAllocator,
2680                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2681     {
2682       return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2683     }
2684 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2685 
2686 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
2687     //=== VK_KHR_win32_surface ===
2688 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2689     VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2690                                       const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2691                                       const VkAllocationCallbacks *       pAllocator,
2692                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2693     {
2694       return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2695     }
2696 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2697     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2698     {
2699       return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2700     }
2701 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2702 
2703 #  if defined( VK_USE_PLATFORM_OHOS )
2704     //=== VK_OHOS_surface ===
2705 
vkCreateSurfaceOHOS(VkInstance instance,const VkSurfaceCreateInfoOHOS * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2706     VkResult vkCreateSurfaceOHOS(VkInstance instance,
2707     							 const VkSurfaceCreateInfoOHOS * pCreateInfo,
2708                                  const VkAllocationCallbacks * pAllocator,
2709                                  VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
2710     {
2711       return ::vkCreateSurfaceOHOS( instance, pCreateInfo, pAllocator, pSurface );
2712     }
2713 #  endif /*VK_USE_PLATFORM_OHOS*/
2714 
2715     //=== VK_EXT_debug_report ===
2716 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2717     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2718                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2719                                              const VkAllocationCallbacks *              pAllocator,
2720                                              VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2721     {
2722       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2723     }
2724 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2725     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2726                                           VkDebugReportCallbackEXT      callback,
2727                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2728     {
2729       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2730     }
2731 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2732     void vkDebugReportMessageEXT( VkInstance                 instance,
2733                                   VkDebugReportFlagsEXT      flags,
2734                                   VkDebugReportObjectTypeEXT objectType,
2735                                   uint64_t                   object,
2736                                   size_t                     location,
2737                                   int32_t                    messageCode,
2738                                   const char *               pLayerPrefix,
2739                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2740     {
2741       return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2742     }
2743 
2744     //=== VK_EXT_debug_marker ===
2745 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2746     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2747     {
2748       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2749     }
2750 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2751     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2752     {
2753       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2754     }
2755 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2756     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2757     {
2758       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2759     }
2760 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2761     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2762     {
2763       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2764     }
2765 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2766     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2767     {
2768       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2769     }
2770 
2771     //=== VK_KHR_video_queue ===
2772 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2773     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2774                                                       const VkVideoProfileInfoKHR * pVideoProfile,
2775                                                       VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2776     {
2777       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2778     }
2779 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2780     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2781                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2782                                                           uint32_t *                                 pVideoFormatPropertyCount,
2783                                                           VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2784     {
2785       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2786     }
2787 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2788     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2789                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
2790                                       const VkAllocationCallbacks *       pAllocator,
2791                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2792     {
2793       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2794     }
2795 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2796     void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2797     {
2798       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2799     }
2800 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2801     VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2802                                                      VkVideoSessionKHR                     videoSession,
2803                                                      uint32_t *                            pMemoryRequirementsCount,
2804                                                      VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2805     {
2806       return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2807     }
2808 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2809     VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2810                                           VkVideoSessionKHR                       videoSession,
2811                                           uint32_t                                bindSessionMemoryInfoCount,
2812                                           const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2813     {
2814       return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2815     }
2816 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2817     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2818                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2819                                                 const VkAllocationCallbacks *                 pAllocator,
2820                                                 VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2821     {
2822       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2823     }
2824 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2825     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2826                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
2827                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2828     {
2829       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2830     }
2831 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2832     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2833                                              VkVideoSessionParametersKHR   videoSessionParameters,
2834                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2835     {
2836       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2837     }
2838 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2839     void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2840     {
2841       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2842     }
2843 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2844     void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2845     {
2846       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2847     }
2848 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2849     void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2850     {
2851       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2852     }
2853 
2854     //=== VK_KHR_video_decode_queue ===
2855 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2856     void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2857     {
2858       return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2859     }
2860 
2861     //=== VK_EXT_transform_feedback ===
2862 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2863     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2864                                                uint32_t             firstBinding,
2865                                                uint32_t             bindingCount,
2866                                                const VkBuffer *     pBuffers,
2867                                                const VkDeviceSize * pOffsets,
2868                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2869     {
2870       return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2871     }
2872 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2873     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2874                                          uint32_t             firstCounterBuffer,
2875                                          uint32_t             counterBufferCount,
2876                                          const VkBuffer *     pCounterBuffers,
2877                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2878     {
2879       return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2880     }
2881 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2882     void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2883                                        uint32_t             firstCounterBuffer,
2884                                        uint32_t             counterBufferCount,
2885                                        const VkBuffer *     pCounterBuffers,
2886                                        const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2887     {
2888       return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2889     }
2890 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2891     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2892       VULKAN_HPP_NOEXCEPT
2893     {
2894       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2895     }
2896 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2897     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2898     {
2899       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2900     }
2901 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2902     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2903                                         uint32_t        instanceCount,
2904                                         uint32_t        firstInstance,
2905                                         VkBuffer        counterBuffer,
2906                                         VkDeviceSize    counterBufferOffset,
2907                                         uint32_t        counterOffset,
2908                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2909     {
2910       return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2911     }
2912 
2913     //=== VK_NVX_binary_import ===
2914 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2915     VkResult vkCreateCuModuleNVX( VkDevice                        device,
2916                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
2917                                   const VkAllocationCallbacks *   pAllocator,
2918                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
2919     {
2920       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
2921     }
2922 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const2923     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
2924                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
2925                                     const VkAllocationCallbacks *     pAllocator,
2926                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
2927     {
2928       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
2929     }
2930 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const2931     void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2932     {
2933       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
2934     }
2935 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const2936     void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2937     {
2938       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
2939     }
2940 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const2941     void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
2942     {
2943       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
2944     }
2945 
2946     //=== VK_NVX_image_view_handle ===
2947 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const2948     uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
2949     {
2950       return ::vkGetImageViewHandleNVX( device, pInfo );
2951     }
2952 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const2953     VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
2954     {
2955       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
2956     }
2957 
2958     //=== VK_AMD_draw_indirect_count ===
2959 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2960     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
2961                                     VkBuffer        buffer,
2962                                     VkDeviceSize    offset,
2963                                     VkBuffer        countBuffer,
2964                                     VkDeviceSize    countBufferOffset,
2965                                     uint32_t        maxDrawCount,
2966                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2967     {
2968       return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2969     }
2970 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2971     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
2972                                            VkBuffer        buffer,
2973                                            VkDeviceSize    offset,
2974                                            VkBuffer        countBuffer,
2975                                            VkDeviceSize    countBufferOffset,
2976                                            uint32_t        maxDrawCount,
2977                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2978     {
2979       return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2980     }
2981 
2982     //=== VK_AMD_shader_info ===
2983 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const2984     VkResult vkGetShaderInfoAMD( VkDevice              device,
2985                                  VkPipeline            pipeline,
2986                                  VkShaderStageFlagBits shaderStage,
2987                                  VkShaderInfoTypeAMD   infoType,
2988                                  size_t *              pInfoSize,
2989                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
2990     {
2991       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
2992     }
2993 
2994     //=== VK_KHR_dynamic_rendering ===
2995 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2996     void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2997     {
2998       return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
2999     }
3000 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const3001     void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3002     {
3003       return ::vkCmdEndRenderingKHR( commandBuffer );
3004     }
3005 
3006 #  if defined( VK_USE_PLATFORM_GGP )
3007     //=== VK_GGP_stream_descriptor_surface ===
3008 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3009     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3010                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3011                                                  const VkAllocationCallbacks *                  pAllocator,
3012                                                  VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3013     {
3014       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3015     }
3016 #  endif /*VK_USE_PLATFORM_GGP*/
3017 
3018     //=== VK_NV_external_memory_capabilities ===
3019 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3020     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3021                                                                  VkFormat                            format,
3022                                                                  VkImageType                         type,
3023                                                                  VkImageTiling                       tiling,
3024                                                                  VkImageUsageFlags                   usage,
3025                                                                  VkImageCreateFlags                  flags,
3026                                                                  VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3027                                                                  VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3028     {
3029       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3030         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3031     }
3032 
3033 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3034     //=== VK_NV_external_memory_win32 ===
3035 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3036     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3037                                        VkDeviceMemory                    memory,
3038                                        VkExternalMemoryHandleTypeFlagsNV handleType,
3039                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3040     {
3041       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3042     }
3043 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3044 
3045     //=== VK_KHR_get_physical_device_properties2 ===
3046 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3047     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3048     {
3049       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3050     }
3051 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3052     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3053     {
3054       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3055     }
3056 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3057     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3058                                                   VkFormat              format,
3059                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3060     {
3061       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3062     }
3063 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3064     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3065                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3066                                                            VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3067     {
3068       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3069     }
3070 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3071     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3072                                                        uint32_t *                 pQueueFamilyPropertyCount,
3073                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3074     {
3075       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3076     }
3077 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3078     void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3079                                                   VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3080     {
3081       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3082     }
3083 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3084     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3085                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3086                                                              uint32_t *                                     pPropertyCount,
3087                                                              VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3088     {
3089       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3090     }
3091 
3092     //=== VK_KHR_device_group ===
3093 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3094     void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3095                                                 uint32_t                   heapIndex,
3096                                                 uint32_t                   localDeviceIndex,
3097                                                 uint32_t                   remoteDeviceIndex,
3098                                                 VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3099     {
3100       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3101     }
3102 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3103     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3104     {
3105       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3106     }
3107 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3108     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3109                                uint32_t        baseGroupX,
3110                                uint32_t        baseGroupY,
3111                                uint32_t        baseGroupZ,
3112                                uint32_t        groupCountX,
3113                                uint32_t        groupCountY,
3114                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3115     {
3116       return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3117     }
3118 
3119 #  if defined( VK_USE_PLATFORM_VI_NN )
3120     //=== VK_NN_vi_surface ===
3121 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3122     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3123                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
3124                                   const VkAllocationCallbacks *   pAllocator,
3125                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3126     {
3127       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3128     }
3129 #  endif /*VK_USE_PLATFORM_VI_NN*/
3130 
3131     //=== VK_KHR_maintenance1 ===
3132 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3133     void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3134     {
3135       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3136     }
3137 
3138     //=== VK_KHR_device_group_creation ===
3139 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3140     VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3141                                                  uint32_t *                        pPhysicalDeviceGroupCount,
3142                                                  VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3143     {
3144       return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3145     }
3146 
3147     //=== VK_KHR_external_memory_capabilities ===
3148 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3149     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3150                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3151                                                          VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3152     {
3153       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3154     }
3155 
3156 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3157     //=== VK_KHR_external_memory_win32 ===
3158 
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3159     VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3160     {
3161       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3162     }
3163 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3164     VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3165                                                   VkExternalMemoryHandleTypeFlagBits handleType,
3166                                                   HANDLE                             handle,
3167                                                   VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3168     {
3169       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3170     }
3171 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3172 
3173     //=== VK_KHR_external_memory_fd ===
3174 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3175     VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3176     {
3177       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3178     }
3179 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3180     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3181                                          VkExternalMemoryHandleTypeFlagBits handleType,
3182                                          int                                fd,
3183                                          VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3184     {
3185       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3186     }
3187 
3188     //=== VK_KHR_external_semaphore_capabilities ===
3189 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3190     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3191                                                             const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3192                                                             VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3193     {
3194       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3195     }
3196 
3197 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3198     //=== VK_KHR_external_semaphore_win32 ===
3199 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3200     VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3201                                               const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3202     {
3203       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3204     }
3205 
3206     VkResult
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3207       vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3208     {
3209       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3210     }
3211 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3212 
3213     //=== VK_KHR_external_semaphore_fd ===
3214 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3215     VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3216     {
3217       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3218     }
3219 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3220     VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3221     {
3222       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3223     }
3224 
3225     //=== VK_KHR_push_descriptor ===
3226 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3227     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3228                                     VkPipelineBindPoint          pipelineBindPoint,
3229                                     VkPipelineLayout             layout,
3230                                     uint32_t                     set,
3231                                     uint32_t                     descriptorWriteCount,
3232                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3233     {
3234       return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3235     }
3236 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3237     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3238                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3239                                                 VkPipelineLayout           layout,
3240                                                 uint32_t                   set,
3241                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
3242     {
3243       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3244     }
3245 
3246     //=== VK_EXT_conditional_rendering ===
3247 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3248     void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3249                                             const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3250     {
3251       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3252     }
3253 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3254     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3255     {
3256       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3257     }
3258 
3259     //=== VK_KHR_descriptor_update_template ===
3260 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3261     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3262                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3263                                                   const VkAllocationCallbacks *                pAllocator,
3264                                                   VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3265     {
3266       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3267     }
3268 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3269     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3270                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3271                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3272     {
3273       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3274     }
3275 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3276     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3277                                                VkDescriptorSet            descriptorSet,
3278                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3279                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
3280     {
3281       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3282     }
3283 
3284     //=== VK_NV_clip_space_w_scaling ===
3285 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3286     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3287                                      uint32_t                     firstViewport,
3288                                      uint32_t                     viewportCount,
3289                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3290     {
3291       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3292     }
3293 
3294     //=== VK_EXT_direct_mode_display ===
3295 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3296     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3297     {
3298       return ::vkReleaseDisplayEXT( physicalDevice, display );
3299     }
3300 
3301 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3302     //=== VK_EXT_acquire_xlib_display ===
3303 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3304     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3305     {
3306       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3307     }
3308 
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3309     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3310     {
3311       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3312     }
3313 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3314 
3315     //=== VK_EXT_display_surface_counter ===
3316 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3317     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3318                                                          VkSurfaceKHR                surface,
3319                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3320     {
3321       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3322     }
3323 
3324     //=== VK_EXT_display_control ===
3325 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3326     VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3327     {
3328       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3329     }
3330 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3331     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3332                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3333                                        const VkAllocationCallbacks * pAllocator,
3334                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3335     {
3336       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3337     }
3338 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3339     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3340                                         VkDisplayKHR                  display,
3341                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
3342                                         const VkAllocationCallbacks * pAllocator,
3343                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3344     {
3345       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3346     }
3347 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3348     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3349                                        VkSwapchainKHR              swapchain,
3350                                        VkSurfaceCounterFlagBitsEXT counter,
3351                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3352     {
3353       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3354     }
3355 
3356     //=== VK_GOOGLE_display_timing ===
3357 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3358     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3359                                               VkSwapchainKHR                 swapchain,
3360                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3361     {
3362       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3363     }
3364 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3365     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3366                                                 VkSwapchainKHR                   swapchain,
3367                                                 uint32_t *                       pPresentationTimingCount,
3368                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3369     {
3370       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3371     }
3372 
3373     //=== VK_EXT_discard_rectangles ===
3374 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3375     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3376                                       uint32_t         firstDiscardRectangle,
3377                                       uint32_t         discardRectangleCount,
3378                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3379     {
3380       return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3381     }
3382 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3383     void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3384     {
3385       return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3386     }
3387 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3388     void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3389     {
3390       return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3391     }
3392 
3393     //=== VK_EXT_hdr_metadata ===
3394 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3395     void vkSetHdrMetadataEXT( VkDevice                 device,
3396                               uint32_t                 swapchainCount,
3397                               const VkSwapchainKHR *   pSwapchains,
3398                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3399     {
3400       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3401     }
3402 
3403     //=== VK_KHR_create_renderpass2 ===
3404 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3405     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3406                                      const VkRenderPassCreateInfo2 * pCreateInfo,
3407                                      const VkAllocationCallbacks *   pAllocator,
3408                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3409     {
3410       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3411     }
3412 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3413     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3414                                    const VkRenderPassBeginInfo * pRenderPassBegin,
3415                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3416     {
3417       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3418     }
3419 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3420     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3421                                const VkSubpassBeginInfo * pSubpassBeginInfo,
3422                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3423     {
3424       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3425     }
3426 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3427     void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3428     {
3429       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3430     }
3431 
3432     //=== VK_KHR_shared_presentable_image ===
3433 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3434     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3435     {
3436       return ::vkGetSwapchainStatusKHR( device, swapchain );
3437     }
3438 
3439     //=== VK_KHR_external_fence_capabilities ===
3440 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3441     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3442                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3443                                                         VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3444     {
3445       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3446     }
3447 
3448 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3449     //=== VK_KHR_external_fence_win32 ===
3450 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3451     VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3452     {
3453       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3454     }
3455 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3456     VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3457     {
3458       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3459     }
3460 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3461 
3462     //=== VK_KHR_external_fence_fd ===
3463 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3464     VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3465     {
3466       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3467     }
3468 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3469     VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3470     {
3471       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3472     }
3473 
3474     //=== VK_KHR_performance_query ===
3475 
3476     VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3477       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3478                                                                        uint32_t                             queueFamilyIndex,
3479                                                                        uint32_t *                           pCounterCount,
3480                                                                        VkPerformanceCounterKHR *            pCounters,
3481                                                                        VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3482     {
3483       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3484         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3485     }
3486 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3487     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3488                                                                   const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3489                                                                   uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3490     {
3491       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3492     }
3493 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3494     VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3495     {
3496       return ::vkAcquireProfilingLockKHR( device, pInfo );
3497     }
3498 
vkReleaseProfilingLockKHR(VkDevice device) const3499     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3500     {
3501       return ::vkReleaseProfilingLockKHR( device );
3502     }
3503 
3504     //=== VK_KHR_get_surface_capabilities2 ===
3505 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3506     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3507                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3508                                                          VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3509     {
3510       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3511     }
3512 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3513     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3514                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3515                                                     uint32_t *                              pSurfaceFormatCount,
3516                                                     VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3517     {
3518       return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3519     }
3520 
3521     //=== VK_KHR_get_display_properties2 ===
3522 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3523     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3524                                                        uint32_t *                pPropertyCount,
3525                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3526     {
3527       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3528     }
3529 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3530     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3531                                                             uint32_t *                     pPropertyCount,
3532                                                             VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3533     {
3534       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3535     }
3536 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3537     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3538                                              VkDisplayKHR                  display,
3539                                              uint32_t *                    pPropertyCount,
3540                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3541     {
3542       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3543     }
3544 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3545     VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3546                                                 const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3547                                                 VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3548     {
3549       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3550     }
3551 
3552 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3553     //=== VK_MVK_ios_surface ===
3554 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3555     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3556                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3557                                     const VkAllocationCallbacks *     pAllocator,
3558                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3559     {
3560       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3561     }
3562 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3563 
3564 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3565     //=== VK_MVK_macos_surface ===
3566 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3567     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3568                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3569                                       const VkAllocationCallbacks *       pAllocator,
3570                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3571     {
3572       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3573     }
3574 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3575 
3576     //=== VK_EXT_debug_utils ===
3577 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3578     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3579     {
3580       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3581     }
3582 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3583     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3584     {
3585       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3586     }
3587 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3588     void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3589     {
3590       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3591     }
3592 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3593     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3594     {
3595       return ::vkQueueEndDebugUtilsLabelEXT( queue );
3596     }
3597 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3598     void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3599     {
3600       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3601     }
3602 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3603     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3604     {
3605       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3606     }
3607 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3608     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3609     {
3610       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3611     }
3612 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3613     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3614     {
3615       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3616     }
3617 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3618     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3619                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3620                                              const VkAllocationCallbacks *              pAllocator,
3621                                              VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3622     {
3623       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3624     }
3625 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3626     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3627                                           VkDebugUtilsMessengerEXT      messenger,
3628                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3629     {
3630       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3631     }
3632 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3633     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3634                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3635                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3636                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3637     {
3638       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3639     }
3640 
3641 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3642     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3643 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3644     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3645                                                           const struct AHardwareBuffer *             buffer,
3646                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3647     {
3648       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3649     }
3650 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3651     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3652                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3653                                                       struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3654     {
3655       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3656     }
3657 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3658 
3659 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3660     //=== VK_AMDX_shader_enqueue ===
3661 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3662     VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3663                                                   VkPipelineCache                                pipelineCache,
3664                                                   uint32_t                                       createInfoCount,
3665                                                   const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3666                                                   const VkAllocationCallbacks *                  pAllocator,
3667                                                   VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3668     {
3669       return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3670     }
3671 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3672     VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3673                                                          VkPipeline                                executionGraph,
3674                                                          VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3675     {
3676       return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3677     }
3678 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3679     VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3680                                                        VkPipeline                                      executionGraph,
3681                                                        const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3682                                                        uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3683     {
3684       return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3685     }
3686 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch) const3687     void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
3688     {
3689       return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
3690     }
3691 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3692     void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3693                                  VkDeviceAddress                      scratch,
3694                                  const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3695     {
3696       return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
3697     }
3698 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3699     void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3700                                          VkDeviceAddress                      scratch,
3701                                          const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3702     {
3703       return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
3704     }
3705 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceAddress countInfo) const3706     void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3707     {
3708       return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
3709     }
3710 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3711 
3712     //=== VK_EXT_sample_locations ===
3713 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3714     void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3715     {
3716       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3717     }
3718 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3719     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3720                                                       VkSampleCountFlagBits        samples,
3721                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3722     {
3723       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3724     }
3725 
3726     //=== VK_KHR_get_memory_requirements2 ===
3727 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3728     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3729                                            const VkImageMemoryRequirementsInfo2 * pInfo,
3730                                            VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3731     {
3732       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3733     }
3734 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3735     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3736                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
3737                                             VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3738     {
3739       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3740     }
3741 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3742     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3743                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3744                                                  uint32_t *                                   pSparseMemoryRequirementCount,
3745                                                  VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3746     {
3747       return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3748     }
3749 
3750     //=== VK_KHR_acceleration_structure ===
3751 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3752     VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3753                                                const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3754                                                const VkAllocationCallbacks *                pAllocator,
3755                                                VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3756     {
3757       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3758     }
3759 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3760     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3761                                             VkAccelerationStructureKHR    accelerationStructure,
3762                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3763     {
3764       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3765     }
3766 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3767     void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3768                                               uint32_t                                                 infoCount,
3769                                               const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3770                                               const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3771     {
3772       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3773     }
3774 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3775     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3776                                                       uint32_t                                            infoCount,
3777                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3778                                                       const VkDeviceAddress *                             pIndirectDeviceAddresses,
3779                                                       const uint32_t *                                    pIndirectStrides,
3780                                                       const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3781     {
3782       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3783         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3784     }
3785 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3786     VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3787                                                VkDeferredOperationKHR                                   deferredOperation,
3788                                                uint32_t                                                 infoCount,
3789                                                const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3790                                                const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3791     {
3792       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3793     }
3794 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3795     VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3796                                              VkDeferredOperationKHR                     deferredOperation,
3797                                              const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3798     {
3799       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3800     }
3801 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3802     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3803                                                      VkDeferredOperationKHR                             deferredOperation,
3804                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3805     {
3806       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3807     }
3808 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3809     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3810                                                      VkDeferredOperationKHR                             deferredOperation,
3811                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3812     {
3813       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3814     }
3815 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3816     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3817                                                          uint32_t                           accelerationStructureCount,
3818                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
3819                                                          VkQueryType                        queryType,
3820                                                          size_t                             dataSize,
3821                                                          void *                             pData,
3822                                                          size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3823     {
3824       return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3825     }
3826 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3827     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3828     {
3829       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3830     }
3831 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3832     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3833                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3834     {
3835       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3836     }
3837 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3838     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3839                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3840     {
3841       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3842     }
3843 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3844     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3845                                                                 const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3846     {
3847       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3848     }
3849 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3850     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3851                                                         uint32_t                           accelerationStructureCount,
3852                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
3853                                                         VkQueryType                        queryType,
3854                                                         VkQueryPool                        queryPool,
3855                                                         uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3856     {
3857       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3858         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3859     }
3860 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3861     void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3862                                                            const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3863                                                            VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3864     {
3865       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3866     }
3867 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3868     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3869                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
3870                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3871                                                   const uint32_t *                                    pMaxPrimitiveCounts,
3872                                                   VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3873     {
3874       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3875     }
3876 
3877     //=== VK_KHR_ray_tracing_pipeline ===
3878 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3879     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3880                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3881                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3882                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3883                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3884                             uint32_t                                width,
3885                             uint32_t                                height,
3886                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3887     {
3888       return ::vkCmdTraceRaysKHR(
3889         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3890     }
3891 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3892     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3893                                              VkDeferredOperationKHR                    deferredOperation,
3894                                              VkPipelineCache                           pipelineCache,
3895                                              uint32_t                                  createInfoCount,
3896                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3897                                              const VkAllocationCallbacks *             pAllocator,
3898                                              VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
3899     {
3900       return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3901     }
3902 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3903     VkResult vkGetRayTracingShaderGroupHandlesKHR(
3904       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3905     {
3906       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3907     }
3908 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3909     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3910       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3911     {
3912       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3913     }
3914 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const3915     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
3916                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3917                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3918                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3919                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3920                                     VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
3921     {
3922       return ::vkCmdTraceRaysIndirectKHR(
3923         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
3924     }
3925 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const3926     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
3927                                                          VkPipeline             pipeline,
3928                                                          uint32_t               group,
3929                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
3930     {
3931       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
3932     }
3933 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const3934     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
3935     {
3936       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
3937     }
3938 
3939     //=== VK_KHR_sampler_ycbcr_conversion ===
3940 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const3941     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
3942                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
3943                                                 const VkAllocationCallbacks *              pAllocator,
3944                                                 VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
3945     {
3946       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
3947     }
3948 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const3949     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
3950                                              VkSamplerYcbcrConversion      ycbcrConversion,
3951                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3952     {
3953       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
3954     }
3955 
3956     //=== VK_KHR_bind_memory2 ===
3957 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const3958     VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3959     {
3960       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
3961     }
3962 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const3963     VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3964     {
3965       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
3966     }
3967 
3968     //=== VK_EXT_image_drm_format_modifier ===
3969 
3970     VkResult
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const3971       vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
3972     {
3973       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
3974     }
3975 
3976     //=== VK_EXT_validation_cache ===
3977 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const3978     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
3979                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
3980                                          const VkAllocationCallbacks *          pAllocator,
3981                                          VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
3982     {
3983       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
3984     }
3985 
3986     void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const3987       vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3988     {
3989       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
3990     }
3991 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const3992     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
3993                                          VkValidationCacheEXT         dstCache,
3994                                          uint32_t                     srcCacheCount,
3995                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
3996     {
3997       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
3998     }
3999 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const4000     VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4001     {
4002       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
4003     }
4004 
4005     //=== VK_NV_shading_rate_image ===
4006 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4007     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
4008     {
4009       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4010     }
4011 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4012     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4013                                                uint32_t                       firstViewport,
4014                                                uint32_t                       viewportCount,
4015                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4016     {
4017       return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4018     }
4019 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4020     void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4021                                       VkCoarseSampleOrderTypeNV           sampleOrderType,
4022                                       uint32_t                            customSampleOrderCount,
4023                                       const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4024     {
4025       return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4026     }
4027 
4028     //=== VK_NV_ray_tracing ===
4029 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4030     VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4031                                               const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4032                                               const VkAllocationCallbacks *               pAllocator,
4033                                               VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4034     {
4035       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4036     }
4037 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4038     void vkDestroyAccelerationStructureNV( VkDevice                      device,
4039                                            VkAccelerationStructureNV     accelerationStructure,
4040                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4041     {
4042       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4043     }
4044 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4045     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4046                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4047                                                          VkMemoryRequirements2KHR *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4048     {
4049       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4050     }
4051 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4052     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4053                                                   uint32_t                                        bindInfoCount,
4054                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4055     {
4056       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4057     }
4058 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4059     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4060                                             const VkAccelerationStructureInfoNV * pInfo,
4061                                             VkBuffer                              instanceData,
4062                                             VkDeviceSize                          instanceOffset,
4063                                             VkBool32                              update,
4064                                             VkAccelerationStructureNV             dst,
4065                                             VkAccelerationStructureNV             src,
4066                                             VkBuffer                              scratch,
4067                                             VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4068     {
4069       return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4070     }
4071 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4072     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4073                                            VkAccelerationStructureNV          dst,
4074                                            VkAccelerationStructureNV          src,
4075                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4076     {
4077       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4078     }
4079 
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) const4080     void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4081                            VkBuffer        raygenShaderBindingTableBuffer,
4082                            VkDeviceSize    raygenShaderBindingOffset,
4083                            VkBuffer        missShaderBindingTableBuffer,
4084                            VkDeviceSize    missShaderBindingOffset,
4085                            VkDeviceSize    missShaderBindingStride,
4086                            VkBuffer        hitShaderBindingTableBuffer,
4087                            VkDeviceSize    hitShaderBindingOffset,
4088                            VkDeviceSize    hitShaderBindingStride,
4089                            VkBuffer        callableShaderBindingTableBuffer,
4090                            VkDeviceSize    callableShaderBindingOffset,
4091                            VkDeviceSize    callableShaderBindingStride,
4092                            uint32_t        width,
4093                            uint32_t        height,
4094                            uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4095     {
4096       return ::vkCmdTraceRaysNV( commandBuffer,
4097                                  raygenShaderBindingTableBuffer,
4098                                  raygenShaderBindingOffset,
4099                                  missShaderBindingTableBuffer,
4100                                  missShaderBindingOffset,
4101                                  missShaderBindingStride,
4102                                  hitShaderBindingTableBuffer,
4103                                  hitShaderBindingOffset,
4104                                  hitShaderBindingStride,
4105                                  callableShaderBindingTableBuffer,
4106                                  callableShaderBindingOffset,
4107                                  callableShaderBindingStride,
4108                                  width,
4109                                  height,
4110                                  depth );
4111     }
4112 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4113     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4114                                             VkPipelineCache                          pipelineCache,
4115                                             uint32_t                                 createInfoCount,
4116                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4117                                             const VkAllocationCallbacks *            pAllocator,
4118                                             VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4119     {
4120       return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4121     }
4122 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4123     VkResult vkGetRayTracingShaderGroupHandlesNV(
4124       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4125     {
4126       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4127     }
4128 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4129     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4130                                                  VkAccelerationStructureNV accelerationStructure,
4131                                                  size_t                    dataSize,
4132                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
4133     {
4134       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4135     }
4136 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4137     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4138                                                        uint32_t                          accelerationStructureCount,
4139                                                        const VkAccelerationStructureNV * pAccelerationStructures,
4140                                                        VkQueryType                       queryType,
4141                                                        VkQueryPool                       queryPool,
4142                                                        uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4143     {
4144       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4145         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4146     }
4147 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4148     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4149     {
4150       return ::vkCompileDeferredNV( device, pipeline, shader );
4151     }
4152 
4153     //=== VK_KHR_maintenance3 ===
4154 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4155     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4156                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4157                                              VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4158     {
4159       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4160     }
4161 
4162     //=== VK_KHR_draw_indirect_count ===
4163 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4164     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4165                                     VkBuffer        buffer,
4166                                     VkDeviceSize    offset,
4167                                     VkBuffer        countBuffer,
4168                                     VkDeviceSize    countBufferOffset,
4169                                     uint32_t        maxDrawCount,
4170                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4171     {
4172       return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4173     }
4174 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4175     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4176                                            VkBuffer        buffer,
4177                                            VkDeviceSize    offset,
4178                                            VkBuffer        countBuffer,
4179                                            VkDeviceSize    countBufferOffset,
4180                                            uint32_t        maxDrawCount,
4181                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4182     {
4183       return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4184     }
4185 
4186     //=== VK_EXT_external_memory_host ===
4187 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4188     VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4189                                                   VkExternalMemoryHandleTypeFlagBits handleType,
4190                                                   const void *                       pHostPointer,
4191                                                   VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4192     {
4193       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4194     }
4195 
4196     //=== VK_AMD_buffer_marker ===
4197 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4198     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4199                                     VkPipelineStageFlagBits pipelineStage,
4200                                     VkBuffer                dstBuffer,
4201                                     VkDeviceSize            dstOffset,
4202                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4203     {
4204       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4205     }
4206 
4207     //=== VK_EXT_calibrated_timestamps ===
4208 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4209     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4210                                                              uint32_t *        pTimeDomainCount,
4211                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4212     {
4213       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4214     }
4215 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4216     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4217                                            uint32_t                             timestampCount,
4218                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4219                                            uint64_t *                           pTimestamps,
4220                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4221     {
4222       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4223     }
4224 
4225     //=== VK_NV_mesh_shader ===
4226 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4227     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4228     {
4229       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4230     }
4231 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4232     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4233       VULKAN_HPP_NOEXCEPT
4234     {
4235       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4236     }
4237 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4238     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4239                                             VkBuffer        buffer,
4240                                             VkDeviceSize    offset,
4241                                             VkBuffer        countBuffer,
4242                                             VkDeviceSize    countBufferOffset,
4243                                             uint32_t        maxDrawCount,
4244                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4245     {
4246       return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4247     }
4248 
4249     //=== VK_NV_scissor_exclusive ===
4250 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4251     void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4252                                            uint32_t         firstExclusiveScissor,
4253                                            uint32_t         exclusiveScissorCount,
4254                                            const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4255     {
4256       return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4257     }
4258 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4259     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4260                                      uint32_t         firstExclusiveScissor,
4261                                      uint32_t         exclusiveScissorCount,
4262                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4263     {
4264       return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4265     }
4266 
4267     //=== VK_NV_device_diagnostic_checkpoints ===
4268 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4269     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4270     {
4271       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4272     }
4273 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4274     void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4275     {
4276       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4277     }
4278 
4279     //=== VK_KHR_timeline_semaphore ===
4280 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4281     VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4282     {
4283       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4284     }
4285 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4286     VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4287     {
4288       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4289     }
4290 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4291     VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4292     {
4293       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4294     }
4295 
4296     //=== VK_INTEL_performance_query ===
4297 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4298     VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4299     {
4300       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4301     }
4302 
vkUninitializePerformanceApiINTEL(VkDevice device) const4303     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4304     {
4305       return ::vkUninitializePerformanceApiINTEL( device );
4306     }
4307 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4308     VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4309     {
4310       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4311     }
4312 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4313     VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4314                                                    const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4315     {
4316       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4317     }
4318 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4319     VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4320     {
4321       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4322     }
4323 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4324     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4325                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4326                                                      VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4327     {
4328       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4329     }
4330 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4331     VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4332     {
4333       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4334     }
4335 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4336     VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4337     {
4338       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4339     }
4340 
4341     VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4342       vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4343     {
4344       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4345     }
4346 
4347     //=== VK_AMD_display_native_hdr ===
4348 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4349     void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4350     {
4351       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4352     }
4353 
4354 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4355     //=== VK_FUCHSIA_imagepipe_surface ===
4356 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4357     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4358                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4359                                               const VkAllocationCallbacks *               pAllocator,
4360                                               VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4361     {
4362       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4363     }
4364 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4365 
4366 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4367     //=== VK_EXT_metal_surface ===
4368 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4369     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4370                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4371                                       const VkAllocationCallbacks *       pAllocator,
4372                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4373     {
4374       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4375     }
4376 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4377 
4378     //=== VK_KHR_fragment_shading_rate ===
4379 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4380     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4381                                                          uint32_t *                               pFragmentShadingRateCount,
4382                                                          VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4383     {
4384       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4385     }
4386 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4387     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4388                                          const VkExtent2D *                       pFragmentSize,
4389                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4390     {
4391       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4392     }
4393 
4394     //=== VK_EXT_buffer_device_address ===
4395 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4396     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4397     {
4398       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4399     }
4400 
4401     //=== VK_EXT_tooling_info ===
4402 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4403     VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4404                                                    uint32_t *                       pToolCount,
4405                                                    VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4406     {
4407       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4408     }
4409 
4410     //=== VK_KHR_present_wait ===
4411 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4412     VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4413     {
4414       return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4415     }
4416 
4417     //=== VK_NV_cooperative_matrix ===
4418 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4419     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4420                                                                uint32_t *                        pPropertyCount,
4421                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4422     {
4423       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4424     }
4425 
4426     //=== VK_NV_coverage_reduction_mode ===
4427 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4428     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4429       VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4430     {
4431       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4432     }
4433 
4434 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4435     //=== VK_EXT_full_screen_exclusive ===
4436 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4437     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4438                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4439                                                          uint32_t *                              pPresentModeCount,
4440                                                          VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4441     {
4442       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4443     }
4444 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4445     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4446     {
4447       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4448     }
4449 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4450     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4451     {
4452       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4453     }
4454 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4455     VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4456                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4457                                                       VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4458     {
4459       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4460     }
4461 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4462 
4463     //=== VK_EXT_headless_surface ===
4464 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4465     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4466                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4467                                          const VkAllocationCallbacks *          pAllocator,
4468                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4469     {
4470       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4471     }
4472 
4473     //=== VK_KHR_buffer_device_address ===
4474 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4475     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4476     {
4477       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4478     }
4479 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4480     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4481     {
4482       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4483     }
4484 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4485     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4486     {
4487       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4488     }
4489 
4490     //=== VK_EXT_line_rasterization ===
4491 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4492     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4493     {
4494       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4495     }
4496 
4497     //=== VK_EXT_host_query_reset ===
4498 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4499     void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4500     {
4501       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4502     }
4503 
4504     //=== VK_EXT_extended_dynamic_state ===
4505 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4506     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4507     {
4508       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4509     }
4510 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4511     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4512     {
4513       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4514     }
4515 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4516     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4517     {
4518       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4519     }
4520 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4521     void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4522     {
4523       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4524     }
4525 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4526     void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4527     {
4528       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4529     }
4530 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4531     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4532                                      uint32_t             firstBinding,
4533                                      uint32_t             bindingCount,
4534                                      const VkBuffer *     pBuffers,
4535                                      const VkDeviceSize * pOffsets,
4536                                      const VkDeviceSize * pSizes,
4537                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4538     {
4539       return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4540     }
4541 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4542     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4543     {
4544       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4545     }
4546 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4547     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4548     {
4549       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4550     }
4551 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4552     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4553     {
4554       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4555     }
4556 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4557     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4558     {
4559       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4560     }
4561 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4562     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4563     {
4564       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4565     }
4566 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4567     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4568                                VkStencilFaceFlags faceMask,
4569                                VkStencilOp        failOp,
4570                                VkStencilOp        passOp,
4571                                VkStencilOp        depthFailOp,
4572                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4573     {
4574       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4575     }
4576 
4577     //=== VK_KHR_deferred_host_operations ===
4578 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4579     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4580                                            const VkAllocationCallbacks * pAllocator,
4581                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4582     {
4583       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4584     }
4585 
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4586     void vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4587     {
4588       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4589     }
4590 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4591     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4592     {
4593       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4594     }
4595 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4596     VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4597     {
4598       return ::vkGetDeferredOperationResultKHR( device, operation );
4599     }
4600 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4601     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4602     {
4603       return ::vkDeferredOperationJoinKHR( device, operation );
4604     }
4605 
4606     //=== VK_KHR_pipeline_executable_properties ===
4607 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4608     VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4609                                                    const VkPipelineInfoKHR *           pPipelineInfo,
4610                                                    uint32_t *                          pExecutableCount,
4611                                                    VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4612     {
4613       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4614     }
4615 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4616     VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4617                                                    const VkPipelineExecutableInfoKHR * pExecutableInfo,
4618                                                    uint32_t *                          pStatisticCount,
4619                                                    VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4620     {
4621       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4622     }
4623 
4624     VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4625       vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4626                                                          const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4627                                                          uint32_t *                                      pInternalRepresentationCount,
4628                                                          VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4629     {
4630       return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4631     }
4632 
4633     //=== VK_EXT_host_image_copy ===
4634 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo) const4635     VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4636     {
4637       return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4638     }
4639 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo) const4640     VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4641     {
4642       return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4643     }
4644 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo) const4645     VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4646     {
4647       return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4648     }
4649 
4650     VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfoEXT * pTransitions) const4651       vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT * pTransitions ) const VULKAN_HPP_NOEXCEPT
4652     {
4653       return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4654     }
4655 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const4656     void vkGetImageSubresourceLayout2EXT( VkDevice                       device,
4657                                           VkImage                        image,
4658                                           const VkImageSubresource2KHR * pSubresource,
4659                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
4660     {
4661       return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4662     }
4663 
4664     //=== VK_KHR_map_memory2 ===
4665 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfoKHR * pMemoryMapInfo,void ** ppData) const4666     VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfoKHR * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4667     {
4668       return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4669     }
4670 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo) const4671     VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4672     {
4673       return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4674     }
4675 
4676     //=== VK_EXT_swapchain_maintenance1 ===
4677 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4678     VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4679     {
4680       return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4681     }
4682 
4683     //=== VK_NV_device_generated_commands ===
4684 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4685     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4686                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4687                                                      VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4688     {
4689       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4690     }
4691 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4692     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4693     {
4694       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4695     }
4696 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4697     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4698                                           VkBool32                          isPreprocessed,
4699                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4700     {
4701       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4702     }
4703 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4704     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4705                                          VkPipelineBindPoint pipelineBindPoint,
4706                                          VkPipeline          pipeline,
4707                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4708     {
4709       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4710     }
4711 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4712     VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4713                                                const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4714                                                const VkAllocationCallbacks *                pAllocator,
4715                                                VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4716     {
4717       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4718     }
4719 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4720     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4721                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4722                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4723     {
4724       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4725     }
4726 
4727     //=== VK_EXT_depth_bias_control ===
4728 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4729     void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4730     {
4731       return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4732     }
4733 
4734     //=== VK_EXT_acquire_drm_display ===
4735 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4736     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4737     {
4738       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4739     }
4740 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4741     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4742     {
4743       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4744     }
4745 
4746     //=== VK_EXT_private_data ===
4747 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4748     VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4749                                          const VkPrivateDataSlotCreateInfo * pCreateInfo,
4750                                          const VkAllocationCallbacks *       pAllocator,
4751                                          VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4752     {
4753       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4754     }
4755 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4756     void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4757     {
4758       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4759     }
4760 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4761     VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4762       VULKAN_HPP_NOEXCEPT
4763     {
4764       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4765     }
4766 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4767     void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4768       VULKAN_HPP_NOEXCEPT
4769     {
4770       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4771     }
4772 
4773     //=== VK_KHR_video_encode_queue ===
4774 
4775     VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4776       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4777                                                                const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4778                                                                VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4779     {
4780       return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4781     }
4782 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4783     VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4784                                                     const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4785                                                     VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4786                                                     size_t *                                         pDataSize,
4787                                                     void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4788     {
4789       return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4790     }
4791 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4792     void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4793     {
4794       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4795     }
4796 
4797 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4798     //=== VK_NV_cuda_kernel_launch ===
4799 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4800     VkResult vkCreateCudaModuleNV( VkDevice                         device,
4801                                    const VkCudaModuleCreateInfoNV * pCreateInfo,
4802                                    const VkAllocationCallbacks *    pAllocator,
4803                                    VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4804     {
4805       return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4806     }
4807 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4808     VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4809     {
4810       return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4811     }
4812 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4813     VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4814                                      const VkCudaFunctionCreateInfoNV * pCreateInfo,
4815                                      const VkAllocationCallbacks *      pAllocator,
4816                                      VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4817     {
4818       return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4819     }
4820 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4821     void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4822     {
4823       return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4824     }
4825 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4826     void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4827     {
4828       return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4829     }
4830 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4831     void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4832     {
4833       return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4834     }
4835 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4836 
4837 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4838     //=== VK_EXT_metal_objects ===
4839 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4840     void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4841     {
4842       return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4843     }
4844 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4845 
4846     //=== VK_KHR_synchronization2 ===
4847 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4848     void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4849     {
4850       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4851     }
4852 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4853     void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4854     {
4855       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4856     }
4857 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4858     void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4859                               uint32_t                 eventCount,
4860                               const VkEvent *          pEvents,
4861                               const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4862     {
4863       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4864     }
4865 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4866     void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4867     {
4868       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4869     }
4870 
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const4871     void vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
4872     {
4873       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
4874     }
4875 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const4876     VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
4877     {
4878       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
4879     }
4880 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4881     void vkCmdWriteBufferMarker2AMD(
4882       VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4883     {
4884       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4885     }
4886 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4887     void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4888     {
4889       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4890     }
4891 
4892     //=== VK_EXT_descriptor_buffer ===
4893 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const4894     void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
4895     {
4896       return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
4897     }
4898 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const4899     void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
4900                                                    VkDescriptorSetLayout layout,
4901                                                    uint32_t              binding,
4902                                                    VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
4903     {
4904       return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
4905     }
4906 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const4907     void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
4908     {
4909       return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
4910     }
4911 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const4912     void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
4913                                         uint32_t                                 bufferCount,
4914                                         const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
4915     {
4916       return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
4917     }
4918 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const4919     void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
4920                                              VkPipelineBindPoint  pipelineBindPoint,
4921                                              VkPipelineLayout     layout,
4922                                              uint32_t             firstSet,
4923                                              uint32_t             setCount,
4924                                              const uint32_t *     pBufferIndices,
4925                                              const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
4926     {
4927       return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
4928     }
4929 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const4930     void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
4931                                                        VkPipelineBindPoint pipelineBindPoint,
4932                                                        VkPipelineLayout    layout,
4933                                                        uint32_t            set ) const VULKAN_HPP_NOEXCEPT
4934     {
4935       return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
4936     }
4937 
4938     VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4939       vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4940     {
4941       return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4942     }
4943 
4944     VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4945       vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4946     {
4947       return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4948     }
4949 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4950     VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
4951                                                            const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
4952                                                            void *                                          pData ) const VULKAN_HPP_NOEXCEPT
4953     {
4954       return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4955     }
4956 
4957     VkResult
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4958       vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4959     {
4960       return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4961     }
4962 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4963     VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
4964                                                                        const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
4965                                                                        void * pData ) const VULKAN_HPP_NOEXCEPT
4966     {
4967       return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4968     }
4969 
4970     //=== VK_NV_fragment_shading_rate_enums ===
4971 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4972     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
4973                                             VkFragmentShadingRateNV                  shadingRate,
4974                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4975     {
4976       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
4977     }
4978 
4979     //=== VK_EXT_mesh_shader ===
4980 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const4981     void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
4982     {
4983       return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
4984     }
4985 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4986     void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4987       VULKAN_HPP_NOEXCEPT
4988     {
4989       return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
4990     }
4991 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4992     void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
4993                                              VkBuffer        buffer,
4994                                              VkDeviceSize    offset,
4995                                              VkBuffer        countBuffer,
4996                                              VkDeviceSize    countBufferOffset,
4997                                              uint32_t        maxDrawCount,
4998                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4999     {
5000       return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
5001     }
5002 
5003     //=== VK_KHR_copy_commands2 ===
5004 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const5005     void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5006     {
5007       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5008     }
5009 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const5010     void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5011     {
5012       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5013     }
5014 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5015     void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5016     {
5017       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5018     }
5019 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5020     void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5021     {
5022       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5023     }
5024 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5025     void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5026     {
5027       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5028     }
5029 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5030     void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5031     {
5032       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5033     }
5034 
5035     //=== VK_EXT_device_fault ===
5036 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5037     VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5038     {
5039       return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5040     }
5041 
5042 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5043     //=== VK_NV_acquire_winrt_display ===
5044 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5045     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5046     {
5047       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5048     }
5049 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5050     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5051     {
5052       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5053     }
5054 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5055 
5056 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5057     //=== VK_EXT_directfb_surface ===
5058 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5059     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5060                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5061                                          const VkAllocationCallbacks *          pAllocator,
5062                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5063     {
5064       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5065     }
5066 
5067     VkBool32
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5068       vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB * dfb ) const VULKAN_HPP_NOEXCEPT
5069     {
5070       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5071     }
5072 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5073 
5074     //=== VK_EXT_vertex_input_dynamic_state ===
5075 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5076     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5077                                  uint32_t                                      vertexBindingDescriptionCount,
5078                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5079                                  uint32_t                                      vertexAttributeDescriptionCount,
5080                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5081     {
5082       return ::vkCmdSetVertexInputEXT(
5083         commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5084     }
5085 
5086 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5087     //=== VK_FUCHSIA_external_memory ===
5088 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5089     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5090                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5091                                              zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5092     {
5093       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5094     }
5095 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5096     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5097                                                        VkExternalMemoryHandleTypeFlagBits      handleType,
5098                                                        zx_handle_t                             zirconHandle,
5099                                                        VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5100     {
5101       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5102     }
5103 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5104 
5105 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5106     //=== VK_FUCHSIA_external_semaphore ===
5107 
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5108     VkResult vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5109                                                    const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5110     {
5111       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5112     }
5113 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5114     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5115                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5116                                                 zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5117     {
5118       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5119     }
5120 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5121 
5122 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5123     //=== VK_FUCHSIA_buffer_collection ===
5124 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5125     VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5126                                               const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5127                                               const VkAllocationCallbacks *               pAllocator,
5128                                               VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5129     {
5130       return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5131     }
5132 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5133     VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5134                                                            VkBufferCollectionFUCHSIA             collection,
5135                                                            const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5136     {
5137       return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5138     }
5139 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5140     VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5141                                                             VkBufferCollectionFUCHSIA              collection,
5142                                                             const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5143     {
5144       return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5145     }
5146 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5147     void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5148                                            VkBufferCollectionFUCHSIA     collection,
5149                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5150     {
5151       return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5152     }
5153 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5154     VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5155                                                      VkBufferCollectionFUCHSIA             collection,
5156                                                      VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5157     {
5158       return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5159     }
5160 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5161 
5162     //=== VK_HUAWEI_subpass_shading ===
5163 
5164     VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5165       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5166     {
5167       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5168     }
5169 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5170     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5171     {
5172       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5173     }
5174 
5175     //=== VK_HUAWEI_invocation_mask ===
5176 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5177     void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5178     {
5179       return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5180     }
5181 
5182     //=== VK_NV_external_memory_rdma ===
5183 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5184     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5185                                          const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5186                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5187     {
5188       return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5189     }
5190 
5191     //=== VK_EXT_pipeline_properties ===
5192 
5193     VkResult
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5194       vkGetPipelinePropertiesEXT( VkDevice device, const VkPipelineInfoEXT * pPipelineInfo, VkBaseOutStructure * pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5195     {
5196       return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5197     }
5198 
5199     //=== VK_EXT_extended_dynamic_state2 ===
5200 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5201     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5202     {
5203       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5204     }
5205 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5206     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5207     {
5208       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5209     }
5210 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5211     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5212     {
5213       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5214     }
5215 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5216     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5217     {
5218       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5219     }
5220 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5221     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5222     {
5223       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5224     }
5225 
5226 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5227     //=== VK_QNX_screen_surface ===
5228 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5229     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5230                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5231                                        const VkAllocationCallbacks *        pAllocator,
5232                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5233     {
5234       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5235     }
5236 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5237     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5238                                                               uint32_t                queueFamilyIndex,
5239                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5240     {
5241       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5242     }
5243 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5244 
5245     //=== VK_EXT_color_write_enable ===
5246 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5247     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5248     {
5249       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5250     }
5251 
5252     //=== VK_KHR_ray_tracing_maintenance1 ===
5253 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5254     void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5255     {
5256       return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5257     }
5258 
5259     //=== VK_EXT_multi_draw ===
5260 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5261     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5262                             uint32_t                   drawCount,
5263                             const VkMultiDrawInfoEXT * pVertexInfo,
5264                             uint32_t                   instanceCount,
5265                             uint32_t                   firstInstance,
5266                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5267     {
5268       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5269     }
5270 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5271     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5272                                    uint32_t                          drawCount,
5273                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5274                                    uint32_t                          instanceCount,
5275                                    uint32_t                          firstInstance,
5276                                    uint32_t                          stride,
5277                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5278     {
5279       return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5280     }
5281 
5282     //=== VK_EXT_opacity_micromap ===
5283 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5284     VkResult vkCreateMicromapEXT( VkDevice                        device,
5285                                   const VkMicromapCreateInfoEXT * pCreateInfo,
5286                                   const VkAllocationCallbacks *   pAllocator,
5287                                   VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5288     {
5289       return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5290     }
5291 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5292     void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5293     {
5294       return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5295     }
5296 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5297     void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5298     {
5299       return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5300     }
5301 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5302     VkResult vkBuildMicromapsEXT( VkDevice                       device,
5303                                   VkDeferredOperationKHR         deferredOperation,
5304                                   uint32_t                       infoCount,
5305                                   const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5306     {
5307       return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5308     }
5309 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5310     VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5311     {
5312       return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5313     }
5314 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5315     VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5316                                         VkDeferredOperationKHR                deferredOperation,
5317                                         const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5318     {
5319       return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5320     }
5321 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5322     VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5323                                         VkDeferredOperationKHR                deferredOperation,
5324                                         const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5325     {
5326       return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5327     }
5328 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5329     VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5330                                             uint32_t              micromapCount,
5331                                             const VkMicromapEXT * pMicromaps,
5332                                             VkQueryType           queryType,
5333                                             size_t                dataSize,
5334                                             void *                pData,
5335                                             size_t                stride ) const VULKAN_HPP_NOEXCEPT
5336     {
5337       return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5338     }
5339 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5340     void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5341     {
5342       return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5343     }
5344 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5345     void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5346     {
5347       return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5348     }
5349 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5350     void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5351     {
5352       return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5353     }
5354 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5355     void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5356                                            uint32_t              micromapCount,
5357                                            const VkMicromapEXT * pMicromaps,
5358                                            VkQueryType           queryType,
5359                                            VkQueryPool           queryPool,
5360                                            uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5361     {
5362       return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5363     }
5364 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5365     void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5366                                               const VkMicromapVersionInfoEXT *          pVersionInfo,
5367                                               VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5368     {
5369       return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5370     }
5371 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5372     void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5373                                      VkAccelerationStructureBuildTypeKHR buildType,
5374                                      const VkMicromapBuildInfoEXT *      pBuildInfo,
5375                                      VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5376     {
5377       return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5378     }
5379 
5380     //=== VK_HUAWEI_cluster_culling_shader ===
5381 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5382     void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5383     {
5384       return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5385     }
5386 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5387     void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5388     {
5389       return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5390     }
5391 
5392     //=== VK_EXT_pageable_device_local_memory ===
5393 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5394     void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5395     {
5396       return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5397     }
5398 
5399     //=== VK_KHR_maintenance4 ===
5400 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5401     void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5402                                                  const VkDeviceBufferMemoryRequirements * pInfo,
5403                                                  VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5404     {
5405       return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5406     }
5407 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5408     void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5409                                                 const VkDeviceImageMemoryRequirements * pInfo,
5410                                                 VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5411     {
5412       return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5413     }
5414 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5415     void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5416                                                       const VkDeviceImageMemoryRequirements * pInfo,
5417                                                       uint32_t *                              pSparseMemoryRequirementCount,
5418                                                       VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5419     {
5420       return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5421     }
5422 
5423     //=== VK_VALVE_descriptor_set_host_mapping ===
5424 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5425     void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5426                                                        const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5427                                                        VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5428     {
5429       return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5430     }
5431 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5432     void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5433     {
5434       return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5435     }
5436 
5437     //=== VK_NV_copy_memory_indirect ===
5438 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5439     void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5440                                     VkDeviceAddress copyBufferAddress,
5441                                     uint32_t        copyCount,
5442                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5443     {
5444       return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5445     }
5446 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5447     void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5448                                            VkDeviceAddress                  copyBufferAddress,
5449                                            uint32_t                         copyCount,
5450                                            uint32_t                         stride,
5451                                            VkImage                          dstImage,
5452                                            VkImageLayout                    dstImageLayout,
5453                                            const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5454     {
5455       return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5456     }
5457 
5458     //=== VK_NV_memory_decompression ===
5459 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5460     void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5461                                   uint32_t                           decompressRegionCount,
5462                                   const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5463     {
5464       return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5465     }
5466 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5467     void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5468                                                VkDeviceAddress indirectCommandsAddress,
5469                                                VkDeviceAddress indirectCommandsCountAddress,
5470                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5471     {
5472       return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5473     }
5474 
5475     //=== VK_NV_device_generated_commands_compute ===
5476 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5477     void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5478                                                     const VkComputePipelineCreateInfo * pCreateInfo,
5479                                                     VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5480     {
5481       return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5482     }
5483 
5484     void
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5485       vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
5486     {
5487       return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5488     }
5489 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5490     VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5491     {
5492       return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5493     }
5494 
5495     //=== VK_EXT_extended_dynamic_state3 ===
5496 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5497     void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5498     {
5499       return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5500     }
5501 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5502     void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5503     {
5504       return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5505     }
5506 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5507     void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5508     {
5509       return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5510     }
5511 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5512     void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5513     {
5514       return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5515     }
5516 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5517     void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5518     {
5519       return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5520     }
5521 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5522     void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5523     {
5524       return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5525     }
5526 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5527     void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5528     {
5529       return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5530     }
5531 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5532     void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5533     {
5534       return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5535     }
5536 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5537     void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5538                                       uint32_t         firstAttachment,
5539                                       uint32_t         attachmentCount,
5540                                       const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5541     {
5542       return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5543     }
5544 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5545     void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5546                                         uint32_t                        firstAttachment,
5547                                         uint32_t                        attachmentCount,
5548                                         const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5549     {
5550       return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5551     }
5552 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5553     void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5554                                     uint32_t                      firstAttachment,
5555                                     uint32_t                      attachmentCount,
5556                                     const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5557     {
5558       return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5559     }
5560 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5561     void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5562     {
5563       return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5564     }
5565 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5566     void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5567                                                    VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5568     {
5569       return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5570     }
5571 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5572     void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5573     {
5574       return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5575     }
5576 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5577     void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5578     {
5579       return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5580     }
5581 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5582     void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5583     {
5584       return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5585     }
5586 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5587     void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5588                                         uint32_t                        firstAttachment,
5589                                         uint32_t                        attachmentCount,
5590                                         const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5591     {
5592       return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5593     }
5594 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5595     void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5596     {
5597       return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5598     }
5599 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5600     void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5601     {
5602       return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5603     }
5604 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5605     void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5606     {
5607       return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5608     }
5609 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5610     void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5611     {
5612       return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5613     }
5614 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5615     void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5616     {
5617       return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5618     }
5619 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5620     void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5621                                     uint32_t                    firstViewport,
5622                                     uint32_t                    viewportCount,
5623                                     const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5624     {
5625       return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5626     }
5627 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5628     void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5629     {
5630       return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5631     }
5632 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5633     void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5634     {
5635       return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5636     }
5637 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5638     void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5639     {
5640       return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5641     }
5642 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5643     void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5644     {
5645       return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5646     }
5647 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5648     void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5649                                             uint32_t        coverageModulationTableCount,
5650                                             const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5651     {
5652       return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5653     }
5654 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5655     void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5656     {
5657       return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5658     }
5659 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5660     void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5661     {
5662       return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5663     }
5664 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5665     void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5666     {
5667       return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5668     }
5669 
5670     //=== VK_EXT_shader_module_identifier ===
5671 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5672     void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5673     {
5674       return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5675     }
5676 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5677     void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5678                                                    const VkShaderModuleCreateInfo * pCreateInfo,
5679                                                    VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5680     {
5681       return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5682     }
5683 
5684     //=== VK_NV_optical_flow ===
5685 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5686     VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5687                                                            const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5688                                                            uint32_t *                             pFormatCount,
5689                                                            VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5690     {
5691       return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5692     }
5693 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5694     VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5695                                            const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5696                                            const VkAllocationCallbacks *            pAllocator,
5697                                            VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5698     {
5699       return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5700     }
5701 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5702     void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5703     {
5704       return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5705     }
5706 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5707     VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5708                                               VkOpticalFlowSessionNV             session,
5709                                               VkOpticalFlowSessionBindingPointNV bindingPoint,
5710                                               VkImageView                        view,
5711                                               VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5712     {
5713       return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5714     }
5715 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5716     void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5717                                     VkOpticalFlowSessionNV             session,
5718                                     const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5719     {
5720       return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5721     }
5722 
5723     //=== VK_KHR_maintenance5 ===
5724 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5725     void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5726       VULKAN_HPP_NOEXCEPT
5727     {
5728       return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5729     }
5730 
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfoKHR * pRenderingAreaInfo,VkExtent2D * pGranularity) const5731     void vkGetRenderingAreaGranularityKHR( VkDevice                       device,
5732                                            const VkRenderingAreaInfoKHR * pRenderingAreaInfo,
5733                                            VkExtent2D *                   pGranularity ) const VULKAN_HPP_NOEXCEPT
5734     {
5735       return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5736     }
5737 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfoKHR * pInfo,VkSubresourceLayout2KHR * pLayout) const5738     void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                                device,
5739                                                const VkDeviceImageSubresourceInfoKHR * pInfo,
5740                                                VkSubresourceLayout2KHR *               pLayout ) const VULKAN_HPP_NOEXCEPT
5741     {
5742       return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5743     }
5744 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const5745     void vkGetImageSubresourceLayout2KHR( VkDevice                       device,
5746                                           VkImage                        image,
5747                                           const VkImageSubresource2KHR * pSubresource,
5748                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
5749     {
5750       return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5751     }
5752 
5753     //=== VK_EXT_shader_object ===
5754 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5755     VkResult vkCreateShadersEXT( VkDevice                      device,
5756                                  uint32_t                      createInfoCount,
5757                                  const VkShaderCreateInfoEXT * pCreateInfos,
5758                                  const VkAllocationCallbacks * pAllocator,
5759                                  VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5760     {
5761       return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5762     }
5763 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5764     void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5765     {
5766       return ::vkDestroyShaderEXT( device, shader, pAllocator );
5767     }
5768 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5769     VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5770     {
5771       return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5772     }
5773 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5774     void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5775                               uint32_t                      stageCount,
5776                               const VkShaderStageFlagBits * pStages,
5777                               const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5778     {
5779       return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5780     }
5781 
5782     //=== VK_QCOM_tile_properties ===
5783 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5784     VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5785                                                  VkFramebuffer          framebuffer,
5786                                                  uint32_t *             pPropertiesCount,
5787                                                  VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5788     {
5789       return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5790     }
5791 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5792     VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5793                                                       const VkRenderingInfo * pRenderingInfo,
5794                                                       VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5795     {
5796       return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5797     }
5798 
5799     //=== VK_NV_low_latency2 ===
5800 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5801     VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5802     {
5803       return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
5804     }
5805 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const5806     VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
5807     {
5808       return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
5809     }
5810 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5811     void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5812     {
5813       return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
5814     }
5815 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5816     void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5817     {
5818       return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
5819     }
5820 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const5821     void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
5822     {
5823       return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
5824     }
5825 
5826     //=== VK_KHR_cooperative_matrix ===
5827 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const5828     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
5829                                                                 uint32_t *                         pPropertyCount,
5830                                                                 VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
5831     {
5832       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
5833     }
5834 
5835     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
5836 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const5837     void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
5838     {
5839       return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
5840     }
5841 
5842 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5843     //=== VK_QNX_external_memory_screen_buffer ===
5844 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const5845     VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
5846                                              const struct _screen_buffer * buffer,
5847                                              VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
5848     {
5849       return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
5850     }
5851 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5852 
5853     //=== VK_KHR_calibrated_timestamps ===
5854 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const5855     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
5856                                                              uint32_t *        pTimeDomainCount,
5857                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
5858     {
5859       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
5860     }
5861 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const5862     VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
5863                                            uint32_t                             timestampCount,
5864                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
5865                                            uint64_t *                           pTimestamps,
5866                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
5867     {
5868       return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
5869     }
5870 
5871     //=== VK_KHR_maintenance6 ===
5872 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo) const5873     void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
5874     {
5875       return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
5876     }
5877 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfoKHR * pPushConstantsInfo) const5878     void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
5879     {
5880       return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
5881     }
5882 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo) const5883     void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
5884     {
5885       return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
5886     }
5887 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo) const5888     void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                                commandBuffer,
5889                                                  const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
5890     {
5891       return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
5892     }
5893 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const5894     void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
5895                                               const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
5896     {
5897       return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
5898     }
5899 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const5900     void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
5901       VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
5902     {
5903       return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
5904     }
5905   };
5906 
getDispatchLoaderStatic()5907   inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
5908   {
5909     static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
5910     return dls;
5911   }
5912 #endif
5913 
5914 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
5915   struct AllocationCallbacks;
5916 
5917   template <typename OwnerType, typename Dispatch>
5918   class ObjectDestroy
5919   {
5920   public:
5921     ObjectDestroy() = default;
5922 
ObjectDestroy(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5923     ObjectDestroy( OwnerType                                               owner,
5924                    Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5925                    Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5926       : m_owner( owner )
5927       , m_allocationCallbacks( allocationCallbacks )
5928       , m_dispatch( &dispatch )
5929     {
5930     }
5931 
getOwner() const5932     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5933     {
5934       return m_owner;
5935     }
5936 
getAllocator() const5937     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5938     {
5939       return m_allocationCallbacks;
5940     }
5941 
getDispatch() const5942     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5943     {
5944       return *m_dispatch;
5945     }
5946 
5947   protected:
5948     template <typename T>
destroy(T t)5949     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5950     {
5951       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5952       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
5953     }
5954 
5955   private:
5956     OwnerType                           m_owner               = {};
5957     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5958     Dispatch const *                    m_dispatch            = nullptr;
5959   };
5960 
5961   class NoParent;
5962 
5963   template <typename Dispatch>
5964   class ObjectDestroy<NoParent, Dispatch>
5965   {
5966   public:
5967     ObjectDestroy() = default;
5968 
ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5969     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
5970                    Dispatch const & dispatch           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5971       : m_allocationCallbacks( allocationCallbacks )
5972       , m_dispatch( &dispatch )
5973     {
5974     }
5975 
getAllocator() const5976     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5977     {
5978       return m_allocationCallbacks;
5979     }
5980 
getDispatch() const5981     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5982     {
5983       return *m_dispatch;
5984     }
5985 
5986   protected:
5987     template <typename T>
destroy(T t)5988     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5989     {
5990       VULKAN_HPP_ASSERT( m_dispatch );
5991       t.destroy( m_allocationCallbacks, *m_dispatch );
5992     }
5993 
5994   private:
5995     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5996     Dispatch const *                    m_dispatch            = nullptr;
5997   };
5998 
5999   template <typename OwnerType, typename Dispatch>
6000   class ObjectFree
6001   {
6002   public:
6003     ObjectFree() = default;
6004 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6005     ObjectFree( OwnerType                                               owner,
6006                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6007                 Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6008       : m_owner( owner )
6009       , m_allocationCallbacks( allocationCallbacks )
6010       , m_dispatch( &dispatch )
6011     {
6012     }
6013 
getOwner() const6014     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6015     {
6016       return m_owner;
6017     }
6018 
getAllocator() const6019     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6020     {
6021       return m_allocationCallbacks;
6022     }
6023 
getDispatch() const6024     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6025     {
6026       return *m_dispatch;
6027     }
6028 
6029   protected:
6030     template <typename T>
destroy(T t)6031     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6032     {
6033       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6034       ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6035     }
6036 
6037   private:
6038     OwnerType                           m_owner               = {};
6039     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6040     Dispatch const *                    m_dispatch            = nullptr;
6041   };
6042 
6043   template <typename OwnerType, typename Dispatch>
6044   class ObjectRelease
6045   {
6046   public:
6047     ObjectRelease() = default;
6048 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6049     ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6050       : m_owner( owner )
6051       , m_dispatch( &dispatch )
6052     {
6053     }
6054 
getOwner() const6055     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6056     {
6057       return m_owner;
6058     }
6059 
getDispatch() const6060     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6061     {
6062       return *m_dispatch;
6063     }
6064 
6065   protected:
6066     template <typename T>
destroy(T t)6067     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6068     {
6069       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6070       m_owner.release( t, *m_dispatch );
6071     }
6072 
6073   private:
6074     OwnerType        m_owner    = {};
6075     Dispatch const * m_dispatch = nullptr;
6076   };
6077 
6078   template <typename OwnerType, typename PoolType, typename Dispatch>
6079   class PoolFree
6080   {
6081   public:
6082     PoolFree() = default;
6083 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6084     PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6085       : m_owner( owner )
6086       , m_pool( pool )
6087       , m_dispatch( &dispatch )
6088     {
6089     }
6090 
getOwner() const6091     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6092     {
6093       return m_owner;
6094     }
6095 
getPool() const6096     PoolType getPool() const VULKAN_HPP_NOEXCEPT
6097     {
6098       return m_pool;
6099     }
6100 
getDispatch() const6101     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6102     {
6103       return *m_dispatch;
6104     }
6105 
6106   protected:
6107     template <typename T>
destroy(T t)6108     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6109     {
6110       ( m_owner.free )( m_pool, t, *m_dispatch );
6111     }
6112 
6113   private:
6114     OwnerType        m_owner    = OwnerType();
6115     PoolType         m_pool     = PoolType();
6116     Dispatch const * m_dispatch = nullptr;
6117   };
6118 
6119 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6120 
6121   //==================
6122   //=== BASE TYPEs ===
6123   //==================
6124 
6125   using Bool32          = uint32_t;
6126   using DeviceAddress   = uint64_t;
6127   using DeviceSize      = uint64_t;
6128   using RemoteAddressNV = void *;
6129   using SampleMask      = uint32_t;
6130 
6131 }  // namespace VULKAN_HPP_NAMESPACE
6132 
6133 #include <vulkan/vulkan_enums.hpp>
6134 #if !defined( VULKAN_HPP_NO_TO_STRING )
6135 #  include <vulkan/vulkan_to_string.hpp>
6136 #endif
6137 
6138 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6139 namespace std
6140 {
6141   template <>
6142   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6143   {
6144   };
6145 }  // namespace std
6146 #endif
6147 
6148 namespace VULKAN_HPP_NAMESPACE
6149 {
6150 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6151   class ErrorCategoryImpl : public std::error_category
6152   {
6153   public:
name() const6154     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6155     {
6156       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6157     }
6158 
message(int ev) const6159     virtual std::string message( int ev ) const override
6160     {
6161 #  if defined( VULKAN_HPP_NO_TO_STRING )
6162       return std::to_string( ev );
6163 #  else
6164       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6165 #  endif
6166     }
6167   };
6168 
6169   class Error
6170   {
6171   public:
6172     Error() VULKAN_HPP_NOEXCEPT                = default;
6173     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6174     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6175 
6176     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6177   };
6178 
6179   class LogicError
6180     : public Error
6181     , public std::logic_error
6182   {
6183   public:
LogicError(const std::string & what)6184     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6185 
LogicError(char const * what)6186     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6187 
what() const6188     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6189     {
6190       return std::logic_error::what();
6191     }
6192   };
6193 
6194   class SystemError
6195     : public Error
6196     , public std::system_error
6197   {
6198   public:
SystemError(std::error_code ec)6199     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6200 
SystemError(std::error_code ec,std::string const & what)6201     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6202 
SystemError(std::error_code ec,char const * what)6203     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6204 
SystemError(int ev,std::error_category const & ecat)6205     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6206 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6207     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6208 
SystemError(int ev,std::error_category const & ecat,char const * what)6209     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6210 
what() const6211     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6212     {
6213       return std::system_error::what();
6214     }
6215   };
6216 
errorCategory()6217   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6218   {
6219     static ErrorCategoryImpl instance;
6220     return instance;
6221   }
6222 
make_error_code(Result e)6223   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6224   {
6225     return std::error_code( static_cast<int>( e ), errorCategory() );
6226   }
6227 
make_error_condition(Result e)6228   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6229   {
6230     return std::error_condition( static_cast<int>( e ), errorCategory() );
6231   }
6232 
6233   class OutOfHostMemoryError : public SystemError
6234   {
6235   public:
OutOfHostMemoryError(std::string const & message)6236     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6237 
OutOfHostMemoryError(char const * message)6238     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6239   };
6240 
6241   class OutOfDeviceMemoryError : public SystemError
6242   {
6243   public:
OutOfDeviceMemoryError(std::string const & message)6244     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6245 
OutOfDeviceMemoryError(char const * message)6246     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6247   };
6248 
6249   class InitializationFailedError : public SystemError
6250   {
6251   public:
InitializationFailedError(std::string const & message)6252     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6253 
InitializationFailedError(char const * message)6254     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6255   };
6256 
6257   class DeviceLostError : public SystemError
6258   {
6259   public:
DeviceLostError(std::string const & message)6260     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6261 
DeviceLostError(char const * message)6262     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6263   };
6264 
6265   class MemoryMapFailedError : public SystemError
6266   {
6267   public:
MemoryMapFailedError(std::string const & message)6268     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6269 
MemoryMapFailedError(char const * message)6270     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6271   };
6272 
6273   class LayerNotPresentError : public SystemError
6274   {
6275   public:
LayerNotPresentError(std::string const & message)6276     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6277 
LayerNotPresentError(char const * message)6278     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6279   };
6280 
6281   class ExtensionNotPresentError : public SystemError
6282   {
6283   public:
ExtensionNotPresentError(std::string const & message)6284     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6285 
ExtensionNotPresentError(char const * message)6286     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6287   };
6288 
6289   class FeatureNotPresentError : public SystemError
6290   {
6291   public:
FeatureNotPresentError(std::string const & message)6292     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6293 
FeatureNotPresentError(char const * message)6294     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6295   };
6296 
6297   class IncompatibleDriverError : public SystemError
6298   {
6299   public:
IncompatibleDriverError(std::string const & message)6300     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6301 
IncompatibleDriverError(char const * message)6302     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6303   };
6304 
6305   class TooManyObjectsError : public SystemError
6306   {
6307   public:
TooManyObjectsError(std::string const & message)6308     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6309 
TooManyObjectsError(char const * message)6310     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6311   };
6312 
6313   class FormatNotSupportedError : public SystemError
6314   {
6315   public:
FormatNotSupportedError(std::string const & message)6316     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6317 
FormatNotSupportedError(char const * message)6318     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6319   };
6320 
6321   class FragmentedPoolError : public SystemError
6322   {
6323   public:
FragmentedPoolError(std::string const & message)6324     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6325 
FragmentedPoolError(char const * message)6326     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6327   };
6328 
6329   class UnknownError : public SystemError
6330   {
6331   public:
UnknownError(std::string const & message)6332     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6333 
UnknownError(char const * message)6334     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6335   };
6336 
6337   class OutOfPoolMemoryError : public SystemError
6338   {
6339   public:
OutOfPoolMemoryError(std::string const & message)6340     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6341 
OutOfPoolMemoryError(char const * message)6342     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6343   };
6344 
6345   class InvalidExternalHandleError : public SystemError
6346   {
6347   public:
InvalidExternalHandleError(std::string const & message)6348     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6349 
InvalidExternalHandleError(char const * message)6350     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6351   };
6352 
6353   class FragmentationError : public SystemError
6354   {
6355   public:
FragmentationError(std::string const & message)6356     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6357 
FragmentationError(char const * message)6358     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6359   };
6360 
6361   class InvalidOpaqueCaptureAddressError : public SystemError
6362   {
6363   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6364     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6365 
InvalidOpaqueCaptureAddressError(char const * message)6366     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6367   };
6368 
6369   class SurfaceLostKHRError : public SystemError
6370   {
6371   public:
SurfaceLostKHRError(std::string const & message)6372     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6373 
SurfaceLostKHRError(char const * message)6374     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6375   };
6376 
6377   class NativeWindowInUseKHRError : public SystemError
6378   {
6379   public:
NativeWindowInUseKHRError(std::string const & message)6380     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6381 
NativeWindowInUseKHRError(char const * message)6382     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6383   };
6384 
6385   class OutOfDateKHRError : public SystemError
6386   {
6387   public:
OutOfDateKHRError(std::string const & message)6388     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6389 
OutOfDateKHRError(char const * message)6390     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6391   };
6392 
6393   class IncompatibleDisplayKHRError : public SystemError
6394   {
6395   public:
IncompatibleDisplayKHRError(std::string const & message)6396     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6397 
IncompatibleDisplayKHRError(char const * message)6398     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6399   };
6400 
6401   class ValidationFailedEXTError : public SystemError
6402   {
6403   public:
ValidationFailedEXTError(std::string const & message)6404     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6405 
ValidationFailedEXTError(char const * message)6406     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6407   };
6408 
6409   class InvalidShaderNVError : public SystemError
6410   {
6411   public:
InvalidShaderNVError(std::string const & message)6412     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6413 
InvalidShaderNVError(char const * message)6414     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6415   };
6416 
6417   class ImageUsageNotSupportedKHRError : public SystemError
6418   {
6419   public:
ImageUsageNotSupportedKHRError(std::string const & message)6420     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6421 
ImageUsageNotSupportedKHRError(char const * message)6422     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6423   };
6424 
6425   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6426   {
6427   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6428     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6429       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6430     {
6431     }
6432 
VideoPictureLayoutNotSupportedKHRError(char const * message)6433     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6434     {
6435     }
6436   };
6437 
6438   class VideoProfileOperationNotSupportedKHRError : public SystemError
6439   {
6440   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6441     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6442       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6443     {
6444     }
6445 
VideoProfileOperationNotSupportedKHRError(char const * message)6446     VideoProfileOperationNotSupportedKHRError( char const * message )
6447       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6448     {
6449     }
6450   };
6451 
6452   class VideoProfileFormatNotSupportedKHRError : public SystemError
6453   {
6454   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6455     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6456       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6457     {
6458     }
6459 
VideoProfileFormatNotSupportedKHRError(char const * message)6460     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6461     {
6462     }
6463   };
6464 
6465   class VideoProfileCodecNotSupportedKHRError : public SystemError
6466   {
6467   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6468     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6469       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6470     {
6471     }
6472 
VideoProfileCodecNotSupportedKHRError(char const * message)6473     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6474   };
6475 
6476   class VideoStdVersionNotSupportedKHRError : public SystemError
6477   {
6478   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6479     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6480     {
6481     }
6482 
VideoStdVersionNotSupportedKHRError(char const * message)6483     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6484   };
6485 
6486   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6487   {
6488   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6489     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6490       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6491     {
6492     }
6493 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6494     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6495       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6496     {
6497     }
6498   };
6499 
6500   class NotPermittedKHRError : public SystemError
6501   {
6502   public:
NotPermittedKHRError(std::string const & message)6503     NotPermittedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6504 
NotPermittedKHRError(char const * message)6505     NotPermittedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6506   };
6507 
6508 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6509   class FullScreenExclusiveModeLostEXTError : public SystemError
6510   {
6511   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6512     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6513     {
6514     }
6515 
FullScreenExclusiveModeLostEXTError(char const * message)6516     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6517   };
6518 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6519 
6520   class InvalidVideoStdParametersKHRError : public SystemError
6521   {
6522   public:
InvalidVideoStdParametersKHRError(std::string const & message)6523     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6524 
InvalidVideoStdParametersKHRError(char const * message)6525     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6526   };
6527 
6528   class CompressionExhaustedEXTError : public SystemError
6529   {
6530   public:
CompressionExhaustedEXTError(std::string const & message)6531     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6532 
CompressionExhaustedEXTError(char const * message)6533     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6534   };
6535 
6536   class IncompatibleShaderBinaryEXTError : public SystemError
6537   {
6538   public:
IncompatibleShaderBinaryEXTError(std::string const & message)6539     IncompatibleShaderBinaryEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
6540 
IncompatibleShaderBinaryEXTError(char const * message)6541     IncompatibleShaderBinaryEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
6542   };
6543 
6544   namespace detail
6545   {
throwResultException(Result result,char const * message)6546     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6547     {
6548       switch ( result )
6549       {
6550         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6551         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6552         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6553         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6554         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6555         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6556         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6557         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6558         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6559         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6560         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6561         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6562         case Result::eErrorUnknown: throw UnknownError( message );
6563         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6564         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6565         case Result::eErrorFragmentation: throw FragmentationError( message );
6566         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6567         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6568         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6569         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6570         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6571         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6572         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6573         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6574         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6575         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6576         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6577         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6578         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6579         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6580         case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message );
6581 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6582         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6583 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6584         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6585         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6586         case Result::eErrorIncompatibleShaderBinaryEXT: throw IncompatibleShaderBinaryEXTError( message );
6587         default: throw SystemError( make_error_code( result ), message );
6588       }
6589     }
6590   }  // namespace detail
6591 #endif
6592 
6593   template <typename T>
ignore(T const &)6594   void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6595   {
6596   }
6597 
6598   template <typename T>
6599   struct ResultValue
6600   {
6601 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6602     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6603 #else
6604     ResultValue( Result r, T & v )
6605 #endif
6606       : result( r ), value( v )
6607     {
6608     }
6609 
6610 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6611     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6612 #else
6613     ResultValue( Result r, T && v )
6614 #endif
6615       : result( r ), value( std::move( v ) )
6616     {
6617     }
6618 
6619     Result result;
6620     T      value;
6621 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6622     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6623     {
6624       return std::tuple<Result &, T &>( result, value );
6625     }
6626   };
6627 
6628 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6629   template <typename Type, typename Dispatch>
6630   struct ResultValue<UniqueHandle<Type, Dispatch>>
6631   {
6632 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6633     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6634 #  else
6635     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6636 #  endif
6637       : result( r )
6638       , value( std::move( v ) )
6639     {
6640     }
6641 
6642     VULKAN_HPP_DEPRECATED(
6643       "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." )
6644 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6645     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6646     {
6647       return std::make_tuple( result, std::move( value ) );
6648     }
6649 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6650     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6651     {
6652       return std::make_tuple( result, std::move( value ) );
6653     }
6654 
6655     Result                       result;
6656     UniqueHandle<Type, Dispatch> value;
6657   };
6658 
6659   template <typename Type, typename Dispatch>
6660   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6661   {
6662 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6663     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6664 #  else
6665     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6666 #  endif
6667       : result( r )
6668       , value( std::move( v ) )
6669     {
6670     }
6671 
6672     VULKAN_HPP_DEPRECATED(
6673       "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." )
6674 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6675     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
6676     {
6677       return std::make_tuple( result, std::move( value ) );
6678     }
6679 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6680     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
6681     {
6682       return std::make_tuple( result, std::move( value ) );
6683     }
6684 
6685     Result                                    result;
6686     std::vector<UniqueHandle<Type, Dispatch>> value;
6687   };
6688 #endif
6689 
6690   template <typename T>
6691   struct ResultValueType
6692   {
6693 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6694     typedef ResultValue<T> type;
6695 #else
6696     typedef T    type;
6697 #endif
6698   };
6699 
6700   template <>
6701   struct ResultValueType<void>
6702   {
6703 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6704     typedef Result type;
6705 #else
6706     typedef void type;
6707 #endif
6708   };
6709 
createResultValueType(Result result)6710   VULKAN_HPP_INLINE typename ResultValueType<void>::type createResultValueType( Result result )
6711   {
6712 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6713     return result;
6714 #else
6715     ignore( result );
6716 #endif
6717   }
6718 
6719   template <typename T>
createResultValueType(Result result,T & data)6720   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T & data )
6721   {
6722 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6723     return ResultValue<T>( result, data );
6724 #else
6725     ignore( result );
6726     return data;
6727 #endif
6728   }
6729 
6730   template <typename T>
createResultValueType(Result result,T && data)6731   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T && data )
6732   {
6733 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6734     return ResultValue<T>( result, std::move( data ) );
6735 #else
6736     ignore( result );
6737     return std::move( data );
6738 #endif
6739   }
6740 
resultCheck(Result result,char const * message)6741   VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
6742   {
6743 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6744     ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6745     ignore( message );
6746     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6747 #else
6748     if ( result != Result::eSuccess )
6749     {
6750       detail::throwResultException( result, message );
6751     }
6752 #endif
6753   }
6754 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)6755   VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
6756   {
6757 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6758     ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6759     ignore( message );
6760     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6761     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6762 #else
6763     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6764     {
6765       detail::throwResultException( result, message );
6766     }
6767 #endif
6768   }
6769 
6770   //===========================
6771   //=== CONSTEXPR CONSTANTs ===
6772   //===========================
6773 
6774   //=== VK_VERSION_1_0 ===
6775   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
6776   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
6777   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
6778   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
6779   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
6780   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
6781   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
6782   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
6783   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
6784   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
6785   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
6786   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
6787   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
6788   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
6789   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
6790 
6791   //=== VK_VERSION_1_1 ===
6792   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
6793   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
6794   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
6795 
6796   //=== VK_VERSION_1_2 ===
6797   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
6798   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
6799 
6800   //=== VK_KHR_device_group_creation ===
6801   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
6802 
6803   //=== VK_KHR_external_memory_capabilities ===
6804   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
6805 
6806   //=== VK_KHR_external_memory ===
6807   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
6808 
6809   //=== VK_EXT_queue_family_foreign ===
6810   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
6811 
6812 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6813   //=== VK_AMDX_shader_enqueue ===
6814   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
6815 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6816 
6817   //=== VK_KHR_ray_tracing_pipeline ===
6818   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
6819 
6820   //=== VK_NV_ray_tracing ===
6821   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
6822 
6823   //=== VK_KHR_global_priority ===
6824   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
6825 
6826   //=== VK_KHR_driver_properties ===
6827   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
6828   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
6829 
6830   //=== VK_EXT_global_priority_query ===
6831   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
6832 
6833   //=== VK_EXT_image_sliced_view_of_3d ===
6834   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
6835 
6836   //=== VK_EXT_shader_module_identifier ===
6837   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
6838 
6839   //========================
6840   //=== CONSTEXPR VALUEs ===
6841   //========================
6842   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion = VK_HEADER_VERSION;
6843 
6844   //=========================
6845   //=== CONSTEXPR CALLEEs ===
6846   //=========================
6847   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)6848   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
6849   {
6850     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
6851   }
6852 
6853   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)6854   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
6855   {
6856     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6857   }
6858 
6859   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)6860   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
6861   {
6862     return ( (uint32_t)(version)&0xFFFU );
6863   }
6864 
6865   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)6866   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
6867   {
6868     return ( (uint32_t)( version ) >> 29U );
6869   }
6870 
6871   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)6872   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
6873   {
6874     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6875   }
6876 
6877   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6878   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)6879   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
6880   {
6881     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6882   }
6883 
6884   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6885   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)6886   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
6887   {
6888     return ( (uint32_t)( version ) >> 22U );
6889   }
6890 
6891   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6892   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)6893   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
6894   {
6895     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6896   }
6897 
6898   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6899   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)6900   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
6901   {
6902     return ( (uint32_t)(version)&0xFFFU );
6903   }
6904 
6905   //=========================
6906   //=== CONSTEXPR CALLERs ===
6907   //=========================
6908   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
6909   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
6910   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
6911   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
6912   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
6913   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 3, VK_HEADER_VERSION );
6914 
6915   //=================================
6916   //=== CONSTEXPR EXTENSION NAMEs ===
6917   //=================================
6918 
6919   //=== VK_KHR_surface ===
6920   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
6921   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
6922 
6923   //=== VK_KHR_swapchain ===
6924   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
6925   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
6926 
6927   //=== VK_KHR_display ===
6928   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
6929   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
6930 
6931   //=== VK_KHR_display_swapchain ===
6932   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
6933   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
6934 
6935 #if defined( VK_USE_PLATFORM_XLIB_KHR )
6936   //=== VK_KHR_xlib_surface ===
6937   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
6938   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
6939 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
6940 
6941 #if defined( VK_USE_PLATFORM_XCB_KHR )
6942   //=== VK_KHR_xcb_surface ===
6943   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
6944   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
6945 #endif /*VK_USE_PLATFORM_XCB_KHR*/
6946 
6947 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
6948   //=== VK_KHR_wayland_surface ===
6949   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
6950   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
6951 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
6952 
6953 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6954   //=== VK_KHR_android_surface ===
6955   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
6956   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
6957 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6958 
6959 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6960   //=== VK_KHR_win32_surface ===
6961   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
6962   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
6963 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6964 
6965   //=== VK_EXT_debug_report ===
6966   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6967   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
6968   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6969   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
6970 
6971   //=== VK_NV_glsl_shader ===
6972   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6973   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
6974   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6975   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
6976 
6977   //=== VK_EXT_depth_range_unrestricted ===
6978   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
6979   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
6980 
6981   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
6982   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
6983   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
6984   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
6985   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
6986 
6987   //=== VK_IMG_filter_cubic ===
6988   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
6989   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
6990 
6991   //=== VK_AMD_rasterization_order ===
6992   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
6993   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
6994 
6995   //=== VK_AMD_shader_trinary_minmax ===
6996   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
6997   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
6998 
6999   //=== VK_AMD_shader_explicit_vertex_parameter ===
7000   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
7001   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
7002 
7003   //=== VK_EXT_debug_marker ===
7004   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
7005   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
7006   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
7007   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
7008 
7009   //=== VK_KHR_video_queue ===
7010   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
7011   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7012 
7013   //=== VK_KHR_video_decode_queue ===
7014   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7015   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7016 
7017   //=== VK_AMD_gcn_shader ===
7018   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7019   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7020 
7021   //=== VK_NV_dedicated_allocation ===
7022   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7023   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7024   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7025   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7026 
7027   //=== VK_EXT_transform_feedback ===
7028   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7029   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7030 
7031   //=== VK_NVX_binary_import ===
7032   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7033   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7034 
7035   //=== VK_NVX_image_view_handle ===
7036   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7037   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7038 
7039   //=== VK_AMD_draw_indirect_count ===
7040   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7041   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7042   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7043   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7044 
7045   //=== VK_AMD_negative_viewport_height ===
7046   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7047   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7048   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7049   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7050 
7051   //=== VK_AMD_gpu_shader_half_float ===
7052   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7053   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7054   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7055   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7056 
7057   //=== VK_AMD_shader_ballot ===
7058   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7059   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7060 
7061   //=== VK_KHR_video_encode_h264 ===
7062   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7063   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7064 
7065   //=== VK_KHR_video_encode_h265 ===
7066   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7067   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7068 
7069   //=== VK_KHR_video_decode_h264 ===
7070   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7071   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7072 
7073   //=== VK_AMD_texture_gather_bias_lod ===
7074   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7075   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7076 
7077   //=== VK_AMD_shader_info ===
7078   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7079   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7080 
7081   //=== VK_KHR_dynamic_rendering ===
7082   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7083   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7084   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7085   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7086 
7087   //=== VK_AMD_shader_image_load_store_lod ===
7088   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7089   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7090 
7091 #if defined( VK_USE_PLATFORM_GGP )
7092   //=== VK_GGP_stream_descriptor_surface ===
7093   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7094   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7095 #endif /*VK_USE_PLATFORM_GGP*/
7096 
7097   //=== VK_NV_corner_sampled_image ===
7098   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7099   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7100 
7101   //=== VK_KHR_multiview ===
7102   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7103   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7104   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7105   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion = VK_KHR_MULTIVIEW_SPEC_VERSION;
7106 
7107   //=== VK_IMG_format_pvrtc ===
7108   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7109   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7110   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7111   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7112 
7113   //=== VK_NV_external_memory_capabilities ===
7114   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7115   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7116   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7117   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7118 
7119   //=== VK_NV_external_memory ===
7120   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7121   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7122   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7123   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7124 
7125 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7126   //=== VK_NV_external_memory_win32 ===
7127   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7128   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7129   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7130   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7131 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7132 
7133 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7134   //=== VK_NV_win32_keyed_mutex ===
7135   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7136   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7137   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7138   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7139 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7140 
7141   //=== VK_KHR_get_physical_device_properties2 ===
7142   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7143   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7144   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7145   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7146 
7147   //=== VK_KHR_device_group ===
7148   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7149   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7150   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7151   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7152 
7153   //=== VK_EXT_validation_flags ===
7154   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7155   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7156   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7157   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7158 
7159 #if defined( VK_USE_PLATFORM_VI_NN )
7160   //=== VK_NN_vi_surface ===
7161   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7162   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7163 #endif /*VK_USE_PLATFORM_VI_NN*/
7164 
7165   //=== VK_KHR_shader_draw_parameters ===
7166   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7167   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7168   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7169   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7170 
7171   //=== VK_EXT_shader_subgroup_ballot ===
7172   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7173   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7174   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7175   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7176 
7177   //=== VK_EXT_shader_subgroup_vote ===
7178   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7179   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7180   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7181   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7182 
7183   //=== VK_EXT_texture_compression_astc_hdr ===
7184   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7185   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7186   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7187   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7188 
7189   //=== VK_EXT_astc_decode_mode ===
7190   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7191   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7192 
7193   //=== VK_EXT_pipeline_robustness ===
7194   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7195   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7196 
7197   //=== VK_KHR_maintenance1 ===
7198   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7199   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7200   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7201   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7202 
7203   //=== VK_KHR_device_group_creation ===
7204   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7205   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7206   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7207   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7208 
7209   //=== VK_KHR_external_memory_capabilities ===
7210   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7211   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7212   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7213   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7214 
7215   //=== VK_KHR_external_memory ===
7216   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7217   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7218   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7219   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7220 
7221 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7222   //=== VK_KHR_external_memory_win32 ===
7223   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7224   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7225 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7226 
7227   //=== VK_KHR_external_memory_fd ===
7228   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7229   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7230 
7231 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7232   //=== VK_KHR_win32_keyed_mutex ===
7233   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7234   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7235 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7236 
7237   //=== VK_KHR_external_semaphore_capabilities ===
7238   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7239   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7240   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7241   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7242 
7243   //=== VK_KHR_external_semaphore ===
7244   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7245   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7246   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7247   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7248 
7249 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7250   //=== VK_KHR_external_semaphore_win32 ===
7251   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7252   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7253 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7254 
7255   //=== VK_KHR_external_semaphore_fd ===
7256   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7257   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7258 
7259   //=== VK_KHR_push_descriptor ===
7260   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7261   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7262 
7263   //=== VK_EXT_conditional_rendering ===
7264   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7265   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7266 
7267   //=== VK_KHR_shader_float16_int8 ===
7268   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7269   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7270   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7271   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7272 
7273   //=== VK_KHR_16bit_storage ===
7274   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7275   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7276   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7277   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7278 
7279   //=== VK_KHR_incremental_present ===
7280   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7281   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7282 
7283   //=== VK_KHR_descriptor_update_template ===
7284   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7285   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7286   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7287   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7288 
7289   //=== VK_NV_clip_space_w_scaling ===
7290   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7291   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7292 
7293   //=== VK_EXT_direct_mode_display ===
7294   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7295   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7296 
7297 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7298   //=== VK_EXT_acquire_xlib_display ===
7299   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7300   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7301 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7302 
7303   //=== VK_EXT_display_surface_counter ===
7304   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7305   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7306 
7307   //=== VK_EXT_display_control ===
7308   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7309   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7310 
7311   //=== VK_GOOGLE_display_timing ===
7312   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7313   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7314 
7315   //=== VK_NV_sample_mask_override_coverage ===
7316   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7317   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7318 
7319   //=== VK_NV_geometry_shader_passthrough ===
7320   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7321   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7322 
7323   //=== VK_NV_viewport_array2 ===
7324   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7325   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7326 
7327   //=== VK_NVX_multiview_per_view_attributes ===
7328   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7329   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7330 
7331   //=== VK_NV_viewport_swizzle ===
7332   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7333   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7334 
7335   //=== VK_EXT_discard_rectangles ===
7336   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7337   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7338 
7339   //=== VK_EXT_conservative_rasterization ===
7340   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7341   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7342 
7343   //=== VK_EXT_depth_clip_enable ===
7344   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7345   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7346 
7347   //=== VK_EXT_swapchain_colorspace ===
7348   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7349   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7350 
7351   //=== VK_EXT_hdr_metadata ===
7352   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7353   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7354 
7355   //=== VK_KHR_imageless_framebuffer ===
7356   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7357   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7358   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7359   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7360 
7361   //=== VK_KHR_create_renderpass2 ===
7362   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7363   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7364   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7365   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7366 
7367   //=== VK_IMG_relaxed_line_rasterization ===
7368   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7369   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7370 
7371   //=== VK_KHR_shared_presentable_image ===
7372   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7373   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7374 
7375   //=== VK_KHR_external_fence_capabilities ===
7376   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7377   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7378   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7379   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7380 
7381   //=== VK_KHR_external_fence ===
7382   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7383   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7384   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7385   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7386 
7387 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7388   //=== VK_KHR_external_fence_win32 ===
7389   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7390   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7391 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7392 
7393   //=== VK_KHR_external_fence_fd ===
7394   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7395   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7396 
7397   //=== VK_KHR_performance_query ===
7398   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7399   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7400 
7401   //=== VK_KHR_maintenance2 ===
7402   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7403   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7404   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7405   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7406 
7407   //=== VK_KHR_get_surface_capabilities2 ===
7408   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7409   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7410 
7411   //=== VK_KHR_variable_pointers ===
7412   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7413   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7414   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7415   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7416 
7417   //=== VK_KHR_get_display_properties2 ===
7418   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7419   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7420 
7421 #if defined( VK_USE_PLATFORM_IOS_MVK )
7422   //=== VK_MVK_ios_surface ===
7423   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7424   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7425   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7426   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7427 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7428 
7429 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7430   //=== VK_MVK_macos_surface ===
7431   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7432   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7433   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7434   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7435 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7436 
7437   //=== VK_EXT_external_memory_dma_buf ===
7438   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7439   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7440 
7441   //=== VK_EXT_queue_family_foreign ===
7442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7443   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7444 
7445   //=== VK_KHR_dedicated_allocation ===
7446   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7447   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7448   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7449   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7450 
7451   //=== VK_EXT_debug_utils ===
7452   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7453   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7454 
7455 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7456   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7457   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7458   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7459 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7460 
7461   //=== VK_EXT_sampler_filter_minmax ===
7462   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7464   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7465   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7466 
7467   //=== VK_KHR_storage_buffer_storage_class ===
7468   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7469   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7470   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7471   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7472 
7473   //=== VK_AMD_gpu_shader_int16 ===
7474   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7475   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7476   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7477   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7478 
7479 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7480   //=== VK_AMDX_shader_enqueue ===
7481   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7482   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7483 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7484 
7485   //=== VK_AMD_mixed_attachment_samples ===
7486   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7487   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7488 
7489   //=== VK_AMD_shader_fragment_mask ===
7490   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7491   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7492 
7493   //=== VK_EXT_inline_uniform_block ===
7494   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7495   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7496   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7497   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7498 
7499   //=== VK_EXT_shader_stencil_export ===
7500   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7501   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7502 
7503   //=== VK_EXT_sample_locations ===
7504   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7505   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7506 
7507   //=== VK_KHR_relaxed_block_layout ===
7508   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7509   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7510   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7511   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7512 
7513   //=== VK_KHR_get_memory_requirements2 ===
7514   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7515   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7516   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7517   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7518 
7519   //=== VK_KHR_image_format_list ===
7520   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7521   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7522   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7523   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7524 
7525   //=== VK_EXT_blend_operation_advanced ===
7526   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7527   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7528 
7529   //=== VK_NV_fragment_coverage_to_color ===
7530   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7531   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7532 
7533   //=== VK_KHR_acceleration_structure ===
7534   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7535   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7536 
7537   //=== VK_KHR_ray_tracing_pipeline ===
7538   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7539   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7540 
7541   //=== VK_KHR_ray_query ===
7542   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7543   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7544 
7545   //=== VK_NV_framebuffer_mixed_samples ===
7546   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7547   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7548 
7549   //=== VK_NV_fill_rectangle ===
7550   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7551   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7552 
7553   //=== VK_NV_shader_sm_builtins ===
7554   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7555   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7556 
7557   //=== VK_EXT_post_depth_coverage ===
7558   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7559   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7560 
7561   //=== VK_KHR_sampler_ycbcr_conversion ===
7562   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7563   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7564   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7565   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7566 
7567   //=== VK_KHR_bind_memory2 ===
7568   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7569   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7570   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7571   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7572 
7573   //=== VK_EXT_image_drm_format_modifier ===
7574   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7575   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7576 
7577   //=== VK_EXT_validation_cache ===
7578   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7579   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7580 
7581   //=== VK_EXT_descriptor_indexing ===
7582   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7583   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7584   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7585   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7586 
7587   //=== VK_EXT_shader_viewport_index_layer ===
7588   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7589   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7590   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7591   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7592 
7593 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7594   //=== VK_KHR_portability_subset ===
7595   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7596   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7597 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7598 
7599   //=== VK_NV_shading_rate_image ===
7600   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7601   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7602 
7603   //=== VK_NV_ray_tracing ===
7604   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7605   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion   = VK_NV_RAY_TRACING_SPEC_VERSION;
7606 
7607   //=== VK_NV_representative_fragment_test ===
7608   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7609   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7610 
7611   //=== VK_KHR_maintenance3 ===
7612   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7613   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7614   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7615   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7616 
7617   //=== VK_KHR_draw_indirect_count ===
7618   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7619   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7620   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7621   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7622 
7623   //=== VK_EXT_filter_cubic ===
7624   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7625   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7626 
7627   //=== VK_QCOM_render_pass_shader_resolve ===
7628   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7629   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7630 
7631   //=== VK_EXT_global_priority ===
7632   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7633   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7634   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7635   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7636 
7637   //=== VK_KHR_shader_subgroup_extended_types ===
7638   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7639   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7640   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7641   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7642 
7643   //=== VK_KHR_8bit_storage ===
7644   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7645   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7646   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7647   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7648 
7649   //=== VK_EXT_external_memory_host ===
7650   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7651   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7652 
7653   //=== VK_AMD_buffer_marker ===
7654   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7655   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7656 
7657   //=== VK_KHR_shader_atomic_int64 ===
7658   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7659   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7660   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7661   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7662 
7663   //=== VK_KHR_shader_clock ===
7664   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7665   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7666 
7667   //=== VK_AMD_pipeline_compiler_control ===
7668   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7669   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7670 
7671   //=== VK_EXT_calibrated_timestamps ===
7672   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7673   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7674   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7675   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7676 
7677   //=== VK_AMD_shader_core_properties ===
7678   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7679   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7680 
7681   //=== VK_KHR_video_decode_h265 ===
7682   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7683   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7684 
7685   //=== VK_KHR_global_priority ===
7686   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7687   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7688 
7689   //=== VK_AMD_memory_overallocation_behavior ===
7690   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7691   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7692 
7693   //=== VK_EXT_vertex_attribute_divisor ===
7694   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7696   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7697   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7698 
7699 #if defined( VK_USE_PLATFORM_GGP )
7700   //=== VK_GGP_frame_token ===
7701   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7702   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7703 #endif /*VK_USE_PLATFORM_GGP*/
7704 
7705   //=== VK_EXT_pipeline_creation_feedback ===
7706   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7707   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7708   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7709   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7710 
7711   //=== VK_KHR_driver_properties ===
7712   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7713   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
7714   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7715   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
7716 
7717   //=== VK_KHR_shader_float_controls ===
7718   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7719   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
7720   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7721   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
7722 
7723   //=== VK_NV_shader_subgroup_partitioned ===
7724   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
7725   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
7726 
7727   //=== VK_KHR_depth_stencil_resolve ===
7728   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7729   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
7730   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7731   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
7732 
7733   //=== VK_KHR_swapchain_mutable_format ===
7734   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
7735   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
7736 
7737   //=== VK_NV_compute_shader_derivatives ===
7738   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
7739   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
7740 
7741   //=== VK_NV_mesh_shader ===
7742   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
7743   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
7744 
7745   //=== VK_NV_fragment_shader_barycentric ===
7746   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7747   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
7748   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7749   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
7750 
7751   //=== VK_NV_shader_image_footprint ===
7752   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
7753   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
7754 
7755   //=== VK_NV_scissor_exclusive ===
7756   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
7757   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
7758 
7759   //=== VK_NV_device_diagnostic_checkpoints ===
7760   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
7761   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
7762 
7763   //=== VK_KHR_timeline_semaphore ===
7764   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7765   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
7766   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7767   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
7768 
7769   //=== VK_INTEL_shader_integer_functions2 ===
7770   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
7771   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
7772 
7773   //=== VK_INTEL_performance_query ===
7774   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
7775   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
7776 
7777   //=== VK_KHR_vulkan_memory_model ===
7778   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7779   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
7780   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7781   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
7782 
7783   //=== VK_EXT_pci_bus_info ===
7784   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
7785   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
7786 
7787   //=== VK_AMD_display_native_hdr ===
7788   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
7789   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
7790 
7791 #if defined( VK_USE_PLATFORM_FUCHSIA )
7792   //=== VK_FUCHSIA_imagepipe_surface ===
7793   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
7794   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
7795 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7796 
7797   //=== VK_KHR_shader_terminate_invocation ===
7798   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7799   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
7800   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7801   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
7802 
7803 #if defined( VK_USE_PLATFORM_METAL_EXT )
7804   //=== VK_EXT_metal_surface ===
7805   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
7806   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
7807 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7808 
7809   //=== VK_EXT_fragment_density_map ===
7810   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
7811   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
7812 
7813   //=== VK_EXT_scalar_block_layout ===
7814   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7815   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
7816   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7817   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
7818 
7819   //=== VK_GOOGLE_hlsl_functionality1 ===
7820   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
7821   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
7822 
7823   //=== VK_GOOGLE_decorate_string ===
7824   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
7825   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
7826 
7827   //=== VK_EXT_subgroup_size_control ===
7828   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7829   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
7830   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7831   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
7832 
7833   //=== VK_KHR_fragment_shading_rate ===
7834   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
7835   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
7836 
7837   //=== VK_AMD_shader_core_properties2 ===
7838   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
7839   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
7840 
7841   //=== VK_AMD_device_coherent_memory ===
7842   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
7843   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
7844 
7845   //=== VK_EXT_shader_image_atomic_int64 ===
7846   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
7847   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
7848 
7849   //=== VK_KHR_spirv_1_4 ===
7850   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7851   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
7852   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7853   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion = VK_KHR_SPIRV_1_4_SPEC_VERSION;
7854 
7855   //=== VK_EXT_memory_budget ===
7856   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
7857   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
7858 
7859   //=== VK_EXT_memory_priority ===
7860   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
7861   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
7862 
7863   //=== VK_KHR_surface_protected_capabilities ===
7864   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
7865   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
7866 
7867   //=== VK_NV_dedicated_allocation_image_aliasing ===
7868   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
7869   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
7870 
7871   //=== VK_KHR_separate_depth_stencil_layouts ===
7872   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7873   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
7874   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7875   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
7876 
7877   //=== VK_EXT_buffer_device_address ===
7878   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7879   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7880   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7881   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7882 
7883   //=== VK_EXT_tooling_info ===
7884   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7885   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
7886   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7887   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion = VK_EXT_TOOLING_INFO_SPEC_VERSION;
7888 
7889   //=== VK_EXT_separate_stencil_usage ===
7890   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7891   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
7892   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7893   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
7894 
7895   //=== VK_EXT_validation_features ===
7896   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7897   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
7898   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7899   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
7900 
7901   //=== VK_KHR_present_wait ===
7902   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
7903   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
7904 
7905   //=== VK_NV_cooperative_matrix ===
7906   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
7907   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
7908 
7909   //=== VK_NV_coverage_reduction_mode ===
7910   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
7911   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
7912 
7913   //=== VK_EXT_fragment_shader_interlock ===
7914   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
7915   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
7916 
7917   //=== VK_EXT_ycbcr_image_arrays ===
7918   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
7919   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
7920 
7921   //=== VK_KHR_uniform_buffer_standard_layout ===
7922   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7923   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
7924   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7925   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
7926 
7927   //=== VK_EXT_provoking_vertex ===
7928   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
7929   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
7930 
7931 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7932   //=== VK_EXT_full_screen_exclusive ===
7933   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
7934   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
7935 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7936 
7937   //=== VK_EXT_headless_surface ===
7938   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
7939   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
7940 
7941   //=== VK_KHR_buffer_device_address ===
7942   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7943   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7944   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7945   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7946 
7947   //=== VK_EXT_line_rasterization ===
7948   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
7949   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion   = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
7950 
7951   //=== VK_EXT_shader_atomic_float ===
7952   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
7953   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
7954 
7955   //=== VK_EXT_host_query_reset ===
7956   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7957   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
7958   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7959   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
7960 
7961   //=== VK_EXT_index_type_uint8 ===
7962   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
7963   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion   = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
7964 
7965   //=== VK_EXT_extended_dynamic_state ===
7966   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
7967   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
7968   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
7969   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
7970 
7971   //=== VK_KHR_deferred_host_operations ===
7972   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
7973   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
7974 
7975   //=== VK_KHR_pipeline_executable_properties ===
7976   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
7977   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
7978 
7979   //=== VK_EXT_host_image_copy ===
7980   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
7981   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
7982 
7983   //=== VK_KHR_map_memory2 ===
7984   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
7985   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
7986 
7987   //=== VK_EXT_shader_atomic_float2 ===
7988   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
7989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
7990 
7991   //=== VK_EXT_surface_maintenance1 ===
7992   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
7993   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
7994 
7995   //=== VK_EXT_swapchain_maintenance1 ===
7996   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
7997   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
7998 
7999   //=== VK_EXT_shader_demote_to_helper_invocation ===
8000   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
8001   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
8002   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
8003   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
8004 
8005   //=== VK_NV_device_generated_commands ===
8006   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8007   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8008 
8009   //=== VK_NV_inherited_viewport_scissor ===
8010   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
8011   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8012 
8013   //=== VK_KHR_shader_integer_dot_product ===
8014   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8015   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8016   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8017   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8018 
8019   //=== VK_EXT_texel_buffer_alignment ===
8020   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8021   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8022   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8023   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8024 
8025   //=== VK_QCOM_render_pass_transform ===
8026   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8027   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8028 
8029   //=== VK_EXT_depth_bias_control ===
8030   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8031   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8032 
8033   //=== VK_EXT_device_memory_report ===
8034   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8035   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8036 
8037   //=== VK_EXT_acquire_drm_display ===
8038   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8039   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8040 
8041   //=== VK_EXT_robustness2 ===
8042   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8043   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8044 
8045   //=== VK_EXT_custom_border_color ===
8046   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8047   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8048 
8049   //=== VK_GOOGLE_user_type ===
8050   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8051   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8052 
8053   //=== VK_KHR_pipeline_library ===
8054   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8055   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8056 
8057   //=== VK_NV_present_barrier ===
8058   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8059   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8060 
8061   //=== VK_KHR_shader_non_semantic_info ===
8062   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8063   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8064   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8065   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8066 
8067   //=== VK_KHR_present_id ===
8068   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8069   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8070 
8071   //=== VK_EXT_private_data ===
8072   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8073   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8074   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8075   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8076 
8077   //=== VK_EXT_pipeline_creation_cache_control ===
8078   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8079   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8080   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8081   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8082 
8083   //=== VK_KHR_video_encode_queue ===
8084   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8085   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8086 
8087   //=== VK_NV_device_diagnostics_config ===
8088   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8089   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8090 
8091   //=== VK_QCOM_render_pass_store_ops ===
8092   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8093   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8094 
8095 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8096   //=== VK_NV_cuda_kernel_launch ===
8097   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8098   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8099 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8100 
8101   //=== VK_NV_low_latency ===
8102   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8103   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8104 
8105 #if defined( VK_USE_PLATFORM_METAL_EXT )
8106   //=== VK_EXT_metal_objects ===
8107   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8108   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8109 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8110 
8111   //=== VK_KHR_synchronization2 ===
8112   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8113   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8114   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8115   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8116 
8117   //=== VK_EXT_descriptor_buffer ===
8118   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8119   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8120 
8121   //=== VK_EXT_graphics_pipeline_library ===
8122   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8123   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8124 
8125   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8126   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8127   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8128 
8129   //=== VK_KHR_fragment_shader_barycentric ===
8130   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8131   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8132 
8133   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8134   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8135   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8136 
8137   //=== VK_KHR_zero_initialize_workgroup_memory ===
8138   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8139   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8140   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8141   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8142 
8143   //=== VK_NV_fragment_shading_rate_enums ===
8144   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8145   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8146 
8147   //=== VK_NV_ray_tracing_motion_blur ===
8148   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8149   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8150 
8151   //=== VK_EXT_mesh_shader ===
8152   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8153   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8154 
8155   //=== VK_EXT_ycbcr_2plane_444_formats ===
8156   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8157   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8158   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8159   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8160 
8161   //=== VK_EXT_fragment_density_map2 ===
8162   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8163   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8164 
8165   //=== VK_QCOM_rotated_copy_commands ===
8166   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8167   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8168 
8169   //=== VK_EXT_image_robustness ===
8170   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8171   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8172   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8173   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8174 
8175   //=== VK_KHR_workgroup_memory_explicit_layout ===
8176   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8177   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8178 
8179   //=== VK_KHR_copy_commands2 ===
8180   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8181   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8182   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8183   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8184 
8185   //=== VK_EXT_image_compression_control ===
8186   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8187   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8188 
8189   //=== VK_EXT_attachment_feedback_loop_layout ===
8190   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8191   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8192 
8193   //=== VK_EXT_4444_formats ===
8194   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8195   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8196   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8197   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion = VK_EXT_4444_FORMATS_SPEC_VERSION;
8198 
8199   //=== VK_EXT_device_fault ===
8200   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8201   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8202 
8203   //=== VK_ARM_rasterization_order_attachment_access ===
8204   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8205   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8206   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8207   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8208 
8209   //=== VK_EXT_rgba10x6_formats ===
8210   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8211   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8212 
8213 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8214   //=== VK_NV_acquire_winrt_display ===
8215   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8216   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8217 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8218 
8219 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8220   //=== VK_EXT_directfb_surface ===
8221   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8222   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8223 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8224 
8225   //=== VK_VALVE_mutable_descriptor_type ===
8226   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8227   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8228   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8229   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8230 
8231   //=== VK_EXT_vertex_input_dynamic_state ===
8232   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8233   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8234 
8235   //=== VK_EXT_physical_device_drm ===
8236   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8237   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8238 
8239   //=== VK_EXT_device_address_binding_report ===
8240   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8241   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8242 
8243   //=== VK_EXT_depth_clip_control ===
8244   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8245   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8246 
8247   //=== VK_EXT_primitive_topology_list_restart ===
8248   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8249   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8250 
8251   //=== VK_KHR_format_feature_flags2 ===
8252   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8253   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8254   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8255   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8256 
8257 #if defined( VK_USE_PLATFORM_FUCHSIA )
8258   //=== VK_FUCHSIA_external_memory ===
8259   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8260   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8261 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8262 
8263 #if defined( VK_USE_PLATFORM_FUCHSIA )
8264   //=== VK_FUCHSIA_external_semaphore ===
8265   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8266   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8267 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8268 
8269 #if defined( VK_USE_PLATFORM_FUCHSIA )
8270   //=== VK_FUCHSIA_buffer_collection ===
8271   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8272   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8273 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8274 
8275   //=== VK_HUAWEI_subpass_shading ===
8276   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8277   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8278 
8279   //=== VK_HUAWEI_invocation_mask ===
8280   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8281   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8282 
8283   //=== VK_NV_external_memory_rdma ===
8284   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8285   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8286 
8287   //=== VK_EXT_pipeline_properties ===
8288   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8289   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8290 
8291   //=== VK_EXT_frame_boundary ===
8292   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8293   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8294 
8295   //=== VK_EXT_multisampled_render_to_single_sampled ===
8296   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8297   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8298 
8299   //=== VK_EXT_extended_dynamic_state2 ===
8300   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8301   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8302   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8303   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8304 
8305 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8306   //=== VK_QNX_screen_surface ===
8307   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8308   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8309 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8310 
8311   //=== VK_EXT_color_write_enable ===
8312   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8313   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8314 
8315   //=== VK_EXT_primitives_generated_query ===
8316   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8317   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8318 
8319   //=== VK_KHR_ray_tracing_maintenance1 ===
8320   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8321   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8322 
8323   //=== VK_EXT_global_priority_query ===
8324   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8325   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8326   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8327   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8328 
8329   //=== VK_EXT_image_view_min_lod ===
8330   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8331   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8332 
8333   //=== VK_EXT_multi_draw ===
8334   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8335   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8336 
8337   //=== VK_EXT_image_2d_view_of_3d ===
8338   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8339   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8340 
8341   //=== VK_KHR_portability_enumeration ===
8342   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8343   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8344 
8345   //=== VK_EXT_shader_tile_image ===
8346   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8347   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8348 
8349   //=== VK_EXT_opacity_micromap ===
8350   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8351   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8352 
8353 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8354   //=== VK_NV_displacement_micromap ===
8355   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8356   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8357 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8358 
8359   //=== VK_EXT_load_store_op_none ===
8360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion   = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8362 
8363   //=== VK_HUAWEI_cluster_culling_shader ===
8364   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8365   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8366 
8367   //=== VK_EXT_border_color_swizzle ===
8368   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8369   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8370 
8371   //=== VK_EXT_pageable_device_local_memory ===
8372   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8373   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8374 
8375   //=== VK_KHR_maintenance4 ===
8376   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8377   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8378   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8379   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8380 
8381   //=== VK_ARM_shader_core_properties ===
8382   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8383   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8384 
8385   //=== VK_ARM_scheduling_controls ===
8386   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8387   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8388 
8389   //=== VK_EXT_image_sliced_view_of_3d ===
8390   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8391   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8392 
8393   //=== VK_VALVE_descriptor_set_host_mapping ===
8394   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8395   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8396 
8397   //=== VK_EXT_depth_clamp_zero_one ===
8398   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8399   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8400 
8401   //=== VK_EXT_non_seamless_cube_map ===
8402   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8403   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8404 
8405   //=== VK_ARM_render_pass_striped ===
8406   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8407   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8408 
8409   //=== VK_QCOM_fragment_density_map_offset ===
8410   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8411   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8412 
8413   //=== VK_NV_copy_memory_indirect ===
8414   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8415   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8416 
8417   //=== VK_NV_memory_decompression ===
8418   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8419   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8420 
8421   //=== VK_NV_device_generated_commands_compute ===
8422   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8423   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8424 
8425   //=== VK_NV_linear_color_attachment ===
8426   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8427   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8428 
8429   //=== VK_GOOGLE_surfaceless_query ===
8430   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8431   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8432 
8433   //=== VK_EXT_image_compression_control_swapchain ===
8434   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8435   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8436 
8437   //=== VK_QCOM_image_processing ===
8438   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8439   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8440 
8441   //=== VK_EXT_nested_command_buffer ===
8442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8443   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8444 
8445   //=== VK_EXT_external_memory_acquire_unmodified ===
8446   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8447   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8448 
8449   //=== VK_EXT_extended_dynamic_state3 ===
8450   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8451   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8452 
8453   //=== VK_EXT_subpass_merge_feedback ===
8454   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8455   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8456 
8457   //=== VK_LUNARG_direct_driver_loading ===
8458   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8459   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8460 
8461   //=== VK_EXT_shader_module_identifier ===
8462   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8464 
8465   //=== VK_EXT_rasterization_order_attachment_access ===
8466   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8467   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8468 
8469   //=== VK_NV_optical_flow ===
8470   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8471   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8472 
8473   //=== VK_EXT_legacy_dithering ===
8474   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8475   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8476 
8477   //=== VK_EXT_pipeline_protected_access ===
8478   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8479   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8480 
8481 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8482   //=== VK_ANDROID_external_format_resolve ===
8483   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8484   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8485 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8486 
8487   //=== VK_KHR_maintenance5 ===
8488   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8489   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8490 
8491   //=== VK_KHR_ray_tracing_position_fetch ===
8492   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8493   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8494 
8495   //=== VK_EXT_shader_object ===
8496   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8497   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8498 
8499   //=== VK_QCOM_tile_properties ===
8500   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8501   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8502 
8503   //=== VK_SEC_amigo_profiling ===
8504   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8505   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8506 
8507   //=== VK_QCOM_multiview_per_view_viewports ===
8508   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8509   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8510 
8511   //=== VK_NV_ray_tracing_invocation_reorder ===
8512   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8513   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8514 
8515   //=== VK_NV_extended_sparse_address_space ===
8516   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8517   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8518 
8519   //=== VK_EXT_mutable_descriptor_type ===
8520   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8521   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8522 
8523   //=== VK_EXT_layer_settings ===
8524   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8525   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8526 
8527   //=== VK_ARM_shader_core_builtins ===
8528   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8529   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8530 
8531   //=== VK_EXT_pipeline_library_group_handles ===
8532   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8533   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8534 
8535   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8536   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8537   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8538 
8539   //=== VK_NV_low_latency2 ===
8540   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8541   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8542 
8543   //=== VK_KHR_cooperative_matrix ===
8544   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8545   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8546 
8547   //=== VK_QCOM_multiview_per_view_render_areas ===
8548   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8549   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8550 
8551   //=== VK_KHR_video_maintenance1 ===
8552   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8553   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8554 
8555   //=== VK_NV_per_stage_descriptor_set ===
8556   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8557   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8558 
8559   //=== VK_QCOM_image_processing2 ===
8560   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8561   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8562 
8563   //=== VK_QCOM_filter_cubic_weights ===
8564   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8565   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8566 
8567   //=== VK_QCOM_ycbcr_degamma ===
8568   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8569   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8570 
8571   //=== VK_QCOM_filter_cubic_clamp ===
8572   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8573   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8574 
8575   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8576   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8577   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8578 
8579   //=== VK_KHR_vertex_attribute_divisor ===
8580   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8581   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8582 
8583 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8584   //=== VK_QNX_external_memory_screen_buffer ===
8585   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8586   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8587 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8588 
8589   //=== VK_MSFT_layered_driver ===
8590   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8591   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8592 
8593   //=== VK_KHR_calibrated_timestamps ===
8594   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8595   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8596 
8597   //=== VK_KHR_maintenance6 ===
8598   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8599   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8600 
8601   //=== VK_NV_descriptor_pool_overallocation ===
8602   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8603   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8604 
8605 }  // namespace VULKAN_HPP_NAMESPACE
8606 
8607 // clang-format off
8608 #include <vulkan/vulkan_handles.hpp>
8609 #include <vulkan/vulkan_structs.hpp>
8610 #include <vulkan/vulkan_funcs.hpp>
8611 
8612 // clang-format on
8613 
8614 namespace VULKAN_HPP_NAMESPACE
8615 {
8616 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8617 
8618   //=======================
8619   //=== STRUCTS EXTENDS ===
8620   //=======================
8621 
8622   //=== VK_VERSION_1_0 ===
8623   template <>
8624   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
8625   {
8626     enum
8627     {
8628       value = true
8629     };
8630   };
8631 
8632   template <>
8633   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfoKHR>
8634   {
8635     enum
8636     {
8637       value = true
8638     };
8639   };
8640 
8641   template <>
8642   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfoKHR>
8643   {
8644     enum
8645     {
8646       value = true
8647     };
8648   };
8649 
8650   template <>
8651   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfoKHR>
8652   {
8653     enum
8654     {
8655       value = true
8656     };
8657   };
8658 
8659   template <>
8660   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfoKHR>
8661   {
8662     enum
8663     {
8664       value = true
8665     };
8666   };
8667 
8668   template <>
8669   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
8670   {
8671     enum
8672     {
8673       value = true
8674     };
8675   };
8676 
8677   template <>
8678   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
8679   {
8680     enum
8681     {
8682       value = true
8683     };
8684   };
8685 
8686   //=== VK_VERSION_1_1 ===
8687   template <>
8688   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8689   {
8690     enum
8691     {
8692       value = true
8693     };
8694   };
8695 
8696   template <>
8697   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
8698   {
8699     enum
8700     {
8701       value = true
8702     };
8703   };
8704 
8705   template <>
8706   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
8707   {
8708     enum
8709     {
8710       value = true
8711     };
8712   };
8713 
8714   template <>
8715   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
8716   {
8717     enum
8718     {
8719       value = true
8720     };
8721   };
8722 
8723   template <>
8724   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
8725   {
8726     enum
8727     {
8728       value = true
8729     };
8730   };
8731 
8732   template <>
8733   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
8734   {
8735     enum
8736     {
8737       value = true
8738     };
8739   };
8740 
8741   template <>
8742   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
8743   {
8744     enum
8745     {
8746       value = true
8747     };
8748   };
8749 
8750   template <>
8751   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
8752   {
8753     enum
8754     {
8755       value = true
8756     };
8757   };
8758 
8759   template <>
8760   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
8761   {
8762     enum
8763     {
8764       value = true
8765     };
8766   };
8767 
8768   template <>
8769   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
8770   {
8771     enum
8772     {
8773       value = true
8774     };
8775   };
8776 
8777   template <>
8778   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
8779   {
8780     enum
8781     {
8782       value = true
8783     };
8784   };
8785 
8786   template <>
8787   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
8788   {
8789     enum
8790     {
8791       value = true
8792     };
8793   };
8794 
8795   template <>
8796   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
8797   {
8798     enum
8799     {
8800       value = true
8801     };
8802   };
8803 
8804   template <>
8805   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
8806   {
8807     enum
8808     {
8809       value = true
8810     };
8811   };
8812 
8813   template <>
8814   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
8815   {
8816     enum
8817     {
8818       value = true
8819     };
8820   };
8821 
8822   template <>
8823   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
8824   {
8825     enum
8826     {
8827       value = true
8828     };
8829   };
8830 
8831   template <>
8832   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
8833   {
8834     enum
8835     {
8836       value = true
8837     };
8838   };
8839 
8840   template <>
8841   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
8842   {
8843     enum
8844     {
8845       value = true
8846     };
8847   };
8848 
8849   template <>
8850   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
8851   {
8852     enum
8853     {
8854       value = true
8855     };
8856   };
8857 
8858   template <>
8859   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
8860   {
8861     enum
8862     {
8863       value = true
8864     };
8865   };
8866 
8867   template <>
8868   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
8869   {
8870     enum
8871     {
8872       value = true
8873     };
8874   };
8875 
8876   template <>
8877   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
8878   {
8879     enum
8880     {
8881       value = true
8882     };
8883   };
8884 
8885   template <>
8886   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
8887   {
8888     enum
8889     {
8890       value = true
8891     };
8892   };
8893 
8894   template <>
8895   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
8896   {
8897     enum
8898     {
8899       value = true
8900     };
8901   };
8902 
8903   template <>
8904   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
8905   {
8906     enum
8907     {
8908       value = true
8909     };
8910   };
8911 
8912   template <>
8913   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
8914   {
8915     enum
8916     {
8917       value = true
8918     };
8919   };
8920 
8921   template <>
8922   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
8923   {
8924     enum
8925     {
8926       value = true
8927     };
8928   };
8929 
8930   template <>
8931   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
8932   {
8933     enum
8934     {
8935       value = true
8936     };
8937   };
8938 
8939   template <>
8940   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
8941   {
8942     enum
8943     {
8944       value = true
8945     };
8946   };
8947 
8948   template <>
8949   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
8950   {
8951     enum
8952     {
8953       value = true
8954     };
8955   };
8956 
8957   template <>
8958   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
8959   {
8960     enum
8961     {
8962       value = true
8963     };
8964   };
8965 
8966   template <>
8967   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
8968   {
8969     enum
8970     {
8971       value = true
8972     };
8973   };
8974 
8975   template <>
8976   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
8977   {
8978     enum
8979     {
8980       value = true
8981     };
8982   };
8983 
8984   template <>
8985   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
8986   {
8987     enum
8988     {
8989       value = true
8990     };
8991   };
8992 
8993   template <>
8994   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
8995   {
8996     enum
8997     {
8998       value = true
8999     };
9000   };
9001 
9002   template <>
9003   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9004   {
9005     enum
9006     {
9007       value = true
9008     };
9009   };
9010 
9011   template <>
9012   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9013   {
9014     enum
9015     {
9016       value = true
9017     };
9018   };
9019 
9020   template <>
9021   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9022   {
9023     enum
9024     {
9025       value = true
9026     };
9027   };
9028 
9029   template <>
9030   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9031   {
9032     enum
9033     {
9034       value = true
9035     };
9036   };
9037 
9038   template <>
9039   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9040   {
9041     enum
9042     {
9043       value = true
9044     };
9045   };
9046 
9047   template <>
9048   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9049   {
9050     enum
9051     {
9052       value = true
9053     };
9054   };
9055 
9056   template <>
9057   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9058   {
9059     enum
9060     {
9061       value = true
9062     };
9063   };
9064 
9065   template <>
9066   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9067   {
9068     enum
9069     {
9070       value = true
9071     };
9072   };
9073 
9074   template <>
9075   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9076   {
9077     enum
9078     {
9079       value = true
9080     };
9081   };
9082 
9083   template <>
9084   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9085   {
9086     enum
9087     {
9088       value = true
9089     };
9090   };
9091 
9092   template <>
9093   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9094   {
9095     enum
9096     {
9097       value = true
9098     };
9099   };
9100 
9101   template <>
9102   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9103   {
9104     enum
9105     {
9106       value = true
9107     };
9108   };
9109 
9110   //=== VK_VERSION_1_2 ===
9111   template <>
9112   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9113   {
9114     enum
9115     {
9116       value = true
9117     };
9118   };
9119 
9120   template <>
9121   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9122   {
9123     enum
9124     {
9125       value = true
9126     };
9127   };
9128 
9129   template <>
9130   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9131   {
9132     enum
9133     {
9134       value = true
9135     };
9136   };
9137 
9138   template <>
9139   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9140   {
9141     enum
9142     {
9143       value = true
9144     };
9145   };
9146 
9147   template <>
9148   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9149   {
9150     enum
9151     {
9152       value = true
9153     };
9154   };
9155 
9156   template <>
9157   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9158   {
9159     enum
9160     {
9161       value = true
9162     };
9163   };
9164 
9165   template <>
9166   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9167   {
9168     enum
9169     {
9170       value = true
9171     };
9172   };
9173 
9174   template <>
9175   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9176   {
9177     enum
9178     {
9179       value = true
9180     };
9181   };
9182 
9183   template <>
9184   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9185   {
9186     enum
9187     {
9188       value = true
9189     };
9190   };
9191 
9192   template <>
9193   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9194   {
9195     enum
9196     {
9197       value = true
9198     };
9199   };
9200 
9201   template <>
9202   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9203   {
9204     enum
9205     {
9206       value = true
9207     };
9208   };
9209 
9210   template <>
9211   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9212   {
9213     enum
9214     {
9215       value = true
9216     };
9217   };
9218 
9219   template <>
9220   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9221   {
9222     enum
9223     {
9224       value = true
9225     };
9226   };
9227 
9228   template <>
9229   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9230   {
9231     enum
9232     {
9233       value = true
9234     };
9235   };
9236 
9237   template <>
9238   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9239   {
9240     enum
9241     {
9242       value = true
9243     };
9244   };
9245 
9246   template <>
9247   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9248   {
9249     enum
9250     {
9251       value = true
9252     };
9253   };
9254 
9255   template <>
9256   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9257   {
9258     enum
9259     {
9260       value = true
9261     };
9262   };
9263 
9264   template <>
9265   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9266   {
9267     enum
9268     {
9269       value = true
9270     };
9271   };
9272 
9273   template <>
9274   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9275   {
9276     enum
9277     {
9278       value = true
9279     };
9280   };
9281 
9282   template <>
9283   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9284   {
9285     enum
9286     {
9287       value = true
9288     };
9289   };
9290 
9291   template <>
9292   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9293   {
9294     enum
9295     {
9296       value = true
9297     };
9298   };
9299 
9300   template <>
9301   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9302   {
9303     enum
9304     {
9305       value = true
9306     };
9307   };
9308 
9309   template <>
9310   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9311   {
9312     enum
9313     {
9314       value = true
9315     };
9316   };
9317 
9318   template <>
9319   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9320   {
9321     enum
9322     {
9323       value = true
9324     };
9325   };
9326 
9327   template <>
9328   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9329   {
9330     enum
9331     {
9332       value = true
9333     };
9334   };
9335 
9336   template <>
9337   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9338   {
9339     enum
9340     {
9341       value = true
9342     };
9343   };
9344 
9345   template <>
9346   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9347   {
9348     enum
9349     {
9350       value = true
9351     };
9352   };
9353 
9354   template <>
9355   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9356   {
9357     enum
9358     {
9359       value = true
9360     };
9361   };
9362 
9363   template <>
9364   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9365   {
9366     enum
9367     {
9368       value = true
9369     };
9370   };
9371 
9372   template <>
9373   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9374   {
9375     enum
9376     {
9377       value = true
9378     };
9379   };
9380 
9381   template <>
9382   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9383   {
9384     enum
9385     {
9386       value = true
9387     };
9388   };
9389 
9390   template <>
9391   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9392   {
9393     enum
9394     {
9395       value = true
9396     };
9397   };
9398 
9399   template <>
9400   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9401   {
9402     enum
9403     {
9404       value = true
9405     };
9406   };
9407 
9408   template <>
9409   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9410   {
9411     enum
9412     {
9413       value = true
9414     };
9415   };
9416 
9417   template <>
9418   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9419   {
9420     enum
9421     {
9422       value = true
9423     };
9424   };
9425 
9426   template <>
9427   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9428   {
9429     enum
9430     {
9431       value = true
9432     };
9433   };
9434 
9435   template <>
9436   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9437   {
9438     enum
9439     {
9440       value = true
9441     };
9442   };
9443 
9444   template <>
9445   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9446   {
9447     enum
9448     {
9449       value = true
9450     };
9451   };
9452 
9453   template <>
9454   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9455   {
9456     enum
9457     {
9458       value = true
9459     };
9460   };
9461 
9462   template <>
9463   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9464   {
9465     enum
9466     {
9467       value = true
9468     };
9469   };
9470 
9471   template <>
9472   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9473   {
9474     enum
9475     {
9476       value = true
9477     };
9478   };
9479 
9480   template <>
9481   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9482   {
9483     enum
9484     {
9485       value = true
9486     };
9487   };
9488 
9489   template <>
9490   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9491   {
9492     enum
9493     {
9494       value = true
9495     };
9496   };
9497 
9498   template <>
9499   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9500   {
9501     enum
9502     {
9503       value = true
9504     };
9505   };
9506 
9507   template <>
9508   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9509   {
9510     enum
9511     {
9512       value = true
9513     };
9514   };
9515 
9516   template <>
9517   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9518   {
9519     enum
9520     {
9521       value = true
9522     };
9523   };
9524 
9525   template <>
9526   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9527   {
9528     enum
9529     {
9530       value = true
9531     };
9532   };
9533 
9534   template <>
9535   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9536   {
9537     enum
9538     {
9539       value = true
9540     };
9541   };
9542 
9543   template <>
9544   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9545   {
9546     enum
9547     {
9548       value = true
9549     };
9550   };
9551 
9552   template <>
9553   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9554   {
9555     enum
9556     {
9557       value = true
9558     };
9559   };
9560 
9561   template <>
9562   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9563   {
9564     enum
9565     {
9566       value = true
9567     };
9568   };
9569 
9570   template <>
9571   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9572   {
9573     enum
9574     {
9575       value = true
9576     };
9577   };
9578 
9579   template <>
9580   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9581   {
9582     enum
9583     {
9584       value = true
9585     };
9586   };
9587 
9588   template <>
9589   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9590   {
9591     enum
9592     {
9593       value = true
9594     };
9595   };
9596 
9597   template <>
9598   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9599   {
9600     enum
9601     {
9602       value = true
9603     };
9604   };
9605 
9606   template <>
9607   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
9608   {
9609     enum
9610     {
9611       value = true
9612     };
9613   };
9614 
9615   template <>
9616   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
9617   {
9618     enum
9619     {
9620       value = true
9621     };
9622   };
9623 
9624   template <>
9625   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
9626   {
9627     enum
9628     {
9629       value = true
9630     };
9631   };
9632 
9633   //=== VK_VERSION_1_3 ===
9634   template <>
9635   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
9636   {
9637     enum
9638     {
9639       value = true
9640     };
9641   };
9642 
9643   template <>
9644   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
9645   {
9646     enum
9647     {
9648       value = true
9649     };
9650   };
9651 
9652   template <>
9653   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
9654   {
9655     enum
9656     {
9657       value = true
9658     };
9659   };
9660 
9661   template <>
9662   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
9663   {
9664     enum
9665     {
9666       value = true
9667     };
9668   };
9669 
9670   template <>
9671   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
9672   {
9673     enum
9674     {
9675       value = true
9676     };
9677   };
9678 
9679   template <>
9680   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
9681   {
9682     enum
9683     {
9684       value = true
9685     };
9686   };
9687 
9688   template <>
9689   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
9690   {
9691     enum
9692     {
9693       value = true
9694     };
9695   };
9696 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
9697   template <>
9698   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
9699   {
9700     enum
9701     {
9702       value = true
9703     };
9704   };
9705 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
9706   template <>
9707   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
9708   {
9709     enum
9710     {
9711       value = true
9712     };
9713   };
9714 
9715   template <>
9716   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
9717   {
9718     enum
9719     {
9720       value = true
9721     };
9722   };
9723 
9724   template <>
9725   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
9726   {
9727     enum
9728     {
9729       value = true
9730     };
9731   };
9732 
9733   template <>
9734   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
9735   {
9736     enum
9737     {
9738       value = true
9739     };
9740   };
9741 
9742   template <>
9743   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
9744   {
9745     enum
9746     {
9747       value = true
9748     };
9749   };
9750 
9751   template <>
9752   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
9753   {
9754     enum
9755     {
9756       value = true
9757     };
9758   };
9759 
9760   template <>
9761   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
9762   {
9763     enum
9764     {
9765       value = true
9766     };
9767   };
9768 
9769   template <>
9770   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
9771   {
9772     enum
9773     {
9774       value = true
9775     };
9776   };
9777 
9778   template <>
9779   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
9780   {
9781     enum
9782     {
9783       value = true
9784     };
9785   };
9786 
9787   template <>
9788   struct StructExtends<MemoryBarrier2, SubpassDependency2>
9789   {
9790     enum
9791     {
9792       value = true
9793     };
9794   };
9795 
9796   template <>
9797   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
9798   {
9799     enum
9800     {
9801       value = true
9802     };
9803   };
9804 
9805   template <>
9806   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
9807   {
9808     enum
9809     {
9810       value = true
9811     };
9812   };
9813 
9814   template <>
9815   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
9816   {
9817     enum
9818     {
9819       value = true
9820     };
9821   };
9822 
9823   template <>
9824   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
9825   {
9826     enum
9827     {
9828       value = true
9829     };
9830   };
9831 
9832   template <>
9833   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
9834   {
9835     enum
9836     {
9837       value = true
9838     };
9839   };
9840 
9841   template <>
9842   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
9843   {
9844     enum
9845     {
9846       value = true
9847     };
9848   };
9849 
9850   template <>
9851   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
9852   {
9853     enum
9854     {
9855       value = true
9856     };
9857   };
9858 
9859   template <>
9860   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
9861   {
9862     enum
9863     {
9864       value = true
9865     };
9866   };
9867 
9868   template <>
9869   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
9870   {
9871     enum
9872     {
9873       value = true
9874     };
9875   };
9876 
9877   template <>
9878   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
9879   {
9880     enum
9881     {
9882       value = true
9883     };
9884   };
9885 
9886   template <>
9887   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
9888   {
9889     enum
9890     {
9891       value = true
9892     };
9893   };
9894 
9895   template <>
9896   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
9897   {
9898     enum
9899     {
9900       value = true
9901     };
9902   };
9903 
9904   template <>
9905   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
9906   {
9907     enum
9908     {
9909       value = true
9910     };
9911   };
9912 
9913   template <>
9914   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
9915   {
9916     enum
9917     {
9918       value = true
9919     };
9920   };
9921 
9922   template <>
9923   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
9924   {
9925     enum
9926     {
9927       value = true
9928     };
9929   };
9930 
9931   template <>
9932   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
9933   {
9934     enum
9935     {
9936       value = true
9937     };
9938   };
9939 
9940   template <>
9941   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
9942   {
9943     enum
9944     {
9945       value = true
9946     };
9947   };
9948 
9949   template <>
9950   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
9951   {
9952     enum
9953     {
9954       value = true
9955     };
9956   };
9957 
9958   template <>
9959   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
9960   {
9961     enum
9962     {
9963       value = true
9964     };
9965   };
9966 
9967   template <>
9968   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
9969   {
9970     enum
9971     {
9972       value = true
9973     };
9974   };
9975 
9976   template <>
9977   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
9978   {
9979     enum
9980     {
9981       value = true
9982     };
9983   };
9984 
9985   template <>
9986   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
9987   {
9988     enum
9989     {
9990       value = true
9991     };
9992   };
9993 
9994   template <>
9995   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
9996   {
9997     enum
9998     {
9999       value = true
10000     };
10001   };
10002 
10003   template <>
10004   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
10005   {
10006     enum
10007     {
10008       value = true
10009     };
10010   };
10011 
10012   template <>
10013   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10014   {
10015     enum
10016     {
10017       value = true
10018     };
10019   };
10020 
10021   template <>
10022   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10023   {
10024     enum
10025     {
10026       value = true
10027     };
10028   };
10029 
10030   template <>
10031   struct StructExtends<FormatProperties3, FormatProperties2>
10032   {
10033     enum
10034     {
10035       value = true
10036     };
10037   };
10038 
10039   template <>
10040   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10041   {
10042     enum
10043     {
10044       value = true
10045     };
10046   };
10047 
10048   template <>
10049   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10050   {
10051     enum
10052     {
10053       value = true
10054     };
10055   };
10056 
10057   template <>
10058   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10059   {
10060     enum
10061     {
10062       value = true
10063     };
10064   };
10065 
10066   //=== VK_KHR_swapchain ===
10067   template <>
10068   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
10069   {
10070     enum
10071     {
10072       value = true
10073     };
10074   };
10075 
10076   template <>
10077   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
10078   {
10079     enum
10080     {
10081       value = true
10082     };
10083   };
10084 
10085   template <>
10086   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
10087   {
10088     enum
10089     {
10090       value = true
10091     };
10092   };
10093 
10094   template <>
10095   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
10096   {
10097     enum
10098     {
10099       value = true
10100     };
10101   };
10102 
10103   //=== VK_KHR_display_swapchain ===
10104   template <>
10105   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
10106   {
10107     enum
10108     {
10109       value = true
10110     };
10111   };
10112 
10113   //=== VK_EXT_debug_report ===
10114   template <>
10115   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
10116   {
10117     enum
10118     {
10119       value = true
10120     };
10121   };
10122 
10123   //=== VK_AMD_rasterization_order ===
10124   template <>
10125   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
10126   {
10127     enum
10128     {
10129       value = true
10130     };
10131   };
10132 
10133   //=== VK_KHR_video_queue ===
10134   template <>
10135   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
10136   {
10137     enum
10138     {
10139       value = true
10140     };
10141   };
10142 
10143   template <>
10144   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
10145   {
10146     enum
10147     {
10148       value = true
10149     };
10150   };
10151 
10152   template <>
10153   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
10154   {
10155     enum
10156     {
10157       value = true
10158     };
10159   };
10160 
10161   template <>
10162   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
10163   {
10164     enum
10165     {
10166       value = true
10167     };
10168   };
10169 
10170   template <>
10171   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
10172   {
10173     enum
10174     {
10175       value = true
10176     };
10177   };
10178 
10179   template <>
10180   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
10181   {
10182     enum
10183     {
10184       value = true
10185     };
10186   };
10187 
10188   template <>
10189   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
10190   {
10191     enum
10192     {
10193       value = true
10194     };
10195   };
10196 
10197   //=== VK_KHR_video_decode_queue ===
10198   template <>
10199   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
10200   {
10201     enum
10202     {
10203       value = true
10204     };
10205   };
10206 
10207   template <>
10208   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
10209   {
10210     enum
10211     {
10212       value = true
10213     };
10214   };
10215 
10216   template <>
10217   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
10218   {
10219     enum
10220     {
10221       value = true
10222     };
10223   };
10224 
10225   //=== VK_NV_dedicated_allocation ===
10226   template <>
10227   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
10228   {
10229     enum
10230     {
10231       value = true
10232     };
10233   };
10234 
10235   template <>
10236   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
10237   {
10238     enum
10239     {
10240       value = true
10241     };
10242   };
10243 
10244   template <>
10245   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
10246   {
10247     enum
10248     {
10249       value = true
10250     };
10251   };
10252 
10253   //=== VK_EXT_transform_feedback ===
10254   template <>
10255   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
10256   {
10257     enum
10258     {
10259       value = true
10260     };
10261   };
10262 
10263   template <>
10264   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
10265   {
10266     enum
10267     {
10268       value = true
10269     };
10270   };
10271 
10272   template <>
10273   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
10274   {
10275     enum
10276     {
10277       value = true
10278     };
10279   };
10280 
10281   template <>
10282   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
10283   {
10284     enum
10285     {
10286       value = true
10287     };
10288   };
10289 
10290   //=== VK_KHR_video_encode_h264 ===
10291   template <>
10292   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10293   {
10294     enum
10295     {
10296       value = true
10297     };
10298   };
10299 
10300   template <>
10301   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10302   {
10303     enum
10304     {
10305       value = true
10306     };
10307   };
10308 
10309   template <>
10310   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10311   {
10312     enum
10313     {
10314       value = true
10315     };
10316   };
10317 
10318   template <>
10319   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10320   {
10321     enum
10322     {
10323       value = true
10324     };
10325   };
10326 
10327   template <>
10328   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10329   {
10330     enum
10331     {
10332       value = true
10333     };
10334   };
10335 
10336   template <>
10337   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10338   {
10339     enum
10340     {
10341       value = true
10342     };
10343   };
10344 
10345   template <>
10346   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10347   {
10348     enum
10349     {
10350       value = true
10351     };
10352   };
10353 
10354   template <>
10355   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
10356   {
10357     enum
10358     {
10359       value = true
10360     };
10361   };
10362 
10363   template <>
10364   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10365   {
10366     enum
10367     {
10368       value = true
10369     };
10370   };
10371 
10372   template <>
10373   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10374   {
10375     enum
10376     {
10377       value = true
10378     };
10379   };
10380 
10381   template <>
10382   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10383   {
10384     enum
10385     {
10386       value = true
10387     };
10388   };
10389 
10390   template <>
10391   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
10392   {
10393     enum
10394     {
10395       value = true
10396     };
10397   };
10398 
10399   template <>
10400   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
10401   {
10402     enum
10403     {
10404       value = true
10405     };
10406   };
10407 
10408   template <>
10409   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10410   {
10411     enum
10412     {
10413       value = true
10414     };
10415   };
10416 
10417   template <>
10418   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10419   {
10420     enum
10421     {
10422       value = true
10423     };
10424   };
10425 
10426   //=== VK_KHR_video_encode_h265 ===
10427   template <>
10428   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
10429   {
10430     enum
10431     {
10432       value = true
10433     };
10434   };
10435 
10436   template <>
10437   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10438   {
10439     enum
10440     {
10441       value = true
10442     };
10443   };
10444 
10445   template <>
10446   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10447   {
10448     enum
10449     {
10450       value = true
10451     };
10452   };
10453 
10454   template <>
10455   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10456   {
10457     enum
10458     {
10459       value = true
10460     };
10461   };
10462 
10463   template <>
10464   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10465   {
10466     enum
10467     {
10468       value = true
10469     };
10470   };
10471 
10472   template <>
10473   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10474   {
10475     enum
10476     {
10477       value = true
10478     };
10479   };
10480 
10481   template <>
10482   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10483   {
10484     enum
10485     {
10486       value = true
10487     };
10488   };
10489 
10490   template <>
10491   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
10492   {
10493     enum
10494     {
10495       value = true
10496     };
10497   };
10498 
10499   template <>
10500   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10501   {
10502     enum
10503     {
10504       value = true
10505     };
10506   };
10507 
10508   template <>
10509   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
10510   {
10511     enum
10512     {
10513       value = true
10514     };
10515   };
10516 
10517   template <>
10518   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
10519   {
10520     enum
10521     {
10522       value = true
10523     };
10524   };
10525 
10526   template <>
10527   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
10528   {
10529     enum
10530     {
10531       value = true
10532     };
10533   };
10534 
10535   template <>
10536   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
10537   {
10538     enum
10539     {
10540       value = true
10541     };
10542   };
10543 
10544   template <>
10545   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10546   {
10547     enum
10548     {
10549       value = true
10550     };
10551   };
10552 
10553   template <>
10554   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10555   {
10556     enum
10557     {
10558       value = true
10559     };
10560   };
10561 
10562   //=== VK_KHR_video_decode_h264 ===
10563   template <>
10564   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10565   {
10566     enum
10567     {
10568       value = true
10569     };
10570   };
10571 
10572   template <>
10573   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10574   {
10575     enum
10576     {
10577       value = true
10578     };
10579   };
10580 
10581   template <>
10582   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10583   {
10584     enum
10585     {
10586       value = true
10587     };
10588   };
10589 
10590   template <>
10591   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10592   {
10593     enum
10594     {
10595       value = true
10596     };
10597   };
10598 
10599   template <>
10600   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10601   {
10602     enum
10603     {
10604       value = true
10605     };
10606   };
10607 
10608   template <>
10609   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
10610   {
10611     enum
10612     {
10613       value = true
10614     };
10615   };
10616 
10617   template <>
10618   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10619   {
10620     enum
10621     {
10622       value = true
10623     };
10624   };
10625 
10626   //=== VK_AMD_texture_gather_bias_lod ===
10627   template <>
10628   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
10629   {
10630     enum
10631     {
10632       value = true
10633     };
10634   };
10635 
10636   //=== VK_KHR_dynamic_rendering ===
10637   template <>
10638   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
10639   {
10640     enum
10641     {
10642       value = true
10643     };
10644   };
10645 
10646   template <>
10647   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
10648   {
10649     enum
10650     {
10651       value = true
10652     };
10653   };
10654 
10655   template <>
10656   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
10657   {
10658     enum
10659     {
10660       value = true
10661     };
10662   };
10663 
10664   template <>
10665   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
10666   {
10667     enum
10668     {
10669       value = true
10670     };
10671   };
10672 
10673   template <>
10674   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
10675   {
10676     enum
10677     {
10678       value = true
10679     };
10680   };
10681 
10682   template <>
10683   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
10684   {
10685     enum
10686     {
10687       value = true
10688     };
10689   };
10690 
10691   template <>
10692   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
10693   {
10694     enum
10695     {
10696       value = true
10697     };
10698   };
10699 
10700   //=== VK_NV_corner_sampled_image ===
10701   template <>
10702   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
10703   {
10704     enum
10705     {
10706       value = true
10707     };
10708   };
10709 
10710   template <>
10711   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
10712   {
10713     enum
10714     {
10715       value = true
10716     };
10717   };
10718 
10719   //=== VK_NV_external_memory ===
10720   template <>
10721   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
10722   {
10723     enum
10724     {
10725       value = true
10726     };
10727   };
10728 
10729   template <>
10730   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
10731   {
10732     enum
10733     {
10734       value = true
10735     };
10736   };
10737 
10738 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10739   //=== VK_NV_external_memory_win32 ===
10740   template <>
10741   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10742   {
10743     enum
10744     {
10745       value = true
10746     };
10747   };
10748 
10749   template <>
10750   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10751   {
10752     enum
10753     {
10754       value = true
10755     };
10756   };
10757 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10758 
10759 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10760   //=== VK_NV_win32_keyed_mutex ===
10761   template <>
10762   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
10763   {
10764     enum
10765     {
10766       value = true
10767     };
10768   };
10769 
10770   template <>
10771   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
10772   {
10773     enum
10774     {
10775       value = true
10776     };
10777   };
10778 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10779 
10780   //=== VK_EXT_validation_flags ===
10781   template <>
10782   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
10783   {
10784     enum
10785     {
10786       value = true
10787     };
10788   };
10789 
10790   //=== VK_EXT_astc_decode_mode ===
10791   template <>
10792   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
10793   {
10794     enum
10795     {
10796       value = true
10797     };
10798   };
10799 
10800   template <>
10801   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
10802   {
10803     enum
10804     {
10805       value = true
10806     };
10807   };
10808 
10809   template <>
10810   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
10811   {
10812     enum
10813     {
10814       value = true
10815     };
10816   };
10817 
10818   //=== VK_EXT_pipeline_robustness ===
10819   template <>
10820   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
10821   {
10822     enum
10823     {
10824       value = true
10825     };
10826   };
10827 
10828   template <>
10829   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, DeviceCreateInfo>
10830   {
10831     enum
10832     {
10833       value = true
10834     };
10835   };
10836 
10837   template <>
10838   struct StructExtends<PhysicalDevicePipelineRobustnessPropertiesEXT, PhysicalDeviceProperties2>
10839   {
10840     enum
10841     {
10842       value = true
10843     };
10844   };
10845 
10846   template <>
10847   struct StructExtends<PipelineRobustnessCreateInfoEXT, GraphicsPipelineCreateInfo>
10848   {
10849     enum
10850     {
10851       value = true
10852     };
10853   };
10854 
10855   template <>
10856   struct StructExtends<PipelineRobustnessCreateInfoEXT, ComputePipelineCreateInfo>
10857   {
10858     enum
10859     {
10860       value = true
10861     };
10862   };
10863 
10864   template <>
10865   struct StructExtends<PipelineRobustnessCreateInfoEXT, PipelineShaderStageCreateInfo>
10866   {
10867     enum
10868     {
10869       value = true
10870     };
10871   };
10872 
10873   template <>
10874   struct StructExtends<PipelineRobustnessCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
10875   {
10876     enum
10877     {
10878       value = true
10879     };
10880   };
10881 
10882 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10883   //=== VK_KHR_external_memory_win32 ===
10884   template <>
10885   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10886   {
10887     enum
10888     {
10889       value = true
10890     };
10891   };
10892 
10893   template <>
10894   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10895   {
10896     enum
10897     {
10898       value = true
10899     };
10900   };
10901 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10902 
10903   //=== VK_KHR_external_memory_fd ===
10904   template <>
10905   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
10906   {
10907     enum
10908     {
10909       value = true
10910     };
10911   };
10912 
10913 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10914   //=== VK_KHR_win32_keyed_mutex ===
10915   template <>
10916   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
10917   {
10918     enum
10919     {
10920       value = true
10921     };
10922   };
10923 
10924   template <>
10925   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
10926   {
10927     enum
10928     {
10929       value = true
10930     };
10931   };
10932 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10933 
10934 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10935   //=== VK_KHR_external_semaphore_win32 ===
10936   template <>
10937   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
10938   {
10939     enum
10940     {
10941       value = true
10942     };
10943   };
10944 
10945   template <>
10946   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
10947   {
10948     enum
10949     {
10950       value = true
10951     };
10952   };
10953 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10954 
10955   //=== VK_KHR_push_descriptor ===
10956   template <>
10957   struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
10958   {
10959     enum
10960     {
10961       value = true
10962     };
10963   };
10964 
10965   //=== VK_EXT_conditional_rendering ===
10966   template <>
10967   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
10968   {
10969     enum
10970     {
10971       value = true
10972     };
10973   };
10974 
10975   template <>
10976   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
10977   {
10978     enum
10979     {
10980       value = true
10981     };
10982   };
10983 
10984   template <>
10985   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
10986   {
10987     enum
10988     {
10989       value = true
10990     };
10991   };
10992 
10993   //=== VK_KHR_incremental_present ===
10994   template <>
10995   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
10996   {
10997     enum
10998     {
10999       value = true
11000     };
11001   };
11002 
11003   //=== VK_NV_clip_space_w_scaling ===
11004   template <>
11005   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
11006   {
11007     enum
11008     {
11009       value = true
11010     };
11011   };
11012 
11013   //=== VK_EXT_display_control ===
11014   template <>
11015   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11016   {
11017     enum
11018     {
11019       value = true
11020     };
11021   };
11022 
11023   //=== VK_GOOGLE_display_timing ===
11024   template <>
11025   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11026   {
11027     enum
11028     {
11029       value = true
11030     };
11031   };
11032 
11033   //=== VK_NVX_multiview_per_view_attributes ===
11034   template <>
11035   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11036   {
11037     enum
11038     {
11039       value = true
11040     };
11041   };
11042 
11043   //=== VK_NV_viewport_swizzle ===
11044   template <>
11045   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11046   {
11047     enum
11048     {
11049       value = true
11050     };
11051   };
11052 
11053   //=== VK_EXT_discard_rectangles ===
11054   template <>
11055   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11056   {
11057     enum
11058     {
11059       value = true
11060     };
11061   };
11062 
11063   template <>
11064   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11065   {
11066     enum
11067     {
11068       value = true
11069     };
11070   };
11071 
11072   //=== VK_EXT_conservative_rasterization ===
11073   template <>
11074   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11075   {
11076     enum
11077     {
11078       value = true
11079     };
11080   };
11081 
11082   template <>
11083   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11084   {
11085     enum
11086     {
11087       value = true
11088     };
11089   };
11090 
11091   //=== VK_EXT_depth_clip_enable ===
11092   template <>
11093   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11094   {
11095     enum
11096     {
11097       value = true
11098     };
11099   };
11100 
11101   template <>
11102   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11103   {
11104     enum
11105     {
11106       value = true
11107     };
11108   };
11109 
11110   template <>
11111   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11112   {
11113     enum
11114     {
11115       value = true
11116     };
11117   };
11118 
11119   //=== VK_IMG_relaxed_line_rasterization ===
11120   template <>
11121   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11122   {
11123     enum
11124     {
11125       value = true
11126     };
11127   };
11128 
11129   template <>
11130   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11131   {
11132     enum
11133     {
11134       value = true
11135     };
11136   };
11137 
11138   //=== VK_KHR_shared_presentable_image ===
11139   template <>
11140   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11141   {
11142     enum
11143     {
11144       value = true
11145     };
11146   };
11147 
11148 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11149   //=== VK_KHR_external_fence_win32 ===
11150   template <>
11151   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11152   {
11153     enum
11154     {
11155       value = true
11156     };
11157   };
11158 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11159 
11160   //=== VK_KHR_performance_query ===
11161   template <>
11162   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
11163   {
11164     enum
11165     {
11166       value = true
11167     };
11168   };
11169 
11170   template <>
11171   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
11172   {
11173     enum
11174     {
11175       value = true
11176     };
11177   };
11178 
11179   template <>
11180   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
11181   {
11182     enum
11183     {
11184       value = true
11185     };
11186   };
11187 
11188   template <>
11189   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
11190   {
11191     enum
11192     {
11193       value = true
11194     };
11195   };
11196 
11197   template <>
11198   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
11199   {
11200     enum
11201     {
11202       value = true
11203     };
11204   };
11205 
11206   template <>
11207   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
11208   {
11209     enum
11210     {
11211       value = true
11212     };
11213   };
11214 
11215   //=== VK_EXT_debug_utils ===
11216   template <>
11217   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
11218   {
11219     enum
11220     {
11221       value = true
11222     };
11223   };
11224 
11225   template <>
11226   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
11227   {
11228     enum
11229     {
11230       value = true
11231     };
11232   };
11233 
11234 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
11235   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
11236   template <>
11237   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
11238   {
11239     enum
11240     {
11241       value = true
11242     };
11243   };
11244 
11245   template <>
11246   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
11247   {
11248     enum
11249     {
11250       value = true
11251     };
11252   };
11253 
11254   template <>
11255   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
11256   {
11257     enum
11258     {
11259       value = true
11260     };
11261   };
11262 
11263   template <>
11264   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
11265   {
11266     enum
11267     {
11268       value = true
11269     };
11270   };
11271 
11272   template <>
11273   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
11274   {
11275     enum
11276     {
11277       value = true
11278     };
11279   };
11280 
11281   template <>
11282   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
11283   {
11284     enum
11285     {
11286       value = true
11287     };
11288   };
11289 
11290   template <>
11291   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
11292   {
11293     enum
11294     {
11295       value = true
11296     };
11297   };
11298 
11299   template <>
11300   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
11301   {
11302     enum
11303     {
11304       value = true
11305     };
11306   };
11307 
11308   template <>
11309   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
11310   {
11311     enum
11312     {
11313       value = true
11314     };
11315   };
11316 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11317 
11318 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11319   //=== VK_AMDX_shader_enqueue ===
11320   template <>
11321   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
11322   {
11323     enum
11324     {
11325       value = true
11326     };
11327   };
11328 
11329   template <>
11330   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
11331   {
11332     enum
11333     {
11334       value = true
11335     };
11336   };
11337 
11338   template <>
11339   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
11340   {
11341     enum
11342     {
11343       value = true
11344     };
11345   };
11346 
11347   template <>
11348   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
11349   {
11350     enum
11351     {
11352       value = true
11353     };
11354   };
11355 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11356 
11357   //=== VK_EXT_sample_locations ===
11358   template <>
11359   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
11360   {
11361     enum
11362     {
11363       value = true
11364     };
11365   };
11366 
11367   template <>
11368   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
11369   {
11370     enum
11371     {
11372       value = true
11373     };
11374   };
11375 
11376   template <>
11377   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
11378   {
11379     enum
11380     {
11381       value = true
11382     };
11383   };
11384 
11385   template <>
11386   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
11387   {
11388     enum
11389     {
11390       value = true
11391     };
11392   };
11393 
11394   template <>
11395   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
11396   {
11397     enum
11398     {
11399       value = true
11400     };
11401   };
11402 
11403   //=== VK_EXT_blend_operation_advanced ===
11404   template <>
11405   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
11406   {
11407     enum
11408     {
11409       value = true
11410     };
11411   };
11412 
11413   template <>
11414   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
11415   {
11416     enum
11417     {
11418       value = true
11419     };
11420   };
11421 
11422   template <>
11423   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
11424   {
11425     enum
11426     {
11427       value = true
11428     };
11429   };
11430 
11431   template <>
11432   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
11433   {
11434     enum
11435     {
11436       value = true
11437     };
11438   };
11439 
11440   //=== VK_NV_fragment_coverage_to_color ===
11441   template <>
11442   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11443   {
11444     enum
11445     {
11446       value = true
11447     };
11448   };
11449 
11450   //=== VK_KHR_acceleration_structure ===
11451   template <>
11452   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
11453   {
11454     enum
11455     {
11456       value = true
11457     };
11458   };
11459 
11460   template <>
11461   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
11462   {
11463     enum
11464     {
11465       value = true
11466     };
11467   };
11468 
11469   template <>
11470   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
11471   {
11472     enum
11473     {
11474       value = true
11475     };
11476   };
11477 
11478   template <>
11479   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
11480   {
11481     enum
11482     {
11483       value = true
11484     };
11485   };
11486 
11487   //=== VK_KHR_ray_tracing_pipeline ===
11488   template <>
11489   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
11490   {
11491     enum
11492     {
11493       value = true
11494     };
11495   };
11496 
11497   template <>
11498   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
11499   {
11500     enum
11501     {
11502       value = true
11503     };
11504   };
11505 
11506   template <>
11507   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
11508   {
11509     enum
11510     {
11511       value = true
11512     };
11513   };
11514 
11515   //=== VK_KHR_ray_query ===
11516   template <>
11517   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
11518   {
11519     enum
11520     {
11521       value = true
11522     };
11523   };
11524 
11525   template <>
11526   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
11527   {
11528     enum
11529     {
11530       value = true
11531     };
11532   };
11533 
11534   //=== VK_NV_framebuffer_mixed_samples ===
11535   template <>
11536   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11537   {
11538     enum
11539     {
11540       value = true
11541     };
11542   };
11543 
11544   //=== VK_NV_shader_sm_builtins ===
11545   template <>
11546   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
11547   {
11548     enum
11549     {
11550       value = true
11551     };
11552   };
11553 
11554   template <>
11555   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
11556   {
11557     enum
11558     {
11559       value = true
11560     };
11561   };
11562 
11563   template <>
11564   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
11565   {
11566     enum
11567     {
11568       value = true
11569     };
11570   };
11571 
11572   //=== VK_EXT_image_drm_format_modifier ===
11573   template <>
11574   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
11575   {
11576     enum
11577     {
11578       value = true
11579     };
11580   };
11581 
11582   template <>
11583   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
11584   {
11585     enum
11586     {
11587       value = true
11588     };
11589   };
11590 
11591   template <>
11592   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
11593   {
11594     enum
11595     {
11596       value = true
11597     };
11598   };
11599 
11600   template <>
11601   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
11602   {
11603     enum
11604     {
11605       value = true
11606     };
11607   };
11608 
11609   template <>
11610   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
11611   {
11612     enum
11613     {
11614       value = true
11615     };
11616   };
11617 
11618   //=== VK_EXT_validation_cache ===
11619   template <>
11620   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
11621   {
11622     enum
11623     {
11624       value = true
11625     };
11626   };
11627 
11628   template <>
11629   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
11630   {
11631     enum
11632     {
11633       value = true
11634     };
11635   };
11636 
11637 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11638   //=== VK_KHR_portability_subset ===
11639   template <>
11640   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
11641   {
11642     enum
11643     {
11644       value = true
11645     };
11646   };
11647 
11648   template <>
11649   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
11650   {
11651     enum
11652     {
11653       value = true
11654     };
11655   };
11656 
11657   template <>
11658   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
11659   {
11660     enum
11661     {
11662       value = true
11663     };
11664   };
11665 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11666 
11667   //=== VK_NV_shading_rate_image ===
11668   template <>
11669   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
11670   {
11671     enum
11672     {
11673       value = true
11674     };
11675   };
11676 
11677   template <>
11678   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
11679   {
11680     enum
11681     {
11682       value = true
11683     };
11684   };
11685 
11686   template <>
11687   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
11688   {
11689     enum
11690     {
11691       value = true
11692     };
11693   };
11694 
11695   template <>
11696   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
11697   {
11698     enum
11699     {
11700       value = true
11701     };
11702   };
11703 
11704   template <>
11705   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
11706   {
11707     enum
11708     {
11709       value = true
11710     };
11711   };
11712 
11713   //=== VK_NV_ray_tracing ===
11714   template <>
11715   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
11716   {
11717     enum
11718     {
11719       value = true
11720     };
11721   };
11722 
11723   template <>
11724   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
11725   {
11726     enum
11727     {
11728       value = true
11729     };
11730   };
11731 
11732   //=== VK_NV_representative_fragment_test ===
11733   template <>
11734   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
11735   {
11736     enum
11737     {
11738       value = true
11739     };
11740   };
11741 
11742   template <>
11743   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
11744   {
11745     enum
11746     {
11747       value = true
11748     };
11749   };
11750 
11751   template <>
11752   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
11753   {
11754     enum
11755     {
11756       value = true
11757     };
11758   };
11759 
11760   //=== VK_EXT_filter_cubic ===
11761   template <>
11762   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
11763   {
11764     enum
11765     {
11766       value = true
11767     };
11768   };
11769 
11770   template <>
11771   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
11772   {
11773     enum
11774     {
11775       value = true
11776     };
11777   };
11778 
11779   //=== VK_EXT_external_memory_host ===
11780   template <>
11781   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
11782   {
11783     enum
11784     {
11785       value = true
11786     };
11787   };
11788 
11789   template <>
11790   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
11791   {
11792     enum
11793     {
11794       value = true
11795     };
11796   };
11797 
11798   //=== VK_KHR_shader_clock ===
11799   template <>
11800   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
11801   {
11802     enum
11803     {
11804       value = true
11805     };
11806   };
11807 
11808   template <>
11809   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
11810   {
11811     enum
11812     {
11813       value = true
11814     };
11815   };
11816 
11817   //=== VK_AMD_pipeline_compiler_control ===
11818   template <>
11819   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
11820   {
11821     enum
11822     {
11823       value = true
11824     };
11825   };
11826 
11827   template <>
11828   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
11829   {
11830     enum
11831     {
11832       value = true
11833     };
11834   };
11835 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11836   template <>
11837   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
11838   {
11839     enum
11840     {
11841       value = true
11842     };
11843   };
11844 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11845 
11846   //=== VK_AMD_shader_core_properties ===
11847   template <>
11848   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
11849   {
11850     enum
11851     {
11852       value = true
11853     };
11854   };
11855 
11856   //=== VK_KHR_video_decode_h265 ===
11857   template <>
11858   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11859   {
11860     enum
11861     {
11862       value = true
11863     };
11864   };
11865 
11866   template <>
11867   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11868   {
11869     enum
11870     {
11871       value = true
11872     };
11873   };
11874 
11875   template <>
11876   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11877   {
11878     enum
11879     {
11880       value = true
11881     };
11882   };
11883 
11884   template <>
11885   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11886   {
11887     enum
11888     {
11889       value = true
11890     };
11891   };
11892 
11893   template <>
11894   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11895   {
11896     enum
11897     {
11898       value = true
11899     };
11900   };
11901 
11902   template <>
11903   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
11904   {
11905     enum
11906     {
11907       value = true
11908     };
11909   };
11910 
11911   template <>
11912   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11913   {
11914     enum
11915     {
11916       value = true
11917     };
11918   };
11919 
11920   //=== VK_KHR_global_priority ===
11921   template <>
11922   struct StructExtends<DeviceQueueGlobalPriorityCreateInfoKHR, DeviceQueueCreateInfo>
11923   {
11924     enum
11925     {
11926       value = true
11927     };
11928   };
11929 
11930   template <>
11931   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, PhysicalDeviceFeatures2>
11932   {
11933     enum
11934     {
11935       value = true
11936     };
11937   };
11938 
11939   template <>
11940   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, DeviceCreateInfo>
11941   {
11942     enum
11943     {
11944       value = true
11945     };
11946   };
11947 
11948   template <>
11949   struct StructExtends<QueueFamilyGlobalPriorityPropertiesKHR, QueueFamilyProperties2>
11950   {
11951     enum
11952     {
11953       value = true
11954     };
11955   };
11956 
11957   //=== VK_AMD_memory_overallocation_behavior ===
11958   template <>
11959   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
11960   {
11961     enum
11962     {
11963       value = true
11964     };
11965   };
11966 
11967   //=== VK_EXT_vertex_attribute_divisor ===
11968   template <>
11969   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
11970   {
11971     enum
11972     {
11973       value = true
11974     };
11975   };
11976 
11977 #  if defined( VK_USE_PLATFORM_GGP )
11978   //=== VK_GGP_frame_token ===
11979   template <>
11980   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
11981   {
11982     enum
11983     {
11984       value = true
11985     };
11986   };
11987 #  endif /*VK_USE_PLATFORM_GGP*/
11988 
11989   //=== VK_NV_compute_shader_derivatives ===
11990   template <>
11991   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
11992   {
11993     enum
11994     {
11995       value = true
11996     };
11997   };
11998 
11999   template <>
12000   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
12001   {
12002     enum
12003     {
12004       value = true
12005     };
12006   };
12007 
12008   //=== VK_NV_mesh_shader ===
12009   template <>
12010   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
12011   {
12012     enum
12013     {
12014       value = true
12015     };
12016   };
12017 
12018   template <>
12019   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12020   {
12021     enum
12022     {
12023       value = true
12024     };
12025   };
12026 
12027   template <>
12028   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12029   {
12030     enum
12031     {
12032       value = true
12033     };
12034   };
12035 
12036   //=== VK_NV_shader_image_footprint ===
12037   template <>
12038   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12039   {
12040     enum
12041     {
12042       value = true
12043     };
12044   };
12045 
12046   template <>
12047   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12048   {
12049     enum
12050     {
12051       value = true
12052     };
12053   };
12054 
12055   //=== VK_NV_scissor_exclusive ===
12056   template <>
12057   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12058   {
12059     enum
12060     {
12061       value = true
12062     };
12063   };
12064 
12065   template <>
12066   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12067   {
12068     enum
12069     {
12070       value = true
12071     };
12072   };
12073 
12074   template <>
12075   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12076   {
12077     enum
12078     {
12079       value = true
12080     };
12081   };
12082 
12083   //=== VK_NV_device_diagnostic_checkpoints ===
12084   template <>
12085   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12086   {
12087     enum
12088     {
12089       value = true
12090     };
12091   };
12092 
12093   //=== VK_INTEL_shader_integer_functions2 ===
12094   template <>
12095   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12096   {
12097     enum
12098     {
12099       value = true
12100     };
12101   };
12102 
12103   template <>
12104   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12105   {
12106     enum
12107     {
12108       value = true
12109     };
12110   };
12111 
12112   //=== VK_INTEL_performance_query ===
12113   template <>
12114   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12115   {
12116     enum
12117     {
12118       value = true
12119     };
12120   };
12121 
12122   //=== VK_EXT_pci_bus_info ===
12123   template <>
12124   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12125   {
12126     enum
12127     {
12128       value = true
12129     };
12130   };
12131 
12132   //=== VK_AMD_display_native_hdr ===
12133   template <>
12134   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12135   {
12136     enum
12137     {
12138       value = true
12139     };
12140   };
12141 
12142   template <>
12143   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12144   {
12145     enum
12146     {
12147       value = true
12148     };
12149   };
12150 
12151   //=== VK_EXT_fragment_density_map ===
12152   template <>
12153   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12154   {
12155     enum
12156     {
12157       value = true
12158     };
12159   };
12160 
12161   template <>
12162   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12163   {
12164     enum
12165     {
12166       value = true
12167     };
12168   };
12169 
12170   template <>
12171   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12172   {
12173     enum
12174     {
12175       value = true
12176     };
12177   };
12178 
12179   template <>
12180   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12181   {
12182     enum
12183     {
12184       value = true
12185     };
12186   };
12187 
12188   template <>
12189   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
12190   {
12191     enum
12192     {
12193       value = true
12194     };
12195   };
12196 
12197   //=== VK_KHR_fragment_shading_rate ===
12198   template <>
12199   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
12200   {
12201     enum
12202     {
12203       value = true
12204     };
12205   };
12206 
12207   template <>
12208   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
12209   {
12210     enum
12211     {
12212       value = true
12213     };
12214   };
12215 
12216   template <>
12217   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
12218   {
12219     enum
12220     {
12221       value = true
12222     };
12223   };
12224 
12225   template <>
12226   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
12227   {
12228     enum
12229     {
12230       value = true
12231     };
12232   };
12233 
12234   template <>
12235   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
12236   {
12237     enum
12238     {
12239       value = true
12240     };
12241   };
12242 
12243   //=== VK_AMD_shader_core_properties2 ===
12244   template <>
12245   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
12246   {
12247     enum
12248     {
12249       value = true
12250     };
12251   };
12252 
12253   //=== VK_AMD_device_coherent_memory ===
12254   template <>
12255   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
12256   {
12257     enum
12258     {
12259       value = true
12260     };
12261   };
12262 
12263   template <>
12264   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
12265   {
12266     enum
12267     {
12268       value = true
12269     };
12270   };
12271 
12272   //=== VK_EXT_shader_image_atomic_int64 ===
12273   template <>
12274   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
12275   {
12276     enum
12277     {
12278       value = true
12279     };
12280   };
12281 
12282   template <>
12283   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
12284   {
12285     enum
12286     {
12287       value = true
12288     };
12289   };
12290 
12291   //=== VK_EXT_memory_budget ===
12292   template <>
12293   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
12294   {
12295     enum
12296     {
12297       value = true
12298     };
12299   };
12300 
12301   //=== VK_EXT_memory_priority ===
12302   template <>
12303   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
12304   {
12305     enum
12306     {
12307       value = true
12308     };
12309   };
12310 
12311   template <>
12312   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
12313   {
12314     enum
12315     {
12316       value = true
12317     };
12318   };
12319 
12320   template <>
12321   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
12322   {
12323     enum
12324     {
12325       value = true
12326     };
12327   };
12328 
12329   //=== VK_KHR_surface_protected_capabilities ===
12330   template <>
12331   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
12332   {
12333     enum
12334     {
12335       value = true
12336     };
12337   };
12338 
12339   //=== VK_NV_dedicated_allocation_image_aliasing ===
12340   template <>
12341   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
12342   {
12343     enum
12344     {
12345       value = true
12346     };
12347   };
12348 
12349   template <>
12350   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
12351   {
12352     enum
12353     {
12354       value = true
12355     };
12356   };
12357 
12358   //=== VK_EXT_buffer_device_address ===
12359   template <>
12360   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
12361   {
12362     enum
12363     {
12364       value = true
12365     };
12366   };
12367 
12368   template <>
12369   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
12370   {
12371     enum
12372     {
12373       value = true
12374     };
12375   };
12376 
12377   template <>
12378   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
12379   {
12380     enum
12381     {
12382       value = true
12383     };
12384   };
12385 
12386   //=== VK_EXT_validation_features ===
12387   template <>
12388   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
12389   {
12390     enum
12391     {
12392       value = true
12393     };
12394   };
12395 
12396   //=== VK_KHR_present_wait ===
12397   template <>
12398   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
12399   {
12400     enum
12401     {
12402       value = true
12403     };
12404   };
12405 
12406   template <>
12407   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
12408   {
12409     enum
12410     {
12411       value = true
12412     };
12413   };
12414 
12415   //=== VK_NV_cooperative_matrix ===
12416   template <>
12417   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
12418   {
12419     enum
12420     {
12421       value = true
12422     };
12423   };
12424 
12425   template <>
12426   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
12427   {
12428     enum
12429     {
12430       value = true
12431     };
12432   };
12433 
12434   template <>
12435   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
12436   {
12437     enum
12438     {
12439       value = true
12440     };
12441   };
12442 
12443   //=== VK_NV_coverage_reduction_mode ===
12444   template <>
12445   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
12446   {
12447     enum
12448     {
12449       value = true
12450     };
12451   };
12452 
12453   template <>
12454   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
12455   {
12456     enum
12457     {
12458       value = true
12459     };
12460   };
12461 
12462   template <>
12463   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12464   {
12465     enum
12466     {
12467       value = true
12468     };
12469   };
12470 
12471   //=== VK_EXT_fragment_shader_interlock ===
12472   template <>
12473   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
12474   {
12475     enum
12476     {
12477       value = true
12478     };
12479   };
12480 
12481   template <>
12482   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
12483   {
12484     enum
12485     {
12486       value = true
12487     };
12488   };
12489 
12490   //=== VK_EXT_ycbcr_image_arrays ===
12491   template <>
12492   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
12493   {
12494     enum
12495     {
12496       value = true
12497     };
12498   };
12499 
12500   template <>
12501   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
12502   {
12503     enum
12504     {
12505       value = true
12506     };
12507   };
12508 
12509   //=== VK_EXT_provoking_vertex ===
12510   template <>
12511   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
12512   {
12513     enum
12514     {
12515       value = true
12516     };
12517   };
12518 
12519   template <>
12520   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
12521   {
12522     enum
12523     {
12524       value = true
12525     };
12526   };
12527 
12528   template <>
12529   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
12530   {
12531     enum
12532     {
12533       value = true
12534     };
12535   };
12536 
12537   template <>
12538   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
12539   {
12540     enum
12541     {
12542       value = true
12543     };
12544   };
12545 
12546 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
12547   //=== VK_EXT_full_screen_exclusive ===
12548   template <>
12549   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12550   {
12551     enum
12552     {
12553       value = true
12554     };
12555   };
12556 
12557   template <>
12558   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
12559   {
12560     enum
12561     {
12562       value = true
12563     };
12564   };
12565 
12566   template <>
12567   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
12568   {
12569     enum
12570     {
12571       value = true
12572     };
12573   };
12574 
12575   template <>
12576   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12577   {
12578     enum
12579     {
12580       value = true
12581     };
12582   };
12583 
12584   template <>
12585   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
12586   {
12587     enum
12588     {
12589       value = true
12590     };
12591   };
12592 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
12593 
12594   //=== VK_EXT_line_rasterization ===
12595   template <>
12596   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
12597   {
12598     enum
12599     {
12600       value = true
12601     };
12602   };
12603 
12604   template <>
12605   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
12606   {
12607     enum
12608     {
12609       value = true
12610     };
12611   };
12612 
12613   template <>
12614   struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
12615   {
12616     enum
12617     {
12618       value = true
12619     };
12620   };
12621 
12622   template <>
12623   struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
12624   {
12625     enum
12626     {
12627       value = true
12628     };
12629   };
12630 
12631   //=== VK_EXT_shader_atomic_float ===
12632   template <>
12633   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
12634   {
12635     enum
12636     {
12637       value = true
12638     };
12639   };
12640 
12641   template <>
12642   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
12643   {
12644     enum
12645     {
12646       value = true
12647     };
12648   };
12649 
12650   //=== VK_EXT_index_type_uint8 ===
12651   template <>
12652   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
12653   {
12654     enum
12655     {
12656       value = true
12657     };
12658   };
12659 
12660   template <>
12661   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
12662   {
12663     enum
12664     {
12665       value = true
12666     };
12667   };
12668 
12669   //=== VK_EXT_extended_dynamic_state ===
12670   template <>
12671   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
12672   {
12673     enum
12674     {
12675       value = true
12676     };
12677   };
12678 
12679   template <>
12680   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
12681   {
12682     enum
12683     {
12684       value = true
12685     };
12686   };
12687 
12688   //=== VK_KHR_pipeline_executable_properties ===
12689   template <>
12690   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
12691   {
12692     enum
12693     {
12694       value = true
12695     };
12696   };
12697 
12698   template <>
12699   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
12700   {
12701     enum
12702     {
12703       value = true
12704     };
12705   };
12706 
12707   //=== VK_EXT_host_image_copy ===
12708   template <>
12709   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, PhysicalDeviceFeatures2>
12710   {
12711     enum
12712     {
12713       value = true
12714     };
12715   };
12716 
12717   template <>
12718   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, DeviceCreateInfo>
12719   {
12720     enum
12721     {
12722       value = true
12723     };
12724   };
12725 
12726   template <>
12727   struct StructExtends<PhysicalDeviceHostImageCopyPropertiesEXT, PhysicalDeviceProperties2>
12728   {
12729     enum
12730     {
12731       value = true
12732     };
12733   };
12734 
12735   template <>
12736   struct StructExtends<SubresourceHostMemcpySizeEXT, SubresourceLayout2KHR>
12737   {
12738     enum
12739     {
12740       value = true
12741     };
12742   };
12743 
12744   template <>
12745   struct StructExtends<HostImageCopyDevicePerformanceQueryEXT, ImageFormatProperties2>
12746   {
12747     enum
12748     {
12749       value = true
12750     };
12751   };
12752 
12753   //=== VK_EXT_shader_atomic_float2 ===
12754   template <>
12755   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
12756   {
12757     enum
12758     {
12759       value = true
12760     };
12761   };
12762 
12763   template <>
12764   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
12765   {
12766     enum
12767     {
12768       value = true
12769     };
12770   };
12771 
12772   //=== VK_EXT_surface_maintenance1 ===
12773   template <>
12774   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
12775   {
12776     enum
12777     {
12778       value = true
12779     };
12780   };
12781 
12782   template <>
12783   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
12784   {
12785     enum
12786     {
12787       value = true
12788     };
12789   };
12790 
12791   template <>
12792   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
12793   {
12794     enum
12795     {
12796       value = true
12797     };
12798   };
12799 
12800   //=== VK_EXT_swapchain_maintenance1 ===
12801   template <>
12802   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
12803   {
12804     enum
12805     {
12806       value = true
12807     };
12808   };
12809 
12810   template <>
12811   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
12812   {
12813     enum
12814     {
12815       value = true
12816     };
12817   };
12818 
12819   template <>
12820   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
12821   {
12822     enum
12823     {
12824       value = true
12825     };
12826   };
12827 
12828   template <>
12829   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
12830   {
12831     enum
12832     {
12833       value = true
12834     };
12835   };
12836 
12837   template <>
12838   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
12839   {
12840     enum
12841     {
12842       value = true
12843     };
12844   };
12845 
12846   template <>
12847   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
12848   {
12849     enum
12850     {
12851       value = true
12852     };
12853   };
12854 
12855   //=== VK_NV_device_generated_commands ===
12856   template <>
12857   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
12858   {
12859     enum
12860     {
12861       value = true
12862     };
12863   };
12864 
12865   template <>
12866   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
12867   {
12868     enum
12869     {
12870       value = true
12871     };
12872   };
12873 
12874   template <>
12875   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
12876   {
12877     enum
12878     {
12879       value = true
12880     };
12881   };
12882 
12883   template <>
12884   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
12885   {
12886     enum
12887     {
12888       value = true
12889     };
12890   };
12891 
12892   //=== VK_NV_inherited_viewport_scissor ===
12893   template <>
12894   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
12895   {
12896     enum
12897     {
12898       value = true
12899     };
12900   };
12901 
12902   template <>
12903   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
12904   {
12905     enum
12906     {
12907       value = true
12908     };
12909   };
12910 
12911   template <>
12912   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
12913   {
12914     enum
12915     {
12916       value = true
12917     };
12918   };
12919 
12920   //=== VK_EXT_texel_buffer_alignment ===
12921   template <>
12922   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
12923   {
12924     enum
12925     {
12926       value = true
12927     };
12928   };
12929 
12930   template <>
12931   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
12932   {
12933     enum
12934     {
12935       value = true
12936     };
12937   };
12938 
12939   //=== VK_QCOM_render_pass_transform ===
12940   template <>
12941   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
12942   {
12943     enum
12944     {
12945       value = true
12946     };
12947   };
12948 
12949   template <>
12950   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
12951   {
12952     enum
12953     {
12954       value = true
12955     };
12956   };
12957 
12958   //=== VK_EXT_depth_bias_control ===
12959   template <>
12960   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
12961   {
12962     enum
12963     {
12964       value = true
12965     };
12966   };
12967 
12968   template <>
12969   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
12970   {
12971     enum
12972     {
12973       value = true
12974     };
12975   };
12976 
12977   template <>
12978   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
12979   {
12980     enum
12981     {
12982       value = true
12983     };
12984   };
12985 
12986   template <>
12987   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
12988   {
12989     enum
12990     {
12991       value = true
12992     };
12993   };
12994 
12995   //=== VK_EXT_device_memory_report ===
12996   template <>
12997   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
12998   {
12999     enum
13000     {
13001       value = true
13002     };
13003   };
13004 
13005   template <>
13006   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
13007   {
13008     enum
13009     {
13010       value = true
13011     };
13012   };
13013 
13014   template <>
13015   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13016   {
13017     enum
13018     {
13019       value = true
13020     };
13021   };
13022 
13023   //=== VK_EXT_robustness2 ===
13024   template <>
13025   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13026   {
13027     enum
13028     {
13029       value = true
13030     };
13031   };
13032 
13033   template <>
13034   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13035   {
13036     enum
13037     {
13038       value = true
13039     };
13040   };
13041 
13042   template <>
13043   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13044   {
13045     enum
13046     {
13047       value = true
13048     };
13049   };
13050 
13051   //=== VK_EXT_custom_border_color ===
13052   template <>
13053   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13054   {
13055     enum
13056     {
13057       value = true
13058     };
13059   };
13060 
13061   template <>
13062   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13063   {
13064     enum
13065     {
13066       value = true
13067     };
13068   };
13069 
13070   template <>
13071   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13072   {
13073     enum
13074     {
13075       value = true
13076     };
13077   };
13078 
13079   template <>
13080   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13081   {
13082     enum
13083     {
13084       value = true
13085     };
13086   };
13087 
13088   //=== VK_KHR_pipeline_library ===
13089   template <>
13090   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13091   {
13092     enum
13093     {
13094       value = true
13095     };
13096   };
13097 
13098   //=== VK_NV_present_barrier ===
13099   template <>
13100   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13101   {
13102     enum
13103     {
13104       value = true
13105     };
13106   };
13107 
13108   template <>
13109   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13110   {
13111     enum
13112     {
13113       value = true
13114     };
13115   };
13116 
13117   template <>
13118   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13119   {
13120     enum
13121     {
13122       value = true
13123     };
13124   };
13125 
13126   template <>
13127   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13128   {
13129     enum
13130     {
13131       value = true
13132     };
13133   };
13134 
13135   //=== VK_KHR_present_id ===
13136   template <>
13137   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13138   {
13139     enum
13140     {
13141       value = true
13142     };
13143   };
13144 
13145   template <>
13146   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13147   {
13148     enum
13149     {
13150       value = true
13151     };
13152   };
13153 
13154   template <>
13155   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13156   {
13157     enum
13158     {
13159       value = true
13160     };
13161   };
13162 
13163   //=== VK_KHR_video_encode_queue ===
13164   template <>
13165   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13166   {
13167     enum
13168     {
13169       value = true
13170     };
13171   };
13172 
13173   template <>
13174   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13175   {
13176     enum
13177     {
13178       value = true
13179     };
13180   };
13181 
13182   template <>
13183   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13184   {
13185     enum
13186     {
13187       value = true
13188     };
13189   };
13190 
13191   template <>
13192   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13193   {
13194     enum
13195     {
13196       value = true
13197     };
13198   };
13199 
13200   template <>
13201   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
13202   {
13203     enum
13204     {
13205       value = true
13206     };
13207   };
13208 
13209   template <>
13210   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
13211   {
13212     enum
13213     {
13214       value = true
13215     };
13216   };
13217 
13218   template <>
13219   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
13220   {
13221     enum
13222     {
13223       value = true
13224     };
13225   };
13226 
13227   template <>
13228   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
13229   {
13230     enum
13231     {
13232       value = true
13233     };
13234   };
13235 
13236   //=== VK_NV_device_diagnostics_config ===
13237   template <>
13238   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
13239   {
13240     enum
13241     {
13242       value = true
13243     };
13244   };
13245 
13246   template <>
13247   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
13248   {
13249     enum
13250     {
13251       value = true
13252     };
13253   };
13254 
13255   template <>
13256   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
13257   {
13258     enum
13259     {
13260       value = true
13261     };
13262   };
13263 
13264 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
13265   //=== VK_NV_cuda_kernel_launch ===
13266   template <>
13267   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
13268   {
13269     enum
13270     {
13271       value = true
13272     };
13273   };
13274 
13275   template <>
13276   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
13277   {
13278     enum
13279     {
13280       value = true
13281     };
13282   };
13283 
13284   template <>
13285   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
13286   {
13287     enum
13288     {
13289       value = true
13290     };
13291   };
13292 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
13293 
13294   //=== VK_NV_low_latency ===
13295   template <>
13296   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
13297   {
13298     enum
13299     {
13300       value = true
13301     };
13302   };
13303 
13304 #  if defined( VK_USE_PLATFORM_METAL_EXT )
13305   //=== VK_EXT_metal_objects ===
13306   template <>
13307   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
13308   {
13309     enum
13310     {
13311       value = true
13312     };
13313   };
13314 
13315   template <>
13316   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
13317   {
13318     enum
13319     {
13320       value = true
13321     };
13322   };
13323 
13324   template <>
13325   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
13326   {
13327     enum
13328     {
13329       value = true
13330     };
13331   };
13332 
13333   template <>
13334   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
13335   {
13336     enum
13337     {
13338       value = true
13339     };
13340   };
13341 
13342   template <>
13343   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
13344   {
13345     enum
13346     {
13347       value = true
13348     };
13349   };
13350 
13351   template <>
13352   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
13353   {
13354     enum
13355     {
13356       value = true
13357     };
13358   };
13359 
13360   template <>
13361   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
13362   {
13363     enum
13364     {
13365       value = true
13366     };
13367   };
13368 
13369   template <>
13370   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
13371   {
13372     enum
13373     {
13374       value = true
13375     };
13376   };
13377 
13378   template <>
13379   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
13380   {
13381     enum
13382     {
13383       value = true
13384     };
13385   };
13386 
13387   template <>
13388   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
13389   {
13390     enum
13391     {
13392       value = true
13393     };
13394   };
13395 
13396   template <>
13397   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
13398   {
13399     enum
13400     {
13401       value = true
13402     };
13403   };
13404 
13405   template <>
13406   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
13407   {
13408     enum
13409     {
13410       value = true
13411     };
13412   };
13413 
13414   template <>
13415   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
13416   {
13417     enum
13418     {
13419       value = true
13420     };
13421   };
13422 
13423   template <>
13424   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
13425   {
13426     enum
13427     {
13428       value = true
13429     };
13430   };
13431 
13432   template <>
13433   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
13434   {
13435     enum
13436     {
13437       value = true
13438     };
13439   };
13440 
13441   template <>
13442   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
13443   {
13444     enum
13445     {
13446       value = true
13447     };
13448   };
13449 
13450   template <>
13451   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
13452   {
13453     enum
13454     {
13455       value = true
13456     };
13457   };
13458 
13459   template <>
13460   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
13461   {
13462     enum
13463     {
13464       value = true
13465     };
13466   };
13467 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
13468 
13469   //=== VK_KHR_synchronization2 ===
13470   template <>
13471   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
13472   {
13473     enum
13474     {
13475       value = true
13476     };
13477   };
13478 
13479   //=== VK_EXT_descriptor_buffer ===
13480   template <>
13481   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
13482   {
13483     enum
13484     {
13485       value = true
13486     };
13487   };
13488 
13489   template <>
13490   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
13491   {
13492     enum
13493     {
13494       value = true
13495     };
13496   };
13497 
13498   template <>
13499   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
13500   {
13501     enum
13502     {
13503       value = true
13504     };
13505   };
13506 
13507   template <>
13508   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
13509   {
13510     enum
13511     {
13512       value = true
13513     };
13514   };
13515 
13516   template <>
13517   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
13518   {
13519     enum
13520     {
13521       value = true
13522     };
13523   };
13524 
13525   template <>
13526   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
13527   {
13528     enum
13529     {
13530       value = true
13531     };
13532   };
13533 
13534   template <>
13535   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
13536   {
13537     enum
13538     {
13539       value = true
13540     };
13541   };
13542 
13543   template <>
13544   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
13545   {
13546     enum
13547     {
13548       value = true
13549     };
13550   };
13551 
13552   template <>
13553   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
13554   {
13555     enum
13556     {
13557       value = true
13558     };
13559   };
13560 
13561   template <>
13562   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
13563   {
13564     enum
13565     {
13566       value = true
13567     };
13568   };
13569 
13570   template <>
13571   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
13572   {
13573     enum
13574     {
13575       value = true
13576     };
13577   };
13578 
13579   //=== VK_EXT_graphics_pipeline_library ===
13580   template <>
13581   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
13582   {
13583     enum
13584     {
13585       value = true
13586     };
13587   };
13588 
13589   template <>
13590   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
13591   {
13592     enum
13593     {
13594       value = true
13595     };
13596   };
13597 
13598   template <>
13599   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
13600   {
13601     enum
13602     {
13603       value = true
13604     };
13605   };
13606 
13607   template <>
13608   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
13609   {
13610     enum
13611     {
13612       value = true
13613     };
13614   };
13615 
13616   //=== VK_AMD_shader_early_and_late_fragment_tests ===
13617   template <>
13618   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
13619   {
13620     enum
13621     {
13622       value = true
13623     };
13624   };
13625 
13626   template <>
13627   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
13628   {
13629     enum
13630     {
13631       value = true
13632     };
13633   };
13634 
13635   //=== VK_KHR_fragment_shader_barycentric ===
13636   template <>
13637   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
13638   {
13639     enum
13640     {
13641       value = true
13642     };
13643   };
13644 
13645   template <>
13646   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
13647   {
13648     enum
13649     {
13650       value = true
13651     };
13652   };
13653 
13654   template <>
13655   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
13656   {
13657     enum
13658     {
13659       value = true
13660     };
13661   };
13662 
13663   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
13664   template <>
13665   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
13666   {
13667     enum
13668     {
13669       value = true
13670     };
13671   };
13672 
13673   template <>
13674   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
13675   {
13676     enum
13677     {
13678       value = true
13679     };
13680   };
13681 
13682   //=== VK_NV_fragment_shading_rate_enums ===
13683   template <>
13684   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
13685   {
13686     enum
13687     {
13688       value = true
13689     };
13690   };
13691 
13692   template <>
13693   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
13694   {
13695     enum
13696     {
13697       value = true
13698     };
13699   };
13700 
13701   template <>
13702   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
13703   {
13704     enum
13705     {
13706       value = true
13707     };
13708   };
13709 
13710   template <>
13711   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
13712   {
13713     enum
13714     {
13715       value = true
13716     };
13717   };
13718 
13719   //=== VK_NV_ray_tracing_motion_blur ===
13720   template <>
13721   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
13722   {
13723     enum
13724     {
13725       value = true
13726     };
13727   };
13728 
13729   template <>
13730   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
13731   {
13732     enum
13733     {
13734       value = true
13735     };
13736   };
13737 
13738   template <>
13739   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
13740   {
13741     enum
13742     {
13743       value = true
13744     };
13745   };
13746 
13747   template <>
13748   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
13749   {
13750     enum
13751     {
13752       value = true
13753     };
13754   };
13755 
13756   //=== VK_EXT_mesh_shader ===
13757   template <>
13758   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
13759   {
13760     enum
13761     {
13762       value = true
13763     };
13764   };
13765 
13766   template <>
13767   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
13768   {
13769     enum
13770     {
13771       value = true
13772     };
13773   };
13774 
13775   template <>
13776   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
13777   {
13778     enum
13779     {
13780       value = true
13781     };
13782   };
13783 
13784   //=== VK_EXT_ycbcr_2plane_444_formats ===
13785   template <>
13786   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13787   {
13788     enum
13789     {
13790       value = true
13791     };
13792   };
13793 
13794   template <>
13795   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
13796   {
13797     enum
13798     {
13799       value = true
13800     };
13801   };
13802 
13803   //=== VK_EXT_fragment_density_map2 ===
13804   template <>
13805   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
13806   {
13807     enum
13808     {
13809       value = true
13810     };
13811   };
13812 
13813   template <>
13814   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
13815   {
13816     enum
13817     {
13818       value = true
13819     };
13820   };
13821 
13822   template <>
13823   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
13824   {
13825     enum
13826     {
13827       value = true
13828     };
13829   };
13830 
13831   //=== VK_QCOM_rotated_copy_commands ===
13832   template <>
13833   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
13834   {
13835     enum
13836     {
13837       value = true
13838     };
13839   };
13840 
13841   template <>
13842   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
13843   {
13844     enum
13845     {
13846       value = true
13847     };
13848   };
13849 
13850   //=== VK_KHR_workgroup_memory_explicit_layout ===
13851   template <>
13852   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
13853   {
13854     enum
13855     {
13856       value = true
13857     };
13858   };
13859 
13860   template <>
13861   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
13862   {
13863     enum
13864     {
13865       value = true
13866     };
13867   };
13868 
13869   //=== VK_EXT_image_compression_control ===
13870   template <>
13871   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
13872   {
13873     enum
13874     {
13875       value = true
13876     };
13877   };
13878 
13879   template <>
13880   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
13881   {
13882     enum
13883     {
13884       value = true
13885     };
13886   };
13887 
13888   template <>
13889   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
13890   {
13891     enum
13892     {
13893       value = true
13894     };
13895   };
13896 
13897   template <>
13898   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
13899   {
13900     enum
13901     {
13902       value = true
13903     };
13904   };
13905 
13906   template <>
13907   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
13908   {
13909     enum
13910     {
13911       value = true
13912     };
13913   };
13914 
13915   template <>
13916   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
13917   {
13918     enum
13919     {
13920       value = true
13921     };
13922   };
13923 
13924   template <>
13925   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
13926   {
13927     enum
13928     {
13929       value = true
13930     };
13931   };
13932 
13933   template <>
13934   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2KHR>
13935   {
13936     enum
13937     {
13938       value = true
13939     };
13940   };
13941 
13942   //=== VK_EXT_attachment_feedback_loop_layout ===
13943   template <>
13944   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
13945   {
13946     enum
13947     {
13948       value = true
13949     };
13950   };
13951 
13952   template <>
13953   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
13954   {
13955     enum
13956     {
13957       value = true
13958     };
13959   };
13960 
13961   //=== VK_EXT_4444_formats ===
13962   template <>
13963   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13964   {
13965     enum
13966     {
13967       value = true
13968     };
13969   };
13970 
13971   template <>
13972   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
13973   {
13974     enum
13975     {
13976       value = true
13977     };
13978   };
13979 
13980   //=== VK_EXT_device_fault ===
13981   template <>
13982   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
13983   {
13984     enum
13985     {
13986       value = true
13987     };
13988   };
13989 
13990   template <>
13991   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
13992   {
13993     enum
13994     {
13995       value = true
13996     };
13997   };
13998 
13999   //=== VK_EXT_rgba10x6_formats ===
14000   template <>
14001   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14002   {
14003     enum
14004     {
14005       value = true
14006     };
14007   };
14008 
14009   template <>
14010   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
14011   {
14012     enum
14013     {
14014       value = true
14015     };
14016   };
14017 
14018   //=== VK_EXT_vertex_input_dynamic_state ===
14019   template <>
14020   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14021   {
14022     enum
14023     {
14024       value = true
14025     };
14026   };
14027 
14028   template <>
14029   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14030   {
14031     enum
14032     {
14033       value = true
14034     };
14035   };
14036 
14037   //=== VK_EXT_physical_device_drm ===
14038   template <>
14039   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14040   {
14041     enum
14042     {
14043       value = true
14044     };
14045   };
14046 
14047   //=== VK_EXT_device_address_binding_report ===
14048   template <>
14049   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14050   {
14051     enum
14052     {
14053       value = true
14054     };
14055   };
14056 
14057   template <>
14058   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14059   {
14060     enum
14061     {
14062       value = true
14063     };
14064   };
14065 
14066   template <>
14067   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14068   {
14069     enum
14070     {
14071       value = true
14072     };
14073   };
14074 
14075   //=== VK_EXT_depth_clip_control ===
14076   template <>
14077   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14078   {
14079     enum
14080     {
14081       value = true
14082     };
14083   };
14084 
14085   template <>
14086   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14087   {
14088     enum
14089     {
14090       value = true
14091     };
14092   };
14093 
14094   template <>
14095   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14096   {
14097     enum
14098     {
14099       value = true
14100     };
14101   };
14102 
14103   //=== VK_EXT_primitive_topology_list_restart ===
14104   template <>
14105   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14106   {
14107     enum
14108     {
14109       value = true
14110     };
14111   };
14112 
14113   template <>
14114   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14115   {
14116     enum
14117     {
14118       value = true
14119     };
14120   };
14121 
14122 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14123   //=== VK_FUCHSIA_external_memory ===
14124   template <>
14125   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14126   {
14127     enum
14128     {
14129       value = true
14130     };
14131   };
14132 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14133 
14134 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14135   //=== VK_FUCHSIA_buffer_collection ===
14136   template <>
14137   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14138   {
14139     enum
14140     {
14141       value = true
14142     };
14143   };
14144 
14145   template <>
14146   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14147   {
14148     enum
14149     {
14150       value = true
14151     };
14152   };
14153 
14154   template <>
14155   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14156   {
14157     enum
14158     {
14159       value = true
14160     };
14161   };
14162 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14163 
14164   //=== VK_HUAWEI_subpass_shading ===
14165   template <>
14166   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14167   {
14168     enum
14169     {
14170       value = true
14171     };
14172   };
14173 
14174   template <>
14175   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14176   {
14177     enum
14178     {
14179       value = true
14180     };
14181   };
14182 
14183   template <>
14184   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14185   {
14186     enum
14187     {
14188       value = true
14189     };
14190   };
14191 
14192   template <>
14193   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
14194   {
14195     enum
14196     {
14197       value = true
14198     };
14199   };
14200 
14201   //=== VK_HUAWEI_invocation_mask ===
14202   template <>
14203   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
14204   {
14205     enum
14206     {
14207       value = true
14208     };
14209   };
14210 
14211   template <>
14212   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
14213   {
14214     enum
14215     {
14216       value = true
14217     };
14218   };
14219 
14220   //=== VK_NV_external_memory_rdma ===
14221   template <>
14222   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
14223   {
14224     enum
14225     {
14226       value = true
14227     };
14228   };
14229 
14230   template <>
14231   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
14232   {
14233     enum
14234     {
14235       value = true
14236     };
14237   };
14238 
14239   //=== VK_EXT_pipeline_properties ===
14240   template <>
14241   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
14242   {
14243     enum
14244     {
14245       value = true
14246     };
14247   };
14248 
14249   template <>
14250   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
14251   {
14252     enum
14253     {
14254       value = true
14255     };
14256   };
14257 
14258   //=== VK_EXT_frame_boundary ===
14259   template <>
14260   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
14261   {
14262     enum
14263     {
14264       value = true
14265     };
14266   };
14267 
14268   template <>
14269   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
14270   {
14271     enum
14272     {
14273       value = true
14274     };
14275   };
14276 
14277   template <>
14278   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
14279   {
14280     enum
14281     {
14282       value = true
14283     };
14284   };
14285 
14286   template <>
14287   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
14288   {
14289     enum
14290     {
14291       value = true
14292     };
14293   };
14294 
14295   template <>
14296   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
14297   {
14298     enum
14299     {
14300       value = true
14301     };
14302   };
14303 
14304   template <>
14305   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
14306   {
14307     enum
14308     {
14309       value = true
14310     };
14311   };
14312 
14313   //=== VK_EXT_multisampled_render_to_single_sampled ===
14314   template <>
14315   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
14316   {
14317     enum
14318     {
14319       value = true
14320     };
14321   };
14322 
14323   template <>
14324   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
14325   {
14326     enum
14327     {
14328       value = true
14329     };
14330   };
14331 
14332   template <>
14333   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
14334   {
14335     enum
14336     {
14337       value = true
14338     };
14339   };
14340 
14341   template <>
14342   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
14343   {
14344     enum
14345     {
14346       value = true
14347     };
14348   };
14349 
14350   template <>
14351   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
14352   {
14353     enum
14354     {
14355       value = true
14356     };
14357   };
14358 
14359   //=== VK_EXT_extended_dynamic_state2 ===
14360   template <>
14361   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
14362   {
14363     enum
14364     {
14365       value = true
14366     };
14367   };
14368 
14369   template <>
14370   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
14371   {
14372     enum
14373     {
14374       value = true
14375     };
14376   };
14377 
14378   //=== VK_EXT_color_write_enable ===
14379   template <>
14380   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
14381   {
14382     enum
14383     {
14384       value = true
14385     };
14386   };
14387 
14388   template <>
14389   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
14390   {
14391     enum
14392     {
14393       value = true
14394     };
14395   };
14396 
14397   template <>
14398   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
14399   {
14400     enum
14401     {
14402       value = true
14403     };
14404   };
14405 
14406   //=== VK_EXT_primitives_generated_query ===
14407   template <>
14408   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
14409   {
14410     enum
14411     {
14412       value = true
14413     };
14414   };
14415 
14416   template <>
14417   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
14418   {
14419     enum
14420     {
14421       value = true
14422     };
14423   };
14424 
14425   //=== VK_KHR_ray_tracing_maintenance1 ===
14426   template <>
14427   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
14428   {
14429     enum
14430     {
14431       value = true
14432     };
14433   };
14434 
14435   template <>
14436   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
14437   {
14438     enum
14439     {
14440       value = true
14441     };
14442   };
14443 
14444   //=== VK_EXT_image_view_min_lod ===
14445   template <>
14446   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
14447   {
14448     enum
14449     {
14450       value = true
14451     };
14452   };
14453 
14454   template <>
14455   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
14456   {
14457     enum
14458     {
14459       value = true
14460     };
14461   };
14462 
14463   template <>
14464   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
14465   {
14466     enum
14467     {
14468       value = true
14469     };
14470   };
14471 
14472   //=== VK_EXT_multi_draw ===
14473   template <>
14474   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
14475   {
14476     enum
14477     {
14478       value = true
14479     };
14480   };
14481 
14482   template <>
14483   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
14484   {
14485     enum
14486     {
14487       value = true
14488     };
14489   };
14490 
14491   template <>
14492   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
14493   {
14494     enum
14495     {
14496       value = true
14497     };
14498   };
14499 
14500   //=== VK_EXT_image_2d_view_of_3d ===
14501   template <>
14502   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14503   {
14504     enum
14505     {
14506       value = true
14507     };
14508   };
14509 
14510   template <>
14511   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
14512   {
14513     enum
14514     {
14515       value = true
14516     };
14517   };
14518 
14519   //=== VK_EXT_shader_tile_image ===
14520   template <>
14521   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
14522   {
14523     enum
14524     {
14525       value = true
14526     };
14527   };
14528 
14529   template <>
14530   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
14531   {
14532     enum
14533     {
14534       value = true
14535     };
14536   };
14537 
14538   template <>
14539   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
14540   {
14541     enum
14542     {
14543       value = true
14544     };
14545   };
14546 
14547   //=== VK_EXT_opacity_micromap ===
14548   template <>
14549   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
14550   {
14551     enum
14552     {
14553       value = true
14554     };
14555   };
14556 
14557   template <>
14558   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
14559   {
14560     enum
14561     {
14562       value = true
14563     };
14564   };
14565 
14566   template <>
14567   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
14568   {
14569     enum
14570     {
14571       value = true
14572     };
14573   };
14574 
14575   template <>
14576   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
14577   {
14578     enum
14579     {
14580       value = true
14581     };
14582   };
14583 
14584 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
14585   //=== VK_NV_displacement_micromap ===
14586   template <>
14587   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
14588   {
14589     enum
14590     {
14591       value = true
14592     };
14593   };
14594 
14595   template <>
14596   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
14597   {
14598     enum
14599     {
14600       value = true
14601     };
14602   };
14603 
14604   template <>
14605   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
14606   {
14607     enum
14608     {
14609       value = true
14610     };
14611   };
14612 
14613   template <>
14614   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
14615   {
14616     enum
14617     {
14618       value = true
14619     };
14620   };
14621 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
14622 
14623   //=== VK_HUAWEI_cluster_culling_shader ===
14624   template <>
14625   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
14626   {
14627     enum
14628     {
14629       value = true
14630     };
14631   };
14632 
14633   template <>
14634   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
14635   {
14636     enum
14637     {
14638       value = true
14639     };
14640   };
14641 
14642   template <>
14643   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
14644   {
14645     enum
14646     {
14647       value = true
14648     };
14649   };
14650 
14651   template <>
14652   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
14653   {
14654     enum
14655     {
14656       value = true
14657     };
14658   };
14659 
14660   //=== VK_EXT_border_color_swizzle ===
14661   template <>
14662   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
14663   {
14664     enum
14665     {
14666       value = true
14667     };
14668   };
14669 
14670   template <>
14671   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
14672   {
14673     enum
14674     {
14675       value = true
14676     };
14677   };
14678 
14679   template <>
14680   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
14681   {
14682     enum
14683     {
14684       value = true
14685     };
14686   };
14687 
14688   //=== VK_EXT_pageable_device_local_memory ===
14689   template <>
14690   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
14691   {
14692     enum
14693     {
14694       value = true
14695     };
14696   };
14697 
14698   template <>
14699   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
14700   {
14701     enum
14702     {
14703       value = true
14704     };
14705   };
14706 
14707   //=== VK_ARM_shader_core_properties ===
14708   template <>
14709   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
14710   {
14711     enum
14712     {
14713       value = true
14714     };
14715   };
14716 
14717   //=== VK_ARM_scheduling_controls ===
14718   template <>
14719   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
14720   {
14721     enum
14722     {
14723       value = true
14724     };
14725   };
14726 
14727   template <>
14728   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
14729   {
14730     enum
14731     {
14732       value = true
14733     };
14734   };
14735 
14736   template <>
14737   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
14738   {
14739     enum
14740     {
14741       value = true
14742     };
14743   };
14744 
14745   template <>
14746   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
14747   {
14748     enum
14749     {
14750       value = true
14751     };
14752   };
14753 
14754   template <>
14755   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
14756   {
14757     enum
14758     {
14759       value = true
14760     };
14761   };
14762 
14763   //=== VK_EXT_image_sliced_view_of_3d ===
14764   template <>
14765   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14766   {
14767     enum
14768     {
14769       value = true
14770     };
14771   };
14772 
14773   template <>
14774   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
14775   {
14776     enum
14777     {
14778       value = true
14779     };
14780   };
14781 
14782   template <>
14783   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
14784   {
14785     enum
14786     {
14787       value = true
14788     };
14789   };
14790 
14791   //=== VK_VALVE_descriptor_set_host_mapping ===
14792   template <>
14793   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
14794   {
14795     enum
14796     {
14797       value = true
14798     };
14799   };
14800 
14801   template <>
14802   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
14803   {
14804     enum
14805     {
14806       value = true
14807     };
14808   };
14809 
14810   //=== VK_EXT_depth_clamp_zero_one ===
14811   template <>
14812   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
14813   {
14814     enum
14815     {
14816       value = true
14817     };
14818   };
14819 
14820   template <>
14821   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
14822   {
14823     enum
14824     {
14825       value = true
14826     };
14827   };
14828 
14829   //=== VK_EXT_non_seamless_cube_map ===
14830   template <>
14831   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
14832   {
14833     enum
14834     {
14835       value = true
14836     };
14837   };
14838 
14839   template <>
14840   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
14841   {
14842     enum
14843     {
14844       value = true
14845     };
14846   };
14847 
14848   //=== VK_ARM_render_pass_striped ===
14849   template <>
14850   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
14851   {
14852     enum
14853     {
14854       value = true
14855     };
14856   };
14857 
14858   template <>
14859   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
14860   {
14861     enum
14862     {
14863       value = true
14864     };
14865   };
14866 
14867   template <>
14868   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
14869   {
14870     enum
14871     {
14872       value = true
14873     };
14874   };
14875 
14876   template <>
14877   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
14878   {
14879     enum
14880     {
14881       value = true
14882     };
14883   };
14884 
14885   template <>
14886   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
14887   {
14888     enum
14889     {
14890       value = true
14891     };
14892   };
14893 
14894   template <>
14895   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
14896   {
14897     enum
14898     {
14899       value = true
14900     };
14901   };
14902 
14903   //=== VK_QCOM_fragment_density_map_offset ===
14904   template <>
14905   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
14906   {
14907     enum
14908     {
14909       value = true
14910     };
14911   };
14912 
14913   template <>
14914   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
14915   {
14916     enum
14917     {
14918       value = true
14919     };
14920   };
14921 
14922   template <>
14923   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
14924   {
14925     enum
14926     {
14927       value = true
14928     };
14929   };
14930 
14931   template <>
14932   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
14933   {
14934     enum
14935     {
14936       value = true
14937     };
14938   };
14939 
14940   //=== VK_NV_copy_memory_indirect ===
14941   template <>
14942   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
14943   {
14944     enum
14945     {
14946       value = true
14947     };
14948   };
14949 
14950   template <>
14951   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
14952   {
14953     enum
14954     {
14955       value = true
14956     };
14957   };
14958 
14959   template <>
14960   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
14961   {
14962     enum
14963     {
14964       value = true
14965     };
14966   };
14967 
14968   //=== VK_NV_memory_decompression ===
14969   template <>
14970   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
14971   {
14972     enum
14973     {
14974       value = true
14975     };
14976   };
14977 
14978   template <>
14979   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
14980   {
14981     enum
14982     {
14983       value = true
14984     };
14985   };
14986 
14987   template <>
14988   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
14989   {
14990     enum
14991     {
14992       value = true
14993     };
14994   };
14995 
14996   //=== VK_NV_device_generated_commands_compute ===
14997   template <>
14998   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
14999   {
15000     enum
15001     {
15002       value = true
15003     };
15004   };
15005 
15006   template <>
15007   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
15008   {
15009     enum
15010     {
15011       value = true
15012     };
15013   };
15014 
15015   //=== VK_NV_linear_color_attachment ===
15016   template <>
15017   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15018   {
15019     enum
15020     {
15021       value = true
15022     };
15023   };
15024 
15025   template <>
15026   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15027   {
15028     enum
15029     {
15030       value = true
15031     };
15032   };
15033 
15034   //=== VK_EXT_image_compression_control_swapchain ===
15035   template <>
15036   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15037   {
15038     enum
15039     {
15040       value = true
15041     };
15042   };
15043 
15044   template <>
15045   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15046   {
15047     enum
15048     {
15049       value = true
15050     };
15051   };
15052 
15053   //=== VK_QCOM_image_processing ===
15054   template <>
15055   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15056   {
15057     enum
15058     {
15059       value = true
15060     };
15061   };
15062 
15063   template <>
15064   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15065   {
15066     enum
15067     {
15068       value = true
15069     };
15070   };
15071 
15072   template <>
15073   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15074   {
15075     enum
15076     {
15077       value = true
15078     };
15079   };
15080 
15081   template <>
15082   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15083   {
15084     enum
15085     {
15086       value = true
15087     };
15088   };
15089 
15090   //=== VK_EXT_nested_command_buffer ===
15091   template <>
15092   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15093   {
15094     enum
15095     {
15096       value = true
15097     };
15098   };
15099 
15100   template <>
15101   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15102   {
15103     enum
15104     {
15105       value = true
15106     };
15107   };
15108 
15109   template <>
15110   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15111   {
15112     enum
15113     {
15114       value = true
15115     };
15116   };
15117 
15118   //=== VK_EXT_external_memory_acquire_unmodified ===
15119   template <>
15120   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15121   {
15122     enum
15123     {
15124       value = true
15125     };
15126   };
15127 
15128   template <>
15129   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15130   {
15131     enum
15132     {
15133       value = true
15134     };
15135   };
15136 
15137   template <>
15138   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15139   {
15140     enum
15141     {
15142       value = true
15143     };
15144   };
15145 
15146   template <>
15147   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
15148   {
15149     enum
15150     {
15151       value = true
15152     };
15153   };
15154 
15155   //=== VK_EXT_extended_dynamic_state3 ===
15156   template <>
15157   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
15158   {
15159     enum
15160     {
15161       value = true
15162     };
15163   };
15164 
15165   template <>
15166   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
15167   {
15168     enum
15169     {
15170       value = true
15171     };
15172   };
15173 
15174   template <>
15175   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
15176   {
15177     enum
15178     {
15179       value = true
15180     };
15181   };
15182 
15183   //=== VK_EXT_subpass_merge_feedback ===
15184   template <>
15185   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
15186   {
15187     enum
15188     {
15189       value = true
15190     };
15191   };
15192 
15193   template <>
15194   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
15195   {
15196     enum
15197     {
15198       value = true
15199     };
15200   };
15201 
15202   template <>
15203   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
15204   {
15205     enum
15206     {
15207       value = true
15208     };
15209   };
15210 
15211   template <>
15212   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
15213   {
15214     enum
15215     {
15216       value = true
15217     };
15218   };
15219 
15220   template <>
15221   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
15222   {
15223     enum
15224     {
15225       value = true
15226     };
15227   };
15228 
15229   template <>
15230   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
15231   {
15232     enum
15233     {
15234       value = true
15235     };
15236   };
15237 
15238   //=== VK_LUNARG_direct_driver_loading ===
15239   template <>
15240   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
15241   {
15242     enum
15243     {
15244       value = true
15245     };
15246   };
15247 
15248   //=== VK_EXT_shader_module_identifier ===
15249   template <>
15250   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
15251   {
15252     enum
15253     {
15254       value = true
15255     };
15256   };
15257 
15258   template <>
15259   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
15260   {
15261     enum
15262     {
15263       value = true
15264     };
15265   };
15266 
15267   template <>
15268   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
15269   {
15270     enum
15271     {
15272       value = true
15273     };
15274   };
15275 
15276   template <>
15277   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
15278   {
15279     enum
15280     {
15281       value = true
15282     };
15283   };
15284 
15285   //=== VK_EXT_rasterization_order_attachment_access ===
15286   template <>
15287   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
15288   {
15289     enum
15290     {
15291       value = true
15292     };
15293   };
15294 
15295   template <>
15296   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
15297   {
15298     enum
15299     {
15300       value = true
15301     };
15302   };
15303 
15304   //=== VK_NV_optical_flow ===
15305   template <>
15306   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
15307   {
15308     enum
15309     {
15310       value = true
15311     };
15312   };
15313 
15314   template <>
15315   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
15316   {
15317     enum
15318     {
15319       value = true
15320     };
15321   };
15322 
15323   template <>
15324   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
15325   {
15326     enum
15327     {
15328       value = true
15329     };
15330   };
15331 
15332   template <>
15333   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
15334   {
15335     enum
15336     {
15337       value = true
15338     };
15339   };
15340 
15341   template <>
15342   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
15343   {
15344     enum
15345     {
15346       value = true
15347     };
15348   };
15349 
15350   template <>
15351   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
15352   {
15353     enum
15354     {
15355       value = true
15356     };
15357   };
15358 
15359   //=== VK_EXT_legacy_dithering ===
15360   template <>
15361   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
15362   {
15363     enum
15364     {
15365       value = true
15366     };
15367   };
15368 
15369   template <>
15370   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
15371   {
15372     enum
15373     {
15374       value = true
15375     };
15376   };
15377 
15378   //=== VK_EXT_pipeline_protected_access ===
15379   template <>
15380   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, PhysicalDeviceFeatures2>
15381   {
15382     enum
15383     {
15384       value = true
15385     };
15386   };
15387 
15388   template <>
15389   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, DeviceCreateInfo>
15390   {
15391     enum
15392     {
15393       value = true
15394     };
15395   };
15396 
15397 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
15398   //=== VK_ANDROID_external_format_resolve ===
15399   template <>
15400   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
15401   {
15402     enum
15403     {
15404       value = true
15405     };
15406   };
15407 
15408   template <>
15409   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
15410   {
15411     enum
15412     {
15413       value = true
15414     };
15415   };
15416 
15417   template <>
15418   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
15419   {
15420     enum
15421     {
15422       value = true
15423     };
15424   };
15425 
15426   template <>
15427   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
15428   {
15429     enum
15430     {
15431       value = true
15432     };
15433   };
15434 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
15435 
15436   //=== VK_KHR_maintenance5 ===
15437   template <>
15438   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, PhysicalDeviceFeatures2>
15439   {
15440     enum
15441     {
15442       value = true
15443     };
15444   };
15445 
15446   template <>
15447   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, DeviceCreateInfo>
15448   {
15449     enum
15450     {
15451       value = true
15452     };
15453   };
15454 
15455   template <>
15456   struct StructExtends<PhysicalDeviceMaintenance5PropertiesKHR, PhysicalDeviceProperties2>
15457   {
15458     enum
15459     {
15460       value = true
15461     };
15462   };
15463 
15464   template <>
15465   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, ComputePipelineCreateInfo>
15466   {
15467     enum
15468     {
15469       value = true
15470     };
15471   };
15472 
15473   template <>
15474   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, GraphicsPipelineCreateInfo>
15475   {
15476     enum
15477     {
15478       value = true
15479     };
15480   };
15481 
15482   template <>
15483   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoNV>
15484   {
15485     enum
15486     {
15487       value = true
15488     };
15489   };
15490 
15491   template <>
15492   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoKHR>
15493   {
15494     enum
15495     {
15496       value = true
15497     };
15498   };
15499 
15500   template <>
15501   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferViewCreateInfo>
15502   {
15503     enum
15504     {
15505       value = true
15506     };
15507   };
15508 
15509   template <>
15510   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferCreateInfo>
15511   {
15512     enum
15513     {
15514       value = true
15515     };
15516   };
15517 
15518   template <>
15519   struct StructExtends<BufferUsageFlags2CreateInfoKHR, PhysicalDeviceExternalBufferInfo>
15520   {
15521     enum
15522     {
15523       value = true
15524     };
15525   };
15526 
15527   template <>
15528   struct StructExtends<BufferUsageFlags2CreateInfoKHR, DescriptorBufferBindingInfoEXT>
15529   {
15530     enum
15531     {
15532       value = true
15533     };
15534   };
15535 
15536   //=== VK_KHR_ray_tracing_position_fetch ===
15537   template <>
15538   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
15539   {
15540     enum
15541     {
15542       value = true
15543     };
15544   };
15545 
15546   template <>
15547   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
15548   {
15549     enum
15550     {
15551       value = true
15552     };
15553   };
15554 
15555   //=== VK_EXT_shader_object ===
15556   template <>
15557   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
15558   {
15559     enum
15560     {
15561       value = true
15562     };
15563   };
15564 
15565   template <>
15566   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
15567   {
15568     enum
15569     {
15570       value = true
15571     };
15572   };
15573 
15574   template <>
15575   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
15576   {
15577     enum
15578     {
15579       value = true
15580     };
15581   };
15582 
15583   //=== VK_QCOM_tile_properties ===
15584   template <>
15585   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
15586   {
15587     enum
15588     {
15589       value = true
15590     };
15591   };
15592 
15593   template <>
15594   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
15595   {
15596     enum
15597     {
15598       value = true
15599     };
15600   };
15601 
15602   //=== VK_SEC_amigo_profiling ===
15603   template <>
15604   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
15605   {
15606     enum
15607     {
15608       value = true
15609     };
15610   };
15611 
15612   template <>
15613   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
15614   {
15615     enum
15616     {
15617       value = true
15618     };
15619   };
15620 
15621   template <>
15622   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
15623   {
15624     enum
15625     {
15626       value = true
15627     };
15628   };
15629 
15630   //=== VK_QCOM_multiview_per_view_viewports ===
15631   template <>
15632   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
15633   {
15634     enum
15635     {
15636       value = true
15637     };
15638   };
15639 
15640   template <>
15641   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
15642   {
15643     enum
15644     {
15645       value = true
15646     };
15647   };
15648 
15649   //=== VK_NV_ray_tracing_invocation_reorder ===
15650   template <>
15651   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
15652   {
15653     enum
15654     {
15655       value = true
15656     };
15657   };
15658 
15659   template <>
15660   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
15661   {
15662     enum
15663     {
15664       value = true
15665     };
15666   };
15667 
15668   template <>
15669   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
15670   {
15671     enum
15672     {
15673       value = true
15674     };
15675   };
15676 
15677   //=== VK_NV_extended_sparse_address_space ===
15678   template <>
15679   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
15680   {
15681     enum
15682     {
15683       value = true
15684     };
15685   };
15686 
15687   template <>
15688   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
15689   {
15690     enum
15691     {
15692       value = true
15693     };
15694   };
15695 
15696   template <>
15697   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
15698   {
15699     enum
15700     {
15701       value = true
15702     };
15703   };
15704 
15705   //=== VK_EXT_mutable_descriptor_type ===
15706   template <>
15707   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
15708   {
15709     enum
15710     {
15711       value = true
15712     };
15713   };
15714 
15715   template <>
15716   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
15717   {
15718     enum
15719     {
15720       value = true
15721     };
15722   };
15723 
15724   template <>
15725   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
15726   {
15727     enum
15728     {
15729       value = true
15730     };
15731   };
15732 
15733   template <>
15734   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
15735   {
15736     enum
15737     {
15738       value = true
15739     };
15740   };
15741 
15742   //=== VK_EXT_layer_settings ===
15743   template <>
15744   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
15745   {
15746     enum
15747     {
15748       value = true
15749     };
15750   };
15751 
15752   //=== VK_ARM_shader_core_builtins ===
15753   template <>
15754   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
15755   {
15756     enum
15757     {
15758       value = true
15759     };
15760   };
15761 
15762   template <>
15763   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
15764   {
15765     enum
15766     {
15767       value = true
15768     };
15769   };
15770 
15771   template <>
15772   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
15773   {
15774     enum
15775     {
15776       value = true
15777     };
15778   };
15779 
15780   //=== VK_EXT_pipeline_library_group_handles ===
15781   template <>
15782   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
15783   {
15784     enum
15785     {
15786       value = true
15787     };
15788   };
15789 
15790   template <>
15791   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
15792   {
15793     enum
15794     {
15795       value = true
15796     };
15797   };
15798 
15799   //=== VK_EXT_dynamic_rendering_unused_attachments ===
15800   template <>
15801   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
15802   {
15803     enum
15804     {
15805       value = true
15806     };
15807   };
15808 
15809   template <>
15810   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
15811   {
15812     enum
15813     {
15814       value = true
15815     };
15816   };
15817 
15818   //=== VK_NV_low_latency2 ===
15819   template <>
15820   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
15821   {
15822     enum
15823     {
15824       value = true
15825     };
15826   };
15827 
15828   template <>
15829   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
15830   {
15831     enum
15832     {
15833       value = true
15834     };
15835   };
15836 
15837   template <>
15838   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
15839   {
15840     enum
15841     {
15842       value = true
15843     };
15844   };
15845 
15846   template <>
15847   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
15848   {
15849     enum
15850     {
15851       value = true
15852     };
15853   };
15854 
15855   //=== VK_KHR_cooperative_matrix ===
15856   template <>
15857   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
15858   {
15859     enum
15860     {
15861       value = true
15862     };
15863   };
15864 
15865   template <>
15866   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
15867   {
15868     enum
15869     {
15870       value = true
15871     };
15872   };
15873 
15874   template <>
15875   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
15876   {
15877     enum
15878     {
15879       value = true
15880     };
15881   };
15882 
15883   //=== VK_QCOM_multiview_per_view_render_areas ===
15884   template <>
15885   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
15886   {
15887     enum
15888     {
15889       value = true
15890     };
15891   };
15892 
15893   template <>
15894   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
15895   {
15896     enum
15897     {
15898       value = true
15899     };
15900   };
15901 
15902   template <>
15903   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
15904   {
15905     enum
15906     {
15907       value = true
15908     };
15909   };
15910 
15911   template <>
15912   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
15913   {
15914     enum
15915     {
15916       value = true
15917     };
15918   };
15919 
15920   //=== VK_KHR_video_maintenance1 ===
15921   template <>
15922   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
15923   {
15924     enum
15925     {
15926       value = true
15927     };
15928   };
15929 
15930   template <>
15931   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
15932   {
15933     enum
15934     {
15935       value = true
15936     };
15937   };
15938 
15939   template <>
15940   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
15941   {
15942     enum
15943     {
15944       value = true
15945     };
15946   };
15947 
15948   template <>
15949   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
15950   {
15951     enum
15952     {
15953       value = true
15954     };
15955   };
15956 
15957   //=== VK_NV_per_stage_descriptor_set ===
15958   template <>
15959   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
15960   {
15961     enum
15962     {
15963       value = true
15964     };
15965   };
15966 
15967   template <>
15968   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
15969   {
15970     enum
15971     {
15972       value = true
15973     };
15974   };
15975 
15976   //=== VK_QCOM_image_processing2 ===
15977   template <>
15978   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
15979   {
15980     enum
15981     {
15982       value = true
15983     };
15984   };
15985 
15986   template <>
15987   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
15988   {
15989     enum
15990     {
15991       value = true
15992     };
15993   };
15994 
15995   template <>
15996   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
15997   {
15998     enum
15999     {
16000       value = true
16001     };
16002   };
16003 
16004   template <>
16005   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
16006   {
16007     enum
16008     {
16009       value = true
16010     };
16011   };
16012 
16013   //=== VK_QCOM_filter_cubic_weights ===
16014   template <>
16015   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
16016   {
16017     enum
16018     {
16019       value = true
16020     };
16021   };
16022 
16023   template <>
16024   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
16025   {
16026     enum
16027     {
16028       value = true
16029     };
16030   };
16031 
16032   template <>
16033   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
16034   {
16035     enum
16036     {
16037       value = true
16038     };
16039   };
16040 
16041   template <>
16042   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
16043   {
16044     enum
16045     {
16046       value = true
16047     };
16048   };
16049 
16050   //=== VK_QCOM_ycbcr_degamma ===
16051   template <>
16052   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
16053   {
16054     enum
16055     {
16056       value = true
16057     };
16058   };
16059 
16060   template <>
16061   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
16062   {
16063     enum
16064     {
16065       value = true
16066     };
16067   };
16068 
16069   template <>
16070   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
16071   {
16072     enum
16073     {
16074       value = true
16075     };
16076   };
16077 
16078   //=== VK_QCOM_filter_cubic_clamp ===
16079   template <>
16080   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
16081   {
16082     enum
16083     {
16084       value = true
16085     };
16086   };
16087 
16088   template <>
16089   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
16090   {
16091     enum
16092     {
16093       value = true
16094     };
16095   };
16096 
16097   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
16098   template <>
16099   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
16100   {
16101     enum
16102     {
16103       value = true
16104     };
16105   };
16106 
16107   template <>
16108   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
16109   {
16110     enum
16111     {
16112       value = true
16113     };
16114   };
16115 
16116   //=== VK_KHR_vertex_attribute_divisor ===
16117   template <>
16118   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesKHR, PhysicalDeviceProperties2>
16119   {
16120     enum
16121     {
16122       value = true
16123     };
16124   };
16125 
16126   template <>
16127   struct StructExtends<PipelineVertexInputDivisorStateCreateInfoKHR, PipelineVertexInputStateCreateInfo>
16128   {
16129     enum
16130     {
16131       value = true
16132     };
16133   };
16134 
16135   template <>
16136   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, PhysicalDeviceFeatures2>
16137   {
16138     enum
16139     {
16140       value = true
16141     };
16142   };
16143 
16144   template <>
16145   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, DeviceCreateInfo>
16146   {
16147     enum
16148     {
16149       value = true
16150     };
16151   };
16152 
16153 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
16154   //=== VK_QNX_external_memory_screen_buffer ===
16155   template <>
16156   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
16157   {
16158     enum
16159     {
16160       value = true
16161     };
16162   };
16163 
16164   template <>
16165   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
16166   {
16167     enum
16168     {
16169       value = true
16170     };
16171   };
16172 
16173   template <>
16174   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
16175   {
16176     enum
16177     {
16178       value = true
16179     };
16180   };
16181 
16182   template <>
16183   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
16184   {
16185     enum
16186     {
16187       value = true
16188     };
16189   };
16190 
16191   template <>
16192   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
16193   {
16194     enum
16195     {
16196       value = true
16197     };
16198   };
16199 
16200   template <>
16201   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
16202   {
16203     enum
16204     {
16205       value = true
16206     };
16207   };
16208 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
16209 
16210   //=== VK_MSFT_layered_driver ===
16211   template <>
16212   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
16213   {
16214     enum
16215     {
16216       value = true
16217     };
16218   };
16219 
16220   //=== VK_KHR_maintenance6 ===
16221   template <>
16222   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, PhysicalDeviceFeatures2>
16223   {
16224     enum
16225     {
16226       value = true
16227     };
16228   };
16229 
16230   template <>
16231   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, DeviceCreateInfo>
16232   {
16233     enum
16234     {
16235       value = true
16236     };
16237   };
16238 
16239   template <>
16240   struct StructExtends<PhysicalDeviceMaintenance6PropertiesKHR, PhysicalDeviceProperties2>
16241   {
16242     enum
16243     {
16244       value = true
16245     };
16246   };
16247 
16248   template <>
16249   struct StructExtends<BindMemoryStatusKHR, BindBufferMemoryInfo>
16250   {
16251     enum
16252     {
16253       value = true
16254     };
16255   };
16256 
16257   template <>
16258   struct StructExtends<BindMemoryStatusKHR, BindImageMemoryInfo>
16259   {
16260     enum
16261     {
16262       value = true
16263     };
16264   };
16265 
16266   //=== VK_NV_descriptor_pool_overallocation ===
16267   template <>
16268   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
16269   {
16270     enum
16271     {
16272       value = true
16273     };
16274   };
16275 
16276   template <>
16277   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
16278   {
16279     enum
16280     {
16281       value = true
16282     };
16283   };
16284 
16285 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
16286 
16287 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
16288   class DynamicLoader
16289   {
16290   public:
16291 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )16292     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
16293 #  else
16294     DynamicLoader( std::string const & vulkanLibraryName = {} )
16295 #  endif
16296     {
16297       if ( !vulkanLibraryName.empty() )
16298       {
16299 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16300         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
16301 #  elif defined( _WIN32 )
16302         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
16303 #  else
16304 #    error unsupported platform
16305 #  endif
16306       }
16307       else
16308       {
16309 #  if defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16310         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
16311         if ( m_library == nullptr )
16312         {
16313           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
16314         }
16315 #  elif defined( __APPLE__ )
16316         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
16317         if ( m_library == nullptr )
16318         {
16319           m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
16320         }
16321 #  elif defined( _WIN32 )
16322         m_library = ::LoadLibraryA( "vulkan-1.dll" );
16323 #  else
16324 #    error unsupported platform
16325 #  endif
16326       }
16327 
16328 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
16329       if ( m_library == nullptr )
16330       {
16331         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
16332         throw std::runtime_error( "Failed to load vulkan library!" );
16333       }
16334 #  endif
16335     }
16336 
16337     DynamicLoader( DynamicLoader const & ) = delete;
16338 
DynamicLoader(DynamicLoader && other)16339     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
16340     {
16341       other.m_library = nullptr;
16342     }
16343 
16344     DynamicLoader & operator=( DynamicLoader const & ) = delete;
16345 
operator =(DynamicLoader && other)16346     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
16347     {
16348       std::swap( m_library, other.m_library );
16349       return *this;
16350     }
16351 
~DynamicLoader()16352     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
16353     {
16354       if ( m_library )
16355       {
16356 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16357         dlclose( m_library );
16358 #  elif defined( _WIN32 )
16359         ::FreeLibrary( m_library );
16360 #  else
16361 #    error unsupported platform
16362 #  endif
16363       }
16364     }
16365 
16366     template <typename T>
getProcAddress(const char * function) const16367     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
16368     {
16369 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16370       return (T)dlsym( m_library, function );
16371 #  elif defined( _WIN32 )
16372       return ( T )::GetProcAddress( m_library, function );
16373 #  else
16374 #    error unsupported platform
16375 #  endif
16376     }
16377 
success() const16378     bool success() const VULKAN_HPP_NOEXCEPT
16379     {
16380       return m_library != nullptr;
16381     }
16382 
16383   private:
16384 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16385     void * m_library;
16386 #  elif defined( _WIN32 )
16387     ::HINSTANCE m_library;
16388 #  else
16389 #    error unsupported platform
16390 #  endif
16391   };
16392 #endif
16393 
16394   using PFN_dummy = void ( * )();
16395 
16396   class DispatchLoaderDynamic : public DispatchLoaderBase
16397   {
16398   public:
16399     //=== VK_VERSION_1_0 ===
16400     PFN_vkCreateInstance                               vkCreateInstance                               = 0;
16401     PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
16402     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
16403     PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
16404     PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
16405     PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
16406     PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
16407     PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
16408     PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
16409     PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
16410     PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
16411     PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
16412     PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
16413     PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
16414     PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
16415     PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
16416     PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
16417     PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
16418     PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
16419     PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
16420     PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
16421     PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
16422     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
16423     PFN_vkMapMemory                                    vkMapMemory                                    = 0;
16424     PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
16425     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
16426     PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
16427     PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
16428     PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
16429     PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
16430     PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
16431     PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
16432     PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
16433     PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
16434     PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
16435     PFN_vkCreateFence                                  vkCreateFence                                  = 0;
16436     PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
16437     PFN_vkResetFences                                  vkResetFences                                  = 0;
16438     PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
16439     PFN_vkWaitForFences                                vkWaitForFences                                = 0;
16440     PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
16441     PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
16442     PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
16443     PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
16444     PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
16445     PFN_vkSetEvent                                     vkSetEvent                                     = 0;
16446     PFN_vkResetEvent                                   vkResetEvent                                   = 0;
16447     PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
16448     PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
16449     PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
16450     PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
16451     PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
16452     PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
16453     PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
16454     PFN_vkCreateImage                                  vkCreateImage                                  = 0;
16455     PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
16456     PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
16457     PFN_vkCreateImageView                              vkCreateImageView                              = 0;
16458     PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
16459     PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
16460     PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
16461     PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
16462     PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
16463     PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
16464     PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
16465     PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
16466     PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
16467     PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
16468     PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
16469     PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
16470     PFN_vkCreateSampler                                vkCreateSampler                                = 0;
16471     PFN_vkDestroySampler                               vkDestroySampler                               = 0;
16472     PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
16473     PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
16474     PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
16475     PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
16476     PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
16477     PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
16478     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
16479     PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
16480     PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
16481     PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
16482     PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
16483     PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
16484     PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
16485     PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
16486     PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
16487     PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
16488     PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
16489     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
16490     PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
16491     PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
16492     PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
16493     PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
16494     PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
16495     PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
16496     PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
16497     PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
16498     PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
16499     PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
16500     PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
16501     PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
16502     PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
16503     PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
16504     PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
16505     PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
16506     PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
16507     PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
16508     PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
16509     PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
16510     PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
16511     PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
16512     PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
16513     PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
16514     PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
16515     PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
16516     PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
16517     PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
16518     PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
16519     PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
16520     PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
16521     PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
16522     PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
16523     PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
16524     PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
16525     PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
16526     PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
16527     PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
16528     PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
16529     PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
16530     PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
16531     PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
16532     PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
16533     PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
16534     PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
16535     PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
16536     PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
16537 
16538     //=== VK_VERSION_1_1 ===
16539     PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
16540     PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
16541     PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
16542     PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
16543     PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
16544     PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
16545     PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
16546     PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
16547     PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
16548     PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
16549     PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
16550     PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
16551     PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
16552     PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
16553     PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
16554     PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
16555     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
16556     PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
16557     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
16558     PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
16559     PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
16560     PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
16561     PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
16562     PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
16563     PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
16564     PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
16565     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
16566     PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
16567 
16568     //=== VK_VERSION_1_2 ===
16569     PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
16570     PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
16571     PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
16572     PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
16573     PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
16574     PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
16575     PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
16576     PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
16577     PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
16578     PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
16579     PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
16580     PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
16581     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
16582 
16583     //=== VK_VERSION_1_3 ===
16584     PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
16585     PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
16586     PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
16587     PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
16588     PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
16589     PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
16590     PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
16591     PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
16592     PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
16593     PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
16594     PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
16595     PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
16596     PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
16597     PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
16598     PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
16599     PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
16600     PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
16601     PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
16602     PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
16603     PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
16604     PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
16605     PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
16606     PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
16607     PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
16608     PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
16609     PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
16610     PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
16611     PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
16612     PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
16613     PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
16614     PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
16615     PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
16616     PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
16617     PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
16618     PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
16619     PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
16620     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
16621 
16622     //=== VK_KHR_surface ===
16623     PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
16624     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
16625     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
16626     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
16627     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
16628 
16629     //=== VK_KHR_swapchain ===
16630     PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
16631     PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
16632     PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
16633     PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
16634     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
16635     PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
16636     PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
16637     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
16638     PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
16639 
16640     //=== VK_KHR_display ===
16641     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
16642     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
16643     PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
16644     PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
16645     PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
16646     PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
16647     PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
16648 
16649     //=== VK_KHR_display_swapchain ===
16650     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
16651 
16652 #if defined( VK_USE_PLATFORM_XLIB_KHR )
16653     //=== VK_KHR_xlib_surface ===
16654     PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
16655     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
16656 #else
16657     PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
16658     PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
16659 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
16660 
16661 #if defined( VK_USE_PLATFORM_XCB_KHR )
16662     //=== VK_KHR_xcb_surface ===
16663     PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
16664     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
16665 #else
16666     PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
16667     PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
16668 #endif /*VK_USE_PLATFORM_XCB_KHR*/
16669 
16670 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
16671     //=== VK_KHR_wayland_surface ===
16672     PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
16673     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
16674 #else
16675     PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
16676     PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
16677 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
16678 
16679 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
16680     //=== VK_KHR_android_surface ===
16681     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
16682 #else
16683     PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
16684 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16685 
16686 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16687     //=== VK_KHR_win32_surface ===
16688     PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
16689     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
16690 #else
16691     PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
16692     PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
16693 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16694 
16695 #if defined( VK_USE_PLATFORM_OHOS )
16696     //=== VK_OHOS_surface ===
16697     PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS = 0;
16698 #else
16699     PFN_dummy vkCreateSurfaceOHOS_placeholder              = 0;
16700 #endif /*VK_USE_PLATFORM_OHOS*/
16701 
16702     //=== VK_EXT_debug_report ===
16703     PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
16704     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
16705     PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
16706 
16707     //=== VK_EXT_debug_marker ===
16708     PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
16709     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
16710     PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
16711     PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
16712     PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
16713 
16714     //=== VK_KHR_video_queue ===
16715     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
16716     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
16717     PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
16718     PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
16719     PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
16720     PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
16721     PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
16722     PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
16723     PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
16724     PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
16725     PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
16726     PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
16727 
16728     //=== VK_KHR_video_decode_queue ===
16729     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
16730 
16731     //=== VK_EXT_transform_feedback ===
16732     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
16733     PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
16734     PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
16735     PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
16736     PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
16737     PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
16738 
16739     //=== VK_NVX_binary_import ===
16740     PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
16741     PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
16742     PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
16743     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
16744     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
16745 
16746     //=== VK_NVX_image_view_handle ===
16747     PFN_vkGetImageViewHandleNVX  vkGetImageViewHandleNVX  = 0;
16748     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
16749 
16750     //=== VK_AMD_draw_indirect_count ===
16751     PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
16752     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
16753 
16754     //=== VK_AMD_shader_info ===
16755     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
16756 
16757     //=== VK_KHR_dynamic_rendering ===
16758     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
16759     PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
16760 
16761 #if defined( VK_USE_PLATFORM_GGP )
16762     //=== VK_GGP_stream_descriptor_surface ===
16763     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
16764 #else
16765     PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
16766 #endif /*VK_USE_PLATFORM_GGP*/
16767 
16768     //=== VK_NV_external_memory_capabilities ===
16769     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
16770 
16771 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16772     //=== VK_NV_external_memory_win32 ===
16773     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
16774 #else
16775     PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
16776 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16777 
16778     //=== VK_KHR_get_physical_device_properties2 ===
16779     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
16780     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
16781     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
16782     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
16783     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
16784     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
16785     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
16786 
16787     //=== VK_KHR_device_group ===
16788     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
16789     PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
16790     PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
16791 
16792 #if defined( VK_USE_PLATFORM_VI_NN )
16793     //=== VK_NN_vi_surface ===
16794     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
16795 #else
16796     PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
16797 #endif /*VK_USE_PLATFORM_VI_NN*/
16798 
16799     //=== VK_KHR_maintenance1 ===
16800     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
16801 
16802     //=== VK_KHR_device_group_creation ===
16803     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
16804 
16805     //=== VK_KHR_external_memory_capabilities ===
16806     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
16807 
16808 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16809     //=== VK_KHR_external_memory_win32 ===
16810     PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
16811     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
16812 #else
16813     PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
16814     PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
16815 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16816 
16817     //=== VK_KHR_external_memory_fd ===
16818     PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
16819     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
16820 
16821     //=== VK_KHR_external_semaphore_capabilities ===
16822     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
16823 
16824 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16825     //=== VK_KHR_external_semaphore_win32 ===
16826     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
16827     PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
16828 #else
16829     PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
16830     PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
16831 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16832 
16833     //=== VK_KHR_external_semaphore_fd ===
16834     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
16835     PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
16836 
16837     //=== VK_KHR_push_descriptor ===
16838     PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
16839     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
16840 
16841     //=== VK_EXT_conditional_rendering ===
16842     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
16843     PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
16844 
16845     //=== VK_KHR_descriptor_update_template ===
16846     PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
16847     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
16848     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
16849 
16850     //=== VK_NV_clip_space_w_scaling ===
16851     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
16852 
16853     //=== VK_EXT_direct_mode_display ===
16854     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
16855 
16856 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
16857     //=== VK_EXT_acquire_xlib_display ===
16858     PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
16859     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
16860 #else
16861     PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
16862     PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
16863 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
16864 
16865     //=== VK_EXT_display_surface_counter ===
16866     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
16867 
16868     //=== VK_EXT_display_control ===
16869     PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
16870     PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
16871     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
16872     PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
16873 
16874     //=== VK_GOOGLE_display_timing ===
16875     PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
16876     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
16877 
16878     //=== VK_EXT_discard_rectangles ===
16879     PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
16880     PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
16881     PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
16882 
16883     //=== VK_EXT_hdr_metadata ===
16884     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
16885 
16886     //=== VK_KHR_create_renderpass2 ===
16887     PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
16888     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
16889     PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
16890     PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
16891 
16892     //=== VK_KHR_shared_presentable_image ===
16893     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
16894 
16895     //=== VK_KHR_external_fence_capabilities ===
16896     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
16897 
16898 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16899     //=== VK_KHR_external_fence_win32 ===
16900     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
16901     PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
16902 #else
16903     PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
16904     PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
16905 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16906 
16907     //=== VK_KHR_external_fence_fd ===
16908     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
16909     PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
16910 
16911     //=== VK_KHR_performance_query ===
16912     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
16913     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
16914     PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
16915     PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
16916 
16917     //=== VK_KHR_get_surface_capabilities2 ===
16918     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
16919     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
16920 
16921     //=== VK_KHR_get_display_properties2 ===
16922     PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
16923     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
16924     PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
16925     PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
16926 
16927 #if defined( VK_USE_PLATFORM_IOS_MVK )
16928     //=== VK_MVK_ios_surface ===
16929     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
16930 #else
16931     PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
16932 #endif /*VK_USE_PLATFORM_IOS_MVK*/
16933 
16934 #if defined( VK_USE_PLATFORM_MACOS_MVK )
16935     //=== VK_MVK_macos_surface ===
16936     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
16937 #else
16938     PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
16939 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
16940 
16941     //=== VK_EXT_debug_utils ===
16942     PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
16943     PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
16944     PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
16945     PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
16946     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
16947     PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
16948     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
16949     PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
16950     PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
16951     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
16952     PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
16953 
16954 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
16955     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
16956     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
16957     PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
16958 #else
16959     PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
16960     PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
16961 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16962 
16963 #if defined( VK_ENABLE_BETA_EXTENSIONS )
16964     //=== VK_AMDX_shader_enqueue ===
16965     PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
16966     PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
16967     PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
16968     PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
16969     PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
16970     PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
16971     PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
16972 #else
16973     PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
16974     PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
16975     PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
16976     PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
16977     PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
16978     PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
16979     PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
16980 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
16981 
16982     //=== VK_EXT_sample_locations ===
16983     PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
16984     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
16985 
16986     //=== VK_KHR_get_memory_requirements2 ===
16987     PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
16988     PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
16989     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
16990 
16991     //=== VK_KHR_acceleration_structure ===
16992     PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
16993     PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
16994     PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
16995     PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
16996     PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
16997     PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
16998     PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
16999     PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
17000     PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
17001     PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
17002     PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
17003     PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
17004     PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
17005     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
17006     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
17007     PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
17008 
17009     //=== VK_KHR_ray_tracing_pipeline ===
17010     PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
17011     PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
17012     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
17013     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
17014     PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
17015     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
17016     PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
17017 
17018     //=== VK_KHR_sampler_ycbcr_conversion ===
17019     PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
17020     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
17021 
17022     //=== VK_KHR_bind_memory2 ===
17023     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
17024     PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
17025 
17026     //=== VK_EXT_image_drm_format_modifier ===
17027     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
17028 
17029     //=== VK_EXT_validation_cache ===
17030     PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
17031     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
17032     PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
17033     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
17034 
17035     //=== VK_NV_shading_rate_image ===
17036     PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
17037     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
17038     PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
17039 
17040     //=== VK_NV_ray_tracing ===
17041     PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
17042     PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
17043     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
17044     PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
17045     PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
17046     PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
17047     PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
17048     PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
17049     PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
17050     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
17051     PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
17052     PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
17053 
17054     //=== VK_KHR_maintenance3 ===
17055     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
17056 
17057     //=== VK_KHR_draw_indirect_count ===
17058     PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
17059     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
17060 
17061     //=== VK_EXT_external_memory_host ===
17062     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
17063 
17064     //=== VK_AMD_buffer_marker ===
17065     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
17066 
17067     //=== VK_EXT_calibrated_timestamps ===
17068     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
17069     PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
17070 
17071     //=== VK_NV_mesh_shader ===
17072     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
17073     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
17074     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
17075 
17076     //=== VK_NV_scissor_exclusive ===
17077     PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
17078     PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
17079 
17080     //=== VK_NV_device_diagnostic_checkpoints ===
17081     PFN_vkCmdSetCheckpointNV       vkCmdSetCheckpointNV       = 0;
17082     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
17083 
17084     //=== VK_KHR_timeline_semaphore ===
17085     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
17086     PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
17087     PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
17088 
17089     //=== VK_INTEL_performance_query ===
17090     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
17091     PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
17092     PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
17093     PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
17094     PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
17095     PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
17096     PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
17097     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
17098     PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
17099 
17100     //=== VK_AMD_display_native_hdr ===
17101     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
17102 
17103 #if defined( VK_USE_PLATFORM_FUCHSIA )
17104     //=== VK_FUCHSIA_imagepipe_surface ===
17105     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
17106 #else
17107     PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
17108 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17109 
17110 #if defined( VK_USE_PLATFORM_METAL_EXT )
17111     //=== VK_EXT_metal_surface ===
17112     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
17113 #else
17114     PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
17115 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17116 
17117     //=== VK_KHR_fragment_shading_rate ===
17118     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
17119     PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
17120 
17121     //=== VK_EXT_buffer_device_address ===
17122     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
17123 
17124     //=== VK_EXT_tooling_info ===
17125     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
17126 
17127     //=== VK_KHR_present_wait ===
17128     PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
17129 
17130     //=== VK_NV_cooperative_matrix ===
17131     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
17132 
17133     //=== VK_NV_coverage_reduction_mode ===
17134     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
17135 
17136 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17137     //=== VK_EXT_full_screen_exclusive ===
17138     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
17139     PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
17140     PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
17141     PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
17142 #else
17143     PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
17144     PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
17145     PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
17146     PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
17147 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17148 
17149     //=== VK_EXT_headless_surface ===
17150     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
17151 
17152     //=== VK_KHR_buffer_device_address ===
17153     PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
17154     PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
17155     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
17156 
17157     //=== VK_EXT_line_rasterization ===
17158     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
17159 
17160     //=== VK_EXT_host_query_reset ===
17161     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
17162 
17163     //=== VK_EXT_extended_dynamic_state ===
17164     PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
17165     PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
17166     PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
17167     PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
17168     PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
17169     PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
17170     PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
17171     PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
17172     PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
17173     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
17174     PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
17175     PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
17176 
17177     //=== VK_KHR_deferred_host_operations ===
17178     PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
17179     PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
17180     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
17181     PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
17182     PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
17183 
17184     //=== VK_KHR_pipeline_executable_properties ===
17185     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
17186     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
17187     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
17188 
17189     //=== VK_EXT_host_image_copy ===
17190     PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
17191     PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
17192     PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
17193     PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
17194     PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
17195 
17196     //=== VK_KHR_map_memory2 ===
17197     PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
17198     PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
17199 
17200     //=== VK_EXT_swapchain_maintenance1 ===
17201     PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
17202 
17203     //=== VK_NV_device_generated_commands ===
17204     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
17205     PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
17206     PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
17207     PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
17208     PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
17209     PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
17210 
17211     //=== VK_EXT_depth_bias_control ===
17212     PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
17213 
17214     //=== VK_EXT_acquire_drm_display ===
17215     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
17216     PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
17217 
17218     //=== VK_EXT_private_data ===
17219     PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
17220     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
17221     PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
17222     PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
17223 
17224     //=== VK_KHR_video_encode_queue ===
17225     PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
17226     PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
17227     PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
17228 
17229 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17230     //=== VK_NV_cuda_kernel_launch ===
17231     PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
17232     PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
17233     PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
17234     PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
17235     PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
17236     PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
17237 #else
17238     PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
17239     PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
17240     PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
17241     PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
17242     PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
17243     PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
17244 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17245 
17246 #if defined( VK_USE_PLATFORM_METAL_EXT )
17247     //=== VK_EXT_metal_objects ===
17248     PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
17249 #else
17250     PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
17251 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17252 
17253     //=== VK_KHR_synchronization2 ===
17254     PFN_vkCmdSetEvent2KHR           vkCmdSetEvent2KHR           = 0;
17255     PFN_vkCmdResetEvent2KHR         vkCmdResetEvent2KHR         = 0;
17256     PFN_vkCmdWaitEvents2KHR         vkCmdWaitEvents2KHR         = 0;
17257     PFN_vkCmdPipelineBarrier2KHR    vkCmdPipelineBarrier2KHR    = 0;
17258     PFN_vkCmdWriteTimestamp2KHR     vkCmdWriteTimestamp2KHR     = 0;
17259     PFN_vkQueueSubmit2KHR           vkQueueSubmit2KHR           = 0;
17260     PFN_vkCmdWriteBufferMarker2AMD  vkCmdWriteBufferMarker2AMD  = 0;
17261     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
17262 
17263     //=== VK_EXT_descriptor_buffer ===
17264     PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
17265     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
17266     PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
17267     PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
17268     PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
17269     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
17270     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
17271     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
17272     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
17273     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
17274     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
17275 
17276     //=== VK_NV_fragment_shading_rate_enums ===
17277     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
17278 
17279     //=== VK_EXT_mesh_shader ===
17280     PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
17281     PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
17282     PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
17283 
17284     //=== VK_KHR_copy_commands2 ===
17285     PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
17286     PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
17287     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
17288     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
17289     PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
17290     PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
17291 
17292     //=== VK_EXT_device_fault ===
17293     PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
17294 
17295 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17296     //=== VK_NV_acquire_winrt_display ===
17297     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
17298     PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
17299 #else
17300     PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
17301     PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
17302 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17303 
17304 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
17305     //=== VK_EXT_directfb_surface ===
17306     PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
17307     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
17308 #else
17309     PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
17310     PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
17311 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
17312 
17313     //=== VK_EXT_vertex_input_dynamic_state ===
17314     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
17315 
17316 #if defined( VK_USE_PLATFORM_FUCHSIA )
17317     //=== VK_FUCHSIA_external_memory ===
17318     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
17319     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
17320 #else
17321     PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
17322     PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
17323 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17324 
17325 #if defined( VK_USE_PLATFORM_FUCHSIA )
17326     //=== VK_FUCHSIA_external_semaphore ===
17327     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
17328     PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
17329 #else
17330     PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
17331     PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
17332 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17333 
17334 #if defined( VK_USE_PLATFORM_FUCHSIA )
17335     //=== VK_FUCHSIA_buffer_collection ===
17336     PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
17337     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
17338     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
17339     PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
17340     PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
17341 #else
17342     PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
17343     PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
17344     PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
17345     PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
17346     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
17347 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17348 
17349     //=== VK_HUAWEI_subpass_shading ===
17350     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
17351     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
17352 
17353     //=== VK_HUAWEI_invocation_mask ===
17354     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
17355 
17356     //=== VK_NV_external_memory_rdma ===
17357     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
17358 
17359     //=== VK_EXT_pipeline_properties ===
17360     PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
17361 
17362     //=== VK_EXT_extended_dynamic_state2 ===
17363     PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
17364     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
17365     PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
17366     PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
17367     PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
17368 
17369 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17370     //=== VK_QNX_screen_surface ===
17371     PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
17372     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
17373 #else
17374     PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
17375     PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
17376 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17377 
17378     //=== VK_EXT_color_write_enable ===
17379     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
17380 
17381     //=== VK_KHR_ray_tracing_maintenance1 ===
17382     PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
17383 
17384     //=== VK_EXT_multi_draw ===
17385     PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
17386     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
17387 
17388     //=== VK_EXT_opacity_micromap ===
17389     PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
17390     PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
17391     PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
17392     PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
17393     PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
17394     PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
17395     PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
17396     PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
17397     PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
17398     PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
17399     PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
17400     PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
17401     PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
17402     PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
17403 
17404     //=== VK_HUAWEI_cluster_culling_shader ===
17405     PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
17406     PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
17407 
17408     //=== VK_EXT_pageable_device_local_memory ===
17409     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
17410 
17411     //=== VK_KHR_maintenance4 ===
17412     PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
17413     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
17414     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
17415 
17416     //=== VK_VALVE_descriptor_set_host_mapping ===
17417     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
17418     PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
17419 
17420     //=== VK_NV_copy_memory_indirect ===
17421     PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
17422     PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
17423 
17424     //=== VK_NV_memory_decompression ===
17425     PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
17426     PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
17427 
17428     //=== VK_NV_device_generated_commands_compute ===
17429     PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
17430     PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
17431     PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
17432 
17433     //=== VK_EXT_extended_dynamic_state3 ===
17434     PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
17435     PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
17436     PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
17437     PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
17438     PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
17439     PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
17440     PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
17441     PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
17442     PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
17443     PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
17444     PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
17445     PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
17446     PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
17447     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
17448     PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
17449     PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
17450     PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
17451     PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
17452     PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
17453     PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
17454     PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
17455     PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
17456     PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
17457     PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
17458     PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
17459     PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
17460     PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
17461     PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
17462     PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
17463     PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
17464     PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
17465 
17466     //=== VK_EXT_shader_module_identifier ===
17467     PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
17468     PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
17469 
17470     //=== VK_NV_optical_flow ===
17471     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
17472     PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
17473     PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
17474     PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
17475     PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
17476 
17477     //=== VK_KHR_maintenance5 ===
17478     PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
17479     PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
17480     PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
17481     PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
17482 
17483     //=== VK_EXT_shader_object ===
17484     PFN_vkCreateShadersEXT       vkCreateShadersEXT       = 0;
17485     PFN_vkDestroyShaderEXT       vkDestroyShaderEXT       = 0;
17486     PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
17487     PFN_vkCmdBindShadersEXT      vkCmdBindShadersEXT      = 0;
17488 
17489     //=== VK_QCOM_tile_properties ===
17490     PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
17491     PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
17492 
17493     //=== VK_NV_low_latency2 ===
17494     PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
17495     PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
17496     PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
17497     PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
17498     PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
17499 
17500     //=== VK_KHR_cooperative_matrix ===
17501     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
17502 
17503     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
17504     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
17505 
17506 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17507     //=== VK_QNX_external_memory_screen_buffer ===
17508     PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
17509 #else
17510     PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
17511 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17512 
17513     //=== VK_KHR_calibrated_timestamps ===
17514     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
17515     PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
17516 
17517     //=== VK_KHR_maintenance6 ===
17518     PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
17519     PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
17520     PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
17521     PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
17522     PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
17523     PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
17524 
17525   public:
17526     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
17527     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
17528 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)17529     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
17530     {
17531       init( getInstanceProcAddr );
17532     }
17533 
17534     // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)17535     DispatchLoaderDynamic( VkInstance                instance,
17536                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
17537                            VkDevice                  device            = {},
17538                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
17539     {
17540       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
17541     }
17542 
17543     template <typename DynamicLoader
17544 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
17545               = VULKAN_HPP_NAMESPACE::DynamicLoader
17546 #endif
17547               >
init()17548     void init()
17549     {
17550       static DynamicLoader dl;
17551       init( dl );
17552     }
17553 
17554     template <typename DynamicLoader>
init(DynamicLoader const & dl)17555     void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
17556     {
17557       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
17558       init( getInstanceProcAddr );
17559     }
17560 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)17561     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
17562     {
17563       VULKAN_HPP_ASSERT( getInstanceProcAddr );
17564 
17565       vkGetInstanceProcAddr = getInstanceProcAddr;
17566 
17567       //=== VK_VERSION_1_0 ===
17568       vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
17569       vkEnumerateInstanceExtensionProperties =
17570         PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
17571       vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
17572 
17573       //=== VK_VERSION_1_1 ===
17574       vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
17575     }
17576 
17577     // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)17578     void init( VkInstance                instance,
17579                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
17580                VkDevice                  device              = {},
17581                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
17582     {
17583       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
17584       vkGetInstanceProcAddr = getInstanceProcAddr;
17585       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
17586       if ( device )
17587       {
17588         init( VULKAN_HPP_NAMESPACE::Device( device ) );
17589       }
17590     }
17591 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)17592     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
17593     {
17594       VkInstance instance = static_cast<VkInstance>( instanceCpp );
17595 
17596       //=== VK_VERSION_1_0 ===
17597       vkDestroyInstance                   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
17598       vkEnumeratePhysicalDevices          = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
17599       vkGetPhysicalDeviceFeatures         = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
17600       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
17601       vkGetPhysicalDeviceImageFormatProperties =
17602         PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
17603       vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
17604       vkGetPhysicalDeviceQueueFamilyProperties =
17605         PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
17606       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
17607       vkGetDeviceProcAddr                 = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
17608       vkCreateDevice                      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
17609       vkDestroyDevice                     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
17610       vkEnumerateDeviceExtensionProperties =
17611         PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
17612       vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
17613       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
17614       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
17615       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
17616       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
17617       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
17618       vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
17619       vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
17620       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
17621       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
17622       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
17623       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
17624       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
17625       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
17626       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
17627       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
17628       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
17629       vkGetPhysicalDeviceSparseImageFormatProperties =
17630         PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
17631       vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
17632       vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
17633       vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
17634       vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
17635       vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
17636       vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
17637       vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
17638       vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
17639       vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
17640       vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
17641       vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
17642       vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
17643       vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
17644       vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
17645       vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
17646       vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
17647       vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
17648       vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
17649       vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
17650       vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
17651       vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
17652       vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
17653       vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
17654       vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
17655       vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
17656       vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
17657       vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
17658       vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
17659       vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
17660       vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
17661       vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
17662       vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
17663       vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
17664       vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
17665       vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
17666       vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
17667       vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
17668       vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
17669       vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
17670       vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
17671       vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
17672       vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
17673       vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
17674       vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
17675       vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
17676       vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
17677       vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
17678       vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
17679       vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
17680       vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
17681       vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
17682       vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
17683       vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
17684       vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
17685       vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
17686       vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
17687       vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
17688       vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
17689       vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
17690       vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
17691       vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
17692       vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
17693       vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
17694       vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
17695       vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
17696       vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
17697       vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
17698       vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
17699       vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
17700       vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
17701       vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
17702       vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
17703       vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
17704       vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
17705       vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
17706       vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
17707       vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
17708       vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
17709       vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
17710       vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
17711       vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
17712       vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
17713       vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
17714       vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
17715       vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
17716       vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
17717       vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
17718       vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
17719       vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
17720       vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
17721       vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
17722       vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
17723       vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
17724       vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
17725       vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
17726       vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
17727       vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
17728       vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
17729       vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
17730       vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
17731       vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
17732       vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
17733       vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
17734 
17735       //=== VK_VERSION_1_1 ===
17736       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
17737       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
17738       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
17739       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
17740       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
17741       vkEnumeratePhysicalDeviceGroups     = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
17742       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
17743       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
17744       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
17745       vkGetPhysicalDeviceFeatures2        = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
17746       vkGetPhysicalDeviceProperties2      = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
17747       vkGetPhysicalDeviceFormatProperties2 =
17748         PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
17749       vkGetPhysicalDeviceImageFormatProperties2 =
17750         PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
17751       vkGetPhysicalDeviceQueueFamilyProperties2 =
17752         PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
17753       vkGetPhysicalDeviceMemoryProperties2 =
17754         PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
17755       vkGetPhysicalDeviceSparseImageFormatProperties2 =
17756         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
17757       vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
17758       vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
17759       vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
17760       vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
17761       vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
17762       vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
17763       vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
17764       vkGetPhysicalDeviceExternalBufferProperties =
17765         PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
17766       vkGetPhysicalDeviceExternalFenceProperties =
17767         PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
17768       vkGetPhysicalDeviceExternalSemaphoreProperties =
17769         PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
17770       vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
17771 
17772       //=== VK_VERSION_1_2 ===
17773       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
17774       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
17775       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
17776       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
17777       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
17778       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
17779       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
17780       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
17781       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
17782       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
17783       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
17784       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
17785       vkGetDeviceMemoryOpaqueCaptureAddress =
17786         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
17787 
17788       //=== VK_VERSION_1_3 ===
17789       vkGetPhysicalDeviceToolProperties   = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
17790       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
17791       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
17792       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
17793       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
17794       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
17795       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
17796       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
17797       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
17798       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
17799       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
17800       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
17801       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
17802       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
17803       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
17804       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
17805       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
17806       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
17807       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
17808       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
17809       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
17810       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
17811       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
17812       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
17813       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
17814       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
17815       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
17816       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
17817       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
17818       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
17819       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
17820       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
17821       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
17822       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
17823       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
17824       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
17825       vkGetDeviceImageSparseMemoryRequirements =
17826         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
17827 
17828       //=== VK_KHR_surface ===
17829       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
17830       vkGetPhysicalDeviceSurfaceSupportKHR =
17831         PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
17832       vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
17833         PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
17834       vkGetPhysicalDeviceSurfaceFormatsKHR =
17835         PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
17836       vkGetPhysicalDeviceSurfacePresentModesKHR =
17837         PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
17838 
17839       //=== VK_KHR_swapchain ===
17840       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
17841       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
17842       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
17843       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
17844       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
17845       vkGetDeviceGroupPresentCapabilitiesKHR =
17846         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
17847       vkGetDeviceGroupSurfacePresentModesKHR =
17848         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
17849       vkGetPhysicalDevicePresentRectanglesKHR =
17850         PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
17851       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
17852 
17853       //=== VK_KHR_display ===
17854       vkGetPhysicalDeviceDisplayPropertiesKHR =
17855         PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
17856       vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
17857         PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
17858       vkGetDisplayPlaneSupportedDisplaysKHR =
17859         PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
17860       vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
17861       vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
17862       vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
17863       vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
17864 
17865       //=== VK_KHR_display_swapchain ===
17866       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
17867 
17868 #if defined( VK_USE_PLATFORM_XLIB_KHR )
17869       //=== VK_KHR_xlib_surface ===
17870       vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
17871       vkGetPhysicalDeviceXlibPresentationSupportKHR =
17872         PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
17873 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
17874 
17875 #if defined( VK_USE_PLATFORM_XCB_KHR )
17876       //=== VK_KHR_xcb_surface ===
17877       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
17878       vkGetPhysicalDeviceXcbPresentationSupportKHR =
17879         PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
17880 #endif /*VK_USE_PLATFORM_XCB_KHR*/
17881 
17882 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
17883       //=== VK_KHR_wayland_surface ===
17884       vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
17885       vkGetPhysicalDeviceWaylandPresentationSupportKHR =
17886         PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
17887 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
17888 
17889 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17890       //=== VK_KHR_android_surface ===
17891       vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
17892 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17893 
17894 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17895       //=== VK_KHR_win32_surface ===
17896       vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
17897       vkGetPhysicalDeviceWin32PresentationSupportKHR =
17898         PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
17899 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17900 
17901 #if defined( VK_USE_PLATFORM_OHOS )
17902       //=== VK_OHOS_surface ===
17903       vkCreateSurfaceOHOS = PFN_vkCreateSurfaceOHOS( vkGetInstanceProcAddr( instance, "vkCreateSurfaceOHOS" ) );
17904 #endif /*VK_USE_PLATFORM_OHOS*/
17905 
17906       //=== VK_EXT_debug_report ===
17907       vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
17908       vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
17909       vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
17910 
17911       //=== VK_EXT_debug_marker ===
17912       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
17913       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
17914       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
17915       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
17916       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
17917 
17918       //=== VK_KHR_video_queue ===
17919       vkGetPhysicalDeviceVideoCapabilitiesKHR =
17920         PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
17921       vkGetPhysicalDeviceVideoFormatPropertiesKHR =
17922         PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
17923       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
17924       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
17925       vkGetVideoSessionMemoryRequirementsKHR =
17926         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
17927       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
17928       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
17929       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
17930       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
17931       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
17932       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
17933       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
17934 
17935       //=== VK_KHR_video_decode_queue ===
17936       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
17937 
17938       //=== VK_EXT_transform_feedback ===
17939       vkCmdBindTransformFeedbackBuffersEXT =
17940         PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
17941       vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
17942       vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
17943       vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
17944       vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
17945       vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
17946 
17947       //=== VK_NVX_binary_import ===
17948       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
17949       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
17950       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
17951       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
17952       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
17953 
17954       //=== VK_NVX_image_view_handle ===
17955       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
17956       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
17957 
17958       //=== VK_AMD_draw_indirect_count ===
17959       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
17960       if ( !vkCmdDrawIndirectCount )
17961         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
17962       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
17963       if ( !vkCmdDrawIndexedIndirectCount )
17964         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
17965 
17966       //=== VK_AMD_shader_info ===
17967       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
17968 
17969       //=== VK_KHR_dynamic_rendering ===
17970       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
17971       if ( !vkCmdBeginRendering )
17972         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
17973       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
17974       if ( !vkCmdEndRendering )
17975         vkCmdEndRendering = vkCmdEndRenderingKHR;
17976 
17977 #if defined( VK_USE_PLATFORM_GGP )
17978       //=== VK_GGP_stream_descriptor_surface ===
17979       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
17980 #endif /*VK_USE_PLATFORM_GGP*/
17981 
17982       //=== VK_NV_external_memory_capabilities ===
17983       vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
17984         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
17985 
17986 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17987       //=== VK_NV_external_memory_win32 ===
17988       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
17989 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17990 
17991       //=== VK_KHR_get_physical_device_properties2 ===
17992       vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
17993       if ( !vkGetPhysicalDeviceFeatures2 )
17994         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
17995       vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
17996       if ( !vkGetPhysicalDeviceProperties2 )
17997         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
17998       vkGetPhysicalDeviceFormatProperties2KHR =
17999         PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
18000       if ( !vkGetPhysicalDeviceFormatProperties2 )
18001         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
18002       vkGetPhysicalDeviceImageFormatProperties2KHR =
18003         PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
18004       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
18005         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
18006       vkGetPhysicalDeviceQueueFamilyProperties2KHR =
18007         PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
18008       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
18009         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
18010       vkGetPhysicalDeviceMemoryProperties2KHR =
18011         PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
18012       if ( !vkGetPhysicalDeviceMemoryProperties2 )
18013         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
18014       vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
18015         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
18016       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
18017         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
18018 
18019       //=== VK_KHR_device_group ===
18020       vkGetDeviceGroupPeerMemoryFeaturesKHR =
18021         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
18022       if ( !vkGetDeviceGroupPeerMemoryFeatures )
18023         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
18024       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
18025       if ( !vkCmdSetDeviceMask )
18026         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
18027       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
18028       if ( !vkCmdDispatchBase )
18029         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
18030 
18031 #if defined( VK_USE_PLATFORM_VI_NN )
18032       //=== VK_NN_vi_surface ===
18033       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
18034 #endif /*VK_USE_PLATFORM_VI_NN*/
18035 
18036       //=== VK_KHR_maintenance1 ===
18037       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
18038       if ( !vkTrimCommandPool )
18039         vkTrimCommandPool = vkTrimCommandPoolKHR;
18040 
18041       //=== VK_KHR_device_group_creation ===
18042       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
18043       if ( !vkEnumeratePhysicalDeviceGroups )
18044         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
18045 
18046       //=== VK_KHR_external_memory_capabilities ===
18047       vkGetPhysicalDeviceExternalBufferPropertiesKHR =
18048         PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
18049       if ( !vkGetPhysicalDeviceExternalBufferProperties )
18050         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
18051 
18052 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18053       //=== VK_KHR_external_memory_win32 ===
18054       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
18055       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
18056 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18057 
18058       //=== VK_KHR_external_memory_fd ===
18059       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
18060       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
18061 
18062       //=== VK_KHR_external_semaphore_capabilities ===
18063       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
18064         PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
18065       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
18066         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
18067 
18068 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18069       //=== VK_KHR_external_semaphore_win32 ===
18070       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
18071       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
18072 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18073 
18074       //=== VK_KHR_external_semaphore_fd ===
18075       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
18076       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
18077 
18078       //=== VK_KHR_push_descriptor ===
18079       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
18080       vkCmdPushDescriptorSetWithTemplateKHR =
18081         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
18082 
18083       //=== VK_EXT_conditional_rendering ===
18084       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
18085       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
18086 
18087       //=== VK_KHR_descriptor_update_template ===
18088       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
18089       if ( !vkCreateDescriptorUpdateTemplate )
18090         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
18091       vkDestroyDescriptorUpdateTemplateKHR =
18092         PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
18093       if ( !vkDestroyDescriptorUpdateTemplate )
18094         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
18095       vkUpdateDescriptorSetWithTemplateKHR =
18096         PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
18097       if ( !vkUpdateDescriptorSetWithTemplate )
18098         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
18099 
18100       //=== VK_NV_clip_space_w_scaling ===
18101       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
18102 
18103       //=== VK_EXT_direct_mode_display ===
18104       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
18105 
18106 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18107       //=== VK_EXT_acquire_xlib_display ===
18108       vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
18109       vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
18110 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18111 
18112       //=== VK_EXT_display_surface_counter ===
18113       vkGetPhysicalDeviceSurfaceCapabilities2EXT =
18114         PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
18115 
18116       //=== VK_EXT_display_control ===
18117       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
18118       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
18119       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
18120       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
18121 
18122       //=== VK_GOOGLE_display_timing ===
18123       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
18124       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
18125 
18126       //=== VK_EXT_discard_rectangles ===
18127       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
18128       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
18129       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
18130 
18131       //=== VK_EXT_hdr_metadata ===
18132       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
18133 
18134       //=== VK_KHR_create_renderpass2 ===
18135       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
18136       if ( !vkCreateRenderPass2 )
18137         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
18138       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
18139       if ( !vkCmdBeginRenderPass2 )
18140         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
18141       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
18142       if ( !vkCmdNextSubpass2 )
18143         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
18144       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
18145       if ( !vkCmdEndRenderPass2 )
18146         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
18147 
18148       //=== VK_KHR_shared_presentable_image ===
18149       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
18150 
18151       //=== VK_KHR_external_fence_capabilities ===
18152       vkGetPhysicalDeviceExternalFencePropertiesKHR =
18153         PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
18154       if ( !vkGetPhysicalDeviceExternalFenceProperties )
18155         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
18156 
18157 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18158       //=== VK_KHR_external_fence_win32 ===
18159       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
18160       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
18161 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18162 
18163       //=== VK_KHR_external_fence_fd ===
18164       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
18165       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
18166 
18167       //=== VK_KHR_performance_query ===
18168       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
18169         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
18170       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
18171         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
18172       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
18173       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
18174 
18175       //=== VK_KHR_get_surface_capabilities2 ===
18176       vkGetPhysicalDeviceSurfaceCapabilities2KHR =
18177         PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
18178       vkGetPhysicalDeviceSurfaceFormats2KHR =
18179         PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
18180 
18181       //=== VK_KHR_get_display_properties2 ===
18182       vkGetPhysicalDeviceDisplayProperties2KHR =
18183         PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
18184       vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
18185         PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
18186       vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
18187       vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
18188 
18189 #if defined( VK_USE_PLATFORM_IOS_MVK )
18190       //=== VK_MVK_ios_surface ===
18191       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
18192 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18193 
18194 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18195       //=== VK_MVK_macos_surface ===
18196       vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
18197 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18198 
18199       //=== VK_EXT_debug_utils ===
18200       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
18201       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
18202       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
18203       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
18204       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
18205       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
18206       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
18207       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
18208       vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
18209       vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
18210       vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
18211 
18212 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18213       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18214       vkGetAndroidHardwareBufferPropertiesANDROID =
18215         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
18216       vkGetMemoryAndroidHardwareBufferANDROID =
18217         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
18218 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18219 
18220 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18221       //=== VK_AMDX_shader_enqueue ===
18222       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
18223       vkGetExecutionGraphPipelineScratchSizeAMDX =
18224         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
18225       vkGetExecutionGraphPipelineNodeIndexAMDX =
18226         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
18227       vkCmdInitializeGraphScratchMemoryAMDX =
18228         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
18229       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
18230       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
18231       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
18232 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18233 
18234       //=== VK_EXT_sample_locations ===
18235       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
18236       vkGetPhysicalDeviceMultisamplePropertiesEXT =
18237         PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
18238 
18239       //=== VK_KHR_get_memory_requirements2 ===
18240       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
18241       if ( !vkGetImageMemoryRequirements2 )
18242         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
18243       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
18244       if ( !vkGetBufferMemoryRequirements2 )
18245         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
18246       vkGetImageSparseMemoryRequirements2KHR =
18247         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
18248       if ( !vkGetImageSparseMemoryRequirements2 )
18249         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
18250 
18251       //=== VK_KHR_acceleration_structure ===
18252       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
18253       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
18254       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
18255       vkCmdBuildAccelerationStructuresIndirectKHR =
18256         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
18257       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
18258       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
18259       vkCopyAccelerationStructureToMemoryKHR =
18260         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
18261       vkCopyMemoryToAccelerationStructureKHR =
18262         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
18263       vkWriteAccelerationStructuresPropertiesKHR =
18264         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
18265       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
18266       vkCmdCopyAccelerationStructureToMemoryKHR =
18267         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
18268       vkCmdCopyMemoryToAccelerationStructureKHR =
18269         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
18270       vkGetAccelerationStructureDeviceAddressKHR =
18271         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
18272       vkCmdWriteAccelerationStructuresPropertiesKHR =
18273         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
18274       vkGetDeviceAccelerationStructureCompatibilityKHR =
18275         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
18276       vkGetAccelerationStructureBuildSizesKHR =
18277         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
18278 
18279       //=== VK_KHR_ray_tracing_pipeline ===
18280       vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
18281       vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
18282       vkGetRayTracingShaderGroupHandlesKHR =
18283         PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
18284       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
18285         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
18286       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
18287       vkGetRayTracingShaderGroupStackSizeKHR =
18288         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
18289       vkCmdSetRayTracingPipelineStackSizeKHR =
18290         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
18291 
18292       //=== VK_KHR_sampler_ycbcr_conversion ===
18293       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
18294       if ( !vkCreateSamplerYcbcrConversion )
18295         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
18296       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
18297       if ( !vkDestroySamplerYcbcrConversion )
18298         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
18299 
18300       //=== VK_KHR_bind_memory2 ===
18301       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
18302       if ( !vkBindBufferMemory2 )
18303         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
18304       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
18305       if ( !vkBindImageMemory2 )
18306         vkBindImageMemory2 = vkBindImageMemory2KHR;
18307 
18308       //=== VK_EXT_image_drm_format_modifier ===
18309       vkGetImageDrmFormatModifierPropertiesEXT =
18310         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
18311 
18312       //=== VK_EXT_validation_cache ===
18313       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
18314       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
18315       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
18316       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
18317 
18318       //=== VK_NV_shading_rate_image ===
18319       vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
18320       vkCmdSetViewportShadingRatePaletteNV =
18321         PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
18322       vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
18323 
18324       //=== VK_NV_ray_tracing ===
18325       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
18326       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
18327       vkGetAccelerationStructureMemoryRequirementsNV =
18328         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
18329       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
18330       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
18331       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
18332       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
18333       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
18334       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
18335       if ( !vkGetRayTracingShaderGroupHandlesKHR )
18336         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
18337       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
18338       vkCmdWriteAccelerationStructuresPropertiesNV =
18339         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
18340       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
18341 
18342       //=== VK_KHR_maintenance3 ===
18343       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
18344       if ( !vkGetDescriptorSetLayoutSupport )
18345         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
18346 
18347       //=== VK_KHR_draw_indirect_count ===
18348       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
18349       if ( !vkCmdDrawIndirectCount )
18350         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
18351       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
18352       if ( !vkCmdDrawIndexedIndirectCount )
18353         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
18354 
18355       //=== VK_EXT_external_memory_host ===
18356       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
18357 
18358       //=== VK_AMD_buffer_marker ===
18359       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
18360 
18361       //=== VK_EXT_calibrated_timestamps ===
18362       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
18363         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
18364       if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
18365         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
18366       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
18367       if ( !vkGetCalibratedTimestampsKHR )
18368         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
18369 
18370       //=== VK_NV_mesh_shader ===
18371       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
18372       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
18373       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
18374 
18375       //=== VK_NV_scissor_exclusive ===
18376       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
18377       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
18378 
18379       //=== VK_NV_device_diagnostic_checkpoints ===
18380       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
18381       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
18382 
18383       //=== VK_KHR_timeline_semaphore ===
18384       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
18385       if ( !vkGetSemaphoreCounterValue )
18386         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
18387       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
18388       if ( !vkWaitSemaphores )
18389         vkWaitSemaphores = vkWaitSemaphoresKHR;
18390       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
18391       if ( !vkSignalSemaphore )
18392         vkSignalSemaphore = vkSignalSemaphoreKHR;
18393 
18394       //=== VK_INTEL_performance_query ===
18395       vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
18396       vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
18397       vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
18398       vkCmdSetPerformanceStreamMarkerINTEL =
18399         PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
18400       vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
18401       vkAcquirePerformanceConfigurationINTEL =
18402         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
18403       vkReleasePerformanceConfigurationINTEL =
18404         PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
18405       vkQueueSetPerformanceConfigurationINTEL =
18406         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
18407       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
18408 
18409       //=== VK_AMD_display_native_hdr ===
18410       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
18411 
18412 #if defined( VK_USE_PLATFORM_FUCHSIA )
18413       //=== VK_FUCHSIA_imagepipe_surface ===
18414       vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
18415 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18416 
18417 #if defined( VK_USE_PLATFORM_METAL_EXT )
18418       //=== VK_EXT_metal_surface ===
18419       vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
18420 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18421 
18422       //=== VK_KHR_fragment_shading_rate ===
18423       vkGetPhysicalDeviceFragmentShadingRatesKHR =
18424         PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
18425       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
18426 
18427       //=== VK_EXT_buffer_device_address ===
18428       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
18429       if ( !vkGetBufferDeviceAddress )
18430         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
18431 
18432       //=== VK_EXT_tooling_info ===
18433       vkGetPhysicalDeviceToolPropertiesEXT =
18434         PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
18435       if ( !vkGetPhysicalDeviceToolProperties )
18436         vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
18437 
18438       //=== VK_KHR_present_wait ===
18439       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
18440 
18441       //=== VK_NV_cooperative_matrix ===
18442       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
18443         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
18444 
18445       //=== VK_NV_coverage_reduction_mode ===
18446       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
18447         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
18448 
18449 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18450       //=== VK_EXT_full_screen_exclusive ===
18451       vkGetPhysicalDeviceSurfacePresentModes2EXT =
18452         PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
18453       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
18454       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
18455       vkGetDeviceGroupSurfacePresentModes2EXT =
18456         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
18457 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18458 
18459       //=== VK_EXT_headless_surface ===
18460       vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
18461 
18462       //=== VK_KHR_buffer_device_address ===
18463       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
18464       if ( !vkGetBufferDeviceAddress )
18465         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
18466       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
18467       if ( !vkGetBufferOpaqueCaptureAddress )
18468         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
18469       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
18470         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
18471       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
18472         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
18473 
18474       //=== VK_EXT_line_rasterization ===
18475       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
18476 
18477       //=== VK_EXT_host_query_reset ===
18478       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
18479       if ( !vkResetQueryPool )
18480         vkResetQueryPool = vkResetQueryPoolEXT;
18481 
18482       //=== VK_EXT_extended_dynamic_state ===
18483       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
18484       if ( !vkCmdSetCullMode )
18485         vkCmdSetCullMode = vkCmdSetCullModeEXT;
18486       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
18487       if ( !vkCmdSetFrontFace )
18488         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
18489       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
18490       if ( !vkCmdSetPrimitiveTopology )
18491         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
18492       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
18493       if ( !vkCmdSetViewportWithCount )
18494         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
18495       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
18496       if ( !vkCmdSetScissorWithCount )
18497         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
18498       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
18499       if ( !vkCmdBindVertexBuffers2 )
18500         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
18501       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
18502       if ( !vkCmdSetDepthTestEnable )
18503         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
18504       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
18505       if ( !vkCmdSetDepthWriteEnable )
18506         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
18507       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
18508       if ( !vkCmdSetDepthCompareOp )
18509         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
18510       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
18511       if ( !vkCmdSetDepthBoundsTestEnable )
18512         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
18513       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
18514       if ( !vkCmdSetStencilTestEnable )
18515         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
18516       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
18517       if ( !vkCmdSetStencilOp )
18518         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
18519 
18520       //=== VK_KHR_deferred_host_operations ===
18521       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
18522       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
18523       vkGetDeferredOperationMaxConcurrencyKHR =
18524         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
18525       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
18526       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
18527 
18528       //=== VK_KHR_pipeline_executable_properties ===
18529       vkGetPipelineExecutablePropertiesKHR =
18530         PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
18531       vkGetPipelineExecutableStatisticsKHR =
18532         PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
18533       vkGetPipelineExecutableInternalRepresentationsKHR =
18534         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
18535 
18536       //=== VK_EXT_host_image_copy ===
18537       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
18538       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
18539       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
18540       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
18541       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
18542       if ( !vkGetImageSubresourceLayout2KHR )
18543         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
18544 
18545       //=== VK_KHR_map_memory2 ===
18546       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
18547       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
18548 
18549       //=== VK_EXT_swapchain_maintenance1 ===
18550       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
18551 
18552       //=== VK_NV_device_generated_commands ===
18553       vkGetGeneratedCommandsMemoryRequirementsNV =
18554         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
18555       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
18556       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
18557       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
18558       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
18559       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
18560 
18561       //=== VK_EXT_depth_bias_control ===
18562       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
18563 
18564       //=== VK_EXT_acquire_drm_display ===
18565       vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
18566       vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
18567 
18568       //=== VK_EXT_private_data ===
18569       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
18570       if ( !vkCreatePrivateDataSlot )
18571         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
18572       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
18573       if ( !vkDestroyPrivateDataSlot )
18574         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
18575       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
18576       if ( !vkSetPrivateData )
18577         vkSetPrivateData = vkSetPrivateDataEXT;
18578       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
18579       if ( !vkGetPrivateData )
18580         vkGetPrivateData = vkGetPrivateDataEXT;
18581 
18582       //=== VK_KHR_video_encode_queue ===
18583       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
18584         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
18585       vkGetEncodedVideoSessionParametersKHR =
18586         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
18587       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
18588 
18589 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18590       //=== VK_NV_cuda_kernel_launch ===
18591       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
18592       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
18593       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
18594       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
18595       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
18596       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
18597 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18598 
18599 #if defined( VK_USE_PLATFORM_METAL_EXT )
18600       //=== VK_EXT_metal_objects ===
18601       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
18602 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18603 
18604       //=== VK_KHR_synchronization2 ===
18605       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
18606       if ( !vkCmdSetEvent2 )
18607         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
18608       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
18609       if ( !vkCmdResetEvent2 )
18610         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
18611       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
18612       if ( !vkCmdWaitEvents2 )
18613         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
18614       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
18615       if ( !vkCmdPipelineBarrier2 )
18616         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
18617       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
18618       if ( !vkCmdWriteTimestamp2 )
18619         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
18620       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
18621       if ( !vkQueueSubmit2 )
18622         vkQueueSubmit2 = vkQueueSubmit2KHR;
18623       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
18624       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
18625 
18626       //=== VK_EXT_descriptor_buffer ===
18627       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
18628       vkGetDescriptorSetLayoutBindingOffsetEXT =
18629         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
18630       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
18631       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
18632       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
18633       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
18634         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
18635       vkGetBufferOpaqueCaptureDescriptorDataEXT =
18636         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
18637       vkGetImageOpaqueCaptureDescriptorDataEXT =
18638         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
18639       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
18640         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
18641       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
18642         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
18643       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
18644         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
18645 
18646       //=== VK_NV_fragment_shading_rate_enums ===
18647       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
18648 
18649       //=== VK_EXT_mesh_shader ===
18650       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
18651       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
18652       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
18653 
18654       //=== VK_KHR_copy_commands2 ===
18655       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
18656       if ( !vkCmdCopyBuffer2 )
18657         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
18658       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
18659       if ( !vkCmdCopyImage2 )
18660         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
18661       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
18662       if ( !vkCmdCopyBufferToImage2 )
18663         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
18664       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
18665       if ( !vkCmdCopyImageToBuffer2 )
18666         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
18667       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
18668       if ( !vkCmdBlitImage2 )
18669         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
18670       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
18671       if ( !vkCmdResolveImage2 )
18672         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
18673 
18674       //=== VK_EXT_device_fault ===
18675       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
18676 
18677 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18678       //=== VK_NV_acquire_winrt_display ===
18679       vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
18680       vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
18681 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18682 
18683 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
18684       //=== VK_EXT_directfb_surface ===
18685       vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
18686       vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
18687         PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
18688 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
18689 
18690       //=== VK_EXT_vertex_input_dynamic_state ===
18691       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
18692 
18693 #if defined( VK_USE_PLATFORM_FUCHSIA )
18694       //=== VK_FUCHSIA_external_memory ===
18695       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
18696       vkGetMemoryZirconHandlePropertiesFUCHSIA =
18697         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
18698 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18699 
18700 #if defined( VK_USE_PLATFORM_FUCHSIA )
18701       //=== VK_FUCHSIA_external_semaphore ===
18702       vkImportSemaphoreZirconHandleFUCHSIA =
18703         PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
18704       vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
18705 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18706 
18707 #if defined( VK_USE_PLATFORM_FUCHSIA )
18708       //=== VK_FUCHSIA_buffer_collection ===
18709       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
18710       vkSetBufferCollectionImageConstraintsFUCHSIA =
18711         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
18712       vkSetBufferCollectionBufferConstraintsFUCHSIA =
18713         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
18714       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
18715       vkGetBufferCollectionPropertiesFUCHSIA =
18716         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
18717 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18718 
18719       //=== VK_HUAWEI_subpass_shading ===
18720       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
18721         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
18722       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
18723 
18724       //=== VK_HUAWEI_invocation_mask ===
18725       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
18726 
18727       //=== VK_NV_external_memory_rdma ===
18728       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
18729 
18730       //=== VK_EXT_pipeline_properties ===
18731       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
18732 
18733       //=== VK_EXT_extended_dynamic_state2 ===
18734       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
18735       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
18736       if ( !vkCmdSetRasterizerDiscardEnable )
18737         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
18738       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
18739       if ( !vkCmdSetDepthBiasEnable )
18740         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
18741       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
18742       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
18743       if ( !vkCmdSetPrimitiveRestartEnable )
18744         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
18745 
18746 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18747       //=== VK_QNX_screen_surface ===
18748       vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
18749       vkGetPhysicalDeviceScreenPresentationSupportQNX =
18750         PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
18751 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18752 
18753       //=== VK_EXT_color_write_enable ===
18754       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
18755 
18756       //=== VK_KHR_ray_tracing_maintenance1 ===
18757       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
18758 
18759       //=== VK_EXT_multi_draw ===
18760       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
18761       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
18762 
18763       //=== VK_EXT_opacity_micromap ===
18764       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
18765       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
18766       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
18767       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
18768       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
18769       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
18770       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
18771       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
18772       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
18773       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
18774       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
18775       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
18776       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
18777       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
18778 
18779       //=== VK_HUAWEI_cluster_culling_shader ===
18780       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
18781       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
18782 
18783       //=== VK_EXT_pageable_device_local_memory ===
18784       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
18785 
18786       //=== VK_KHR_maintenance4 ===
18787       vkGetDeviceBufferMemoryRequirementsKHR =
18788         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
18789       if ( !vkGetDeviceBufferMemoryRequirements )
18790         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
18791       vkGetDeviceImageMemoryRequirementsKHR =
18792         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
18793       if ( !vkGetDeviceImageMemoryRequirements )
18794         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
18795       vkGetDeviceImageSparseMemoryRequirementsKHR =
18796         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
18797       if ( !vkGetDeviceImageSparseMemoryRequirements )
18798         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
18799 
18800       //=== VK_VALVE_descriptor_set_host_mapping ===
18801       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
18802         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
18803       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
18804 
18805       //=== VK_NV_copy_memory_indirect ===
18806       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
18807       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
18808 
18809       //=== VK_NV_memory_decompression ===
18810       vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
18811       vkCmdDecompressMemoryIndirectCountNV =
18812         PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
18813 
18814       //=== VK_NV_device_generated_commands_compute ===
18815       vkGetPipelineIndirectMemoryRequirementsNV =
18816         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
18817       vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
18818       vkGetPipelineIndirectDeviceAddressNV =
18819         PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
18820 
18821       //=== VK_EXT_extended_dynamic_state3 ===
18822       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
18823       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
18824       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
18825       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
18826       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
18827       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
18828       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
18829       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
18830       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
18831       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
18832       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
18833       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
18834       vkCmdSetConservativeRasterizationModeEXT =
18835         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
18836       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
18837         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
18838       vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
18839       vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
18840       vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
18841       vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
18842       vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
18843       vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
18844       vkCmdSetDepthClipNegativeOneToOneEXT =
18845         PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
18846       vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
18847       vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
18848       vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
18849       vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
18850       vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
18851       vkCmdSetCoverageModulationTableEnableNV =
18852         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
18853       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
18854       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
18855       vkCmdSetRepresentativeFragmentTestEnableNV =
18856         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
18857       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
18858 
18859       //=== VK_EXT_shader_module_identifier ===
18860       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
18861       vkGetShaderModuleCreateInfoIdentifierEXT =
18862         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
18863 
18864       //=== VK_NV_optical_flow ===
18865       vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
18866         PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
18867       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
18868       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
18869       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
18870       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
18871 
18872       //=== VK_KHR_maintenance5 ===
18873       vkCmdBindIndexBuffer2KHR         = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
18874       vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
18875       vkGetDeviceImageSubresourceLayoutKHR =
18876         PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
18877       vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
18878 
18879       //=== VK_EXT_shader_object ===
18880       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
18881       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
18882       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
18883       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
18884 
18885       //=== VK_QCOM_tile_properties ===
18886       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
18887       vkGetDynamicRenderingTilePropertiesQCOM =
18888         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
18889 
18890       //=== VK_NV_low_latency2 ===
18891       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
18892       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
18893       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
18894       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
18895       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
18896 
18897       //=== VK_KHR_cooperative_matrix ===
18898       vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
18899         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
18900 
18901       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
18902       vkCmdSetAttachmentFeedbackLoopEnableEXT =
18903         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
18904 
18905 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18906       //=== VK_QNX_external_memory_screen_buffer ===
18907       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
18908 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18909 
18910       //=== VK_KHR_calibrated_timestamps ===
18911       vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
18912         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
18913       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
18914 
18915       //=== VK_KHR_maintenance6 ===
18916       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
18917       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
18918       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
18919       vkCmdPushDescriptorSetWithTemplate2KHR =
18920         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
18921       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
18922       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
18923         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
18924     }
18925 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)18926     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
18927     {
18928       VkDevice device = static_cast<VkDevice>( deviceCpp );
18929 
18930       //=== VK_VERSION_1_0 ===
18931       vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
18932       vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
18933       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
18934       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
18935       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
18936       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
18937       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
18938       vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
18939       vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
18940       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
18941       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
18942       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
18943       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
18944       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
18945       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
18946       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
18947       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
18948       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
18949       vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
18950       vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
18951       vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
18952       vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
18953       vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
18954       vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
18955       vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
18956       vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
18957       vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
18958       vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
18959       vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
18960       vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
18961       vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
18962       vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
18963       vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
18964       vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
18965       vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
18966       vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
18967       vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
18968       vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
18969       vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
18970       vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
18971       vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
18972       vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
18973       vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
18974       vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
18975       vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
18976       vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
18977       vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
18978       vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
18979       vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
18980       vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
18981       vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
18982       vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
18983       vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
18984       vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
18985       vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
18986       vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
18987       vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
18988       vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
18989       vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
18990       vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
18991       vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
18992       vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
18993       vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
18994       vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
18995       vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
18996       vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
18997       vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
18998       vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
18999       vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
19000       vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
19001       vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
19002       vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
19003       vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
19004       vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
19005       vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
19006       vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
19007       vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
19008       vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
19009       vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
19010       vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
19011       vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
19012       vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
19013       vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
19014       vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
19015       vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
19016       vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
19017       vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
19018       vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
19019       vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
19020       vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
19021       vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
19022       vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
19023       vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
19024       vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
19025       vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
19026       vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
19027       vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
19028       vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
19029       vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
19030       vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
19031       vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
19032       vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
19033       vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
19034       vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
19035       vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
19036       vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
19037       vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
19038       vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
19039       vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
19040       vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
19041       vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
19042       vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
19043       vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
19044       vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
19045       vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
19046       vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
19047       vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
19048       vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
19049       vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
19050       vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
19051       vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
19052 
19053       //=== VK_VERSION_1_1 ===
19054       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
19055       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
19056       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19057       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
19058       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
19059       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
19060       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
19061       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
19062       vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
19063       vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
19064       vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
19065       vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
19066       vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
19067       vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
19068       vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
19069       vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
19070 
19071       //=== VK_VERSION_1_2 ===
19072       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
19073       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
19074       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
19075       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
19076       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
19077       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
19078       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
19079       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
19080       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
19081       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
19082       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
19083       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
19084       vkGetDeviceMemoryOpaqueCaptureAddress =
19085         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19086 
19087       //=== VK_VERSION_1_3 ===
19088       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
19089       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
19090       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
19091       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
19092       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
19093       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
19094       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
19095       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
19096       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
19097       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
19098       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
19099       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
19100       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
19101       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
19102       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
19103       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
19104       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
19105       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
19106       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
19107       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
19108       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
19109       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
19110       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
19111       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
19112       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
19113       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
19114       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
19115       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
19116       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
19117       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
19118       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
19119       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
19120       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
19121       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
19122       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
19123       vkGetDeviceImageSparseMemoryRequirements =
19124         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
19125 
19126       //=== VK_KHR_swapchain ===
19127       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
19128       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
19129       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
19130       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
19131       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
19132       vkGetDeviceGroupPresentCapabilitiesKHR =
19133         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19134       vkGetDeviceGroupSurfacePresentModesKHR =
19135         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19136       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
19137 
19138       //=== VK_KHR_display_swapchain ===
19139       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
19140 
19141       //=== VK_EXT_debug_marker ===
19142       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
19143       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
19144       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
19145       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
19146       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
19147 
19148       //=== VK_KHR_video_queue ===
19149       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
19150       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
19151       vkGetVideoSessionMemoryRequirementsKHR =
19152         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
19153       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
19154       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
19155       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
19156       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
19157       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
19158       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
19159       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
19160 
19161       //=== VK_KHR_video_decode_queue ===
19162       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
19163 
19164       //=== VK_EXT_transform_feedback ===
19165       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
19166       vkCmdBeginTransformFeedbackEXT       = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
19167       vkCmdEndTransformFeedbackEXT         = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
19168       vkCmdBeginQueryIndexedEXT            = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
19169       vkCmdEndQueryIndexedEXT              = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
19170       vkCmdDrawIndirectByteCountEXT        = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
19171 
19172       //=== VK_NVX_binary_import ===
19173       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
19174       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
19175       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
19176       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
19177       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
19178 
19179       //=== VK_NVX_image_view_handle ===
19180       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
19181       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
19182 
19183       //=== VK_AMD_draw_indirect_count ===
19184       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
19185       if ( !vkCmdDrawIndirectCount )
19186         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
19187       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
19188       if ( !vkCmdDrawIndexedIndirectCount )
19189         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
19190 
19191       //=== VK_AMD_shader_info ===
19192       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
19193 
19194       //=== VK_KHR_dynamic_rendering ===
19195       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
19196       if ( !vkCmdBeginRendering )
19197         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
19198       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
19199       if ( !vkCmdEndRendering )
19200         vkCmdEndRendering = vkCmdEndRenderingKHR;
19201 
19202 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19203       //=== VK_NV_external_memory_win32 ===
19204       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
19205 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19206 
19207       //=== VK_KHR_device_group ===
19208       vkGetDeviceGroupPeerMemoryFeaturesKHR =
19209         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
19210       if ( !vkGetDeviceGroupPeerMemoryFeatures )
19211         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
19212       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
19213       if ( !vkCmdSetDeviceMask )
19214         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
19215       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
19216       if ( !vkCmdDispatchBase )
19217         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
19218 
19219       //=== VK_KHR_maintenance1 ===
19220       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
19221       if ( !vkTrimCommandPool )
19222         vkTrimCommandPool = vkTrimCommandPoolKHR;
19223 
19224 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19225       //=== VK_KHR_external_memory_win32 ===
19226       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
19227       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
19228 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19229 
19230       //=== VK_KHR_external_memory_fd ===
19231       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
19232       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
19233 
19234 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19235       //=== VK_KHR_external_semaphore_win32 ===
19236       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
19237       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
19238 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19239 
19240       //=== VK_KHR_external_semaphore_fd ===
19241       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
19242       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
19243 
19244       //=== VK_KHR_push_descriptor ===
19245       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
19246       vkCmdPushDescriptorSetWithTemplateKHR =
19247         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
19248 
19249       //=== VK_EXT_conditional_rendering ===
19250       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
19251       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
19252 
19253       //=== VK_KHR_descriptor_update_template ===
19254       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
19255       if ( !vkCreateDescriptorUpdateTemplate )
19256         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
19257       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
19258       if ( !vkDestroyDescriptorUpdateTemplate )
19259         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
19260       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
19261       if ( !vkUpdateDescriptorSetWithTemplate )
19262         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
19263 
19264       //=== VK_NV_clip_space_w_scaling ===
19265       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
19266 
19267       //=== VK_EXT_display_control ===
19268       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
19269       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
19270       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
19271       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
19272 
19273       //=== VK_GOOGLE_display_timing ===
19274       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
19275       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
19276 
19277       //=== VK_EXT_discard_rectangles ===
19278       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
19279       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
19280       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
19281 
19282       //=== VK_EXT_hdr_metadata ===
19283       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
19284 
19285       //=== VK_KHR_create_renderpass2 ===
19286       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
19287       if ( !vkCreateRenderPass2 )
19288         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
19289       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
19290       if ( !vkCmdBeginRenderPass2 )
19291         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
19292       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
19293       if ( !vkCmdNextSubpass2 )
19294         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
19295       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
19296       if ( !vkCmdEndRenderPass2 )
19297         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
19298 
19299       //=== VK_KHR_shared_presentable_image ===
19300       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
19301 
19302 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19303       //=== VK_KHR_external_fence_win32 ===
19304       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
19305       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
19306 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19307 
19308       //=== VK_KHR_external_fence_fd ===
19309       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
19310       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
19311 
19312       //=== VK_KHR_performance_query ===
19313       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
19314       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
19315 
19316       //=== VK_EXT_debug_utils ===
19317       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
19318       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
19319       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
19320       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
19321       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
19322       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
19323       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
19324       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
19325 
19326 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19327       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
19328       vkGetAndroidHardwareBufferPropertiesANDROID =
19329         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
19330       vkGetMemoryAndroidHardwareBufferANDROID =
19331         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
19332 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19333 
19334 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19335       //=== VK_AMDX_shader_enqueue ===
19336       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
19337       vkGetExecutionGraphPipelineScratchSizeAMDX =
19338         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
19339       vkGetExecutionGraphPipelineNodeIndexAMDX =
19340         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
19341       vkCmdInitializeGraphScratchMemoryAMDX =
19342         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
19343       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
19344       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
19345       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
19346 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19347 
19348       //=== VK_EXT_sample_locations ===
19349       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
19350 
19351       //=== VK_KHR_get_memory_requirements2 ===
19352       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
19353       if ( !vkGetImageMemoryRequirements2 )
19354         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
19355       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
19356       if ( !vkGetBufferMemoryRequirements2 )
19357         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
19358       vkGetImageSparseMemoryRequirements2KHR =
19359         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
19360       if ( !vkGetImageSparseMemoryRequirements2 )
19361         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
19362 
19363       //=== VK_KHR_acceleration_structure ===
19364       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
19365       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
19366       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
19367       vkCmdBuildAccelerationStructuresIndirectKHR =
19368         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
19369       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
19370       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
19371       vkCopyAccelerationStructureToMemoryKHR =
19372         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
19373       vkCopyMemoryToAccelerationStructureKHR =
19374         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
19375       vkWriteAccelerationStructuresPropertiesKHR =
19376         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
19377       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
19378       vkCmdCopyAccelerationStructureToMemoryKHR =
19379         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
19380       vkCmdCopyMemoryToAccelerationStructureKHR =
19381         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
19382       vkGetAccelerationStructureDeviceAddressKHR =
19383         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
19384       vkCmdWriteAccelerationStructuresPropertiesKHR =
19385         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
19386       vkGetDeviceAccelerationStructureCompatibilityKHR =
19387         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
19388       vkGetAccelerationStructureBuildSizesKHR =
19389         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
19390 
19391       //=== VK_KHR_ray_tracing_pipeline ===
19392       vkCmdTraceRaysKHR                    = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
19393       vkCreateRayTracingPipelinesKHR       = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
19394       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
19395       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
19396         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
19397       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
19398       vkGetRayTracingShaderGroupStackSizeKHR =
19399         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
19400       vkCmdSetRayTracingPipelineStackSizeKHR =
19401         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
19402 
19403       //=== VK_KHR_sampler_ycbcr_conversion ===
19404       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
19405       if ( !vkCreateSamplerYcbcrConversion )
19406         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
19407       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
19408       if ( !vkDestroySamplerYcbcrConversion )
19409         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
19410 
19411       //=== VK_KHR_bind_memory2 ===
19412       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
19413       if ( !vkBindBufferMemory2 )
19414         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
19415       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
19416       if ( !vkBindImageMemory2 )
19417         vkBindImageMemory2 = vkBindImageMemory2KHR;
19418 
19419       //=== VK_EXT_image_drm_format_modifier ===
19420       vkGetImageDrmFormatModifierPropertiesEXT =
19421         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
19422 
19423       //=== VK_EXT_validation_cache ===
19424       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
19425       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
19426       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
19427       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
19428 
19429       //=== VK_NV_shading_rate_image ===
19430       vkCmdBindShadingRateImageNV          = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
19431       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
19432       vkCmdSetCoarseSampleOrderNV          = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
19433 
19434       //=== VK_NV_ray_tracing ===
19435       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
19436       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
19437       vkGetAccelerationStructureMemoryRequirementsNV =
19438         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
19439       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
19440       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
19441       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
19442       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
19443       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
19444       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
19445       if ( !vkGetRayTracingShaderGroupHandlesKHR )
19446         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
19447       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
19448       vkCmdWriteAccelerationStructuresPropertiesNV =
19449         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
19450       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
19451 
19452       //=== VK_KHR_maintenance3 ===
19453       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
19454       if ( !vkGetDescriptorSetLayoutSupport )
19455         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
19456 
19457       //=== VK_KHR_draw_indirect_count ===
19458       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
19459       if ( !vkCmdDrawIndirectCount )
19460         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
19461       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
19462       if ( !vkCmdDrawIndexedIndirectCount )
19463         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
19464 
19465       //=== VK_EXT_external_memory_host ===
19466       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
19467 
19468       //=== VK_AMD_buffer_marker ===
19469       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
19470 
19471       //=== VK_EXT_calibrated_timestamps ===
19472       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
19473       if ( !vkGetCalibratedTimestampsKHR )
19474         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
19475 
19476       //=== VK_NV_mesh_shader ===
19477       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
19478       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
19479       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
19480 
19481       //=== VK_NV_scissor_exclusive ===
19482       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
19483       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
19484 
19485       //=== VK_NV_device_diagnostic_checkpoints ===
19486       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
19487       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
19488 
19489       //=== VK_KHR_timeline_semaphore ===
19490       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
19491       if ( !vkGetSemaphoreCounterValue )
19492         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
19493       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
19494       if ( !vkWaitSemaphores )
19495         vkWaitSemaphores = vkWaitSemaphoresKHR;
19496       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
19497       if ( !vkSignalSemaphore )
19498         vkSignalSemaphore = vkSignalSemaphoreKHR;
19499 
19500       //=== VK_INTEL_performance_query ===
19501       vkInitializePerformanceApiINTEL      = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
19502       vkUninitializePerformanceApiINTEL    = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
19503       vkCmdSetPerformanceMarkerINTEL       = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
19504       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
19505       vkCmdSetPerformanceOverrideINTEL     = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
19506       vkAcquirePerformanceConfigurationINTEL =
19507         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
19508       vkReleasePerformanceConfigurationINTEL =
19509         PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
19510       vkQueueSetPerformanceConfigurationINTEL =
19511         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
19512       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
19513 
19514       //=== VK_AMD_display_native_hdr ===
19515       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
19516 
19517       //=== VK_KHR_fragment_shading_rate ===
19518       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
19519 
19520       //=== VK_EXT_buffer_device_address ===
19521       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
19522       if ( !vkGetBufferDeviceAddress )
19523         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
19524 
19525       //=== VK_KHR_present_wait ===
19526       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
19527 
19528 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19529       //=== VK_EXT_full_screen_exclusive ===
19530       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
19531       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
19532       vkGetDeviceGroupSurfacePresentModes2EXT =
19533         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
19534 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19535 
19536       //=== VK_KHR_buffer_device_address ===
19537       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
19538       if ( !vkGetBufferDeviceAddress )
19539         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
19540       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
19541       if ( !vkGetBufferOpaqueCaptureAddress )
19542         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
19543       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
19544         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
19545       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
19546         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
19547 
19548       //=== VK_EXT_line_rasterization ===
19549       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
19550 
19551       //=== VK_EXT_host_query_reset ===
19552       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
19553       if ( !vkResetQueryPool )
19554         vkResetQueryPool = vkResetQueryPoolEXT;
19555 
19556       //=== VK_EXT_extended_dynamic_state ===
19557       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
19558       if ( !vkCmdSetCullMode )
19559         vkCmdSetCullMode = vkCmdSetCullModeEXT;
19560       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
19561       if ( !vkCmdSetFrontFace )
19562         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
19563       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
19564       if ( !vkCmdSetPrimitiveTopology )
19565         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
19566       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
19567       if ( !vkCmdSetViewportWithCount )
19568         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
19569       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
19570       if ( !vkCmdSetScissorWithCount )
19571         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
19572       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
19573       if ( !vkCmdBindVertexBuffers2 )
19574         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
19575       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
19576       if ( !vkCmdSetDepthTestEnable )
19577         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
19578       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
19579       if ( !vkCmdSetDepthWriteEnable )
19580         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
19581       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
19582       if ( !vkCmdSetDepthCompareOp )
19583         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
19584       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
19585       if ( !vkCmdSetDepthBoundsTestEnable )
19586         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
19587       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
19588       if ( !vkCmdSetStencilTestEnable )
19589         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
19590       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
19591       if ( !vkCmdSetStencilOp )
19592         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
19593 
19594       //=== VK_KHR_deferred_host_operations ===
19595       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
19596       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
19597       vkGetDeferredOperationMaxConcurrencyKHR =
19598         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
19599       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
19600       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
19601 
19602       //=== VK_KHR_pipeline_executable_properties ===
19603       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
19604       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
19605       vkGetPipelineExecutableInternalRepresentationsKHR =
19606         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
19607 
19608       //=== VK_EXT_host_image_copy ===
19609       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
19610       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
19611       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
19612       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
19613       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
19614       if ( !vkGetImageSubresourceLayout2KHR )
19615         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
19616 
19617       //=== VK_KHR_map_memory2 ===
19618       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
19619       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
19620 
19621       //=== VK_EXT_swapchain_maintenance1 ===
19622       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
19623 
19624       //=== VK_NV_device_generated_commands ===
19625       vkGetGeneratedCommandsMemoryRequirementsNV =
19626         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
19627       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
19628       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
19629       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
19630       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
19631       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
19632 
19633       //=== VK_EXT_depth_bias_control ===
19634       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
19635 
19636       //=== VK_EXT_private_data ===
19637       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
19638       if ( !vkCreatePrivateDataSlot )
19639         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
19640       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
19641       if ( !vkDestroyPrivateDataSlot )
19642         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
19643       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
19644       if ( !vkSetPrivateData )
19645         vkSetPrivateData = vkSetPrivateDataEXT;
19646       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
19647       if ( !vkGetPrivateData )
19648         vkGetPrivateData = vkGetPrivateDataEXT;
19649 
19650       //=== VK_KHR_video_encode_queue ===
19651       vkGetEncodedVideoSessionParametersKHR =
19652         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
19653       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
19654 
19655 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19656       //=== VK_NV_cuda_kernel_launch ===
19657       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
19658       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
19659       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
19660       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
19661       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
19662       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
19663 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19664 
19665 #if defined( VK_USE_PLATFORM_METAL_EXT )
19666       //=== VK_EXT_metal_objects ===
19667       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
19668 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19669 
19670       //=== VK_KHR_synchronization2 ===
19671       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
19672       if ( !vkCmdSetEvent2 )
19673         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
19674       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
19675       if ( !vkCmdResetEvent2 )
19676         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
19677       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
19678       if ( !vkCmdWaitEvents2 )
19679         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
19680       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
19681       if ( !vkCmdPipelineBarrier2 )
19682         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
19683       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
19684       if ( !vkCmdWriteTimestamp2 )
19685         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
19686       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
19687       if ( !vkQueueSubmit2 )
19688         vkQueueSubmit2 = vkQueueSubmit2KHR;
19689       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
19690       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
19691 
19692       //=== VK_EXT_descriptor_buffer ===
19693       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
19694       vkGetDescriptorSetLayoutBindingOffsetEXT =
19695         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
19696       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
19697       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
19698       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
19699       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
19700         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
19701       vkGetBufferOpaqueCaptureDescriptorDataEXT =
19702         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
19703       vkGetImageOpaqueCaptureDescriptorDataEXT =
19704         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
19705       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
19706         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
19707       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
19708         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
19709       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
19710         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
19711 
19712       //=== VK_NV_fragment_shading_rate_enums ===
19713       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
19714 
19715       //=== VK_EXT_mesh_shader ===
19716       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
19717       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
19718       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
19719 
19720       //=== VK_KHR_copy_commands2 ===
19721       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
19722       if ( !vkCmdCopyBuffer2 )
19723         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
19724       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
19725       if ( !vkCmdCopyImage2 )
19726         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
19727       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
19728       if ( !vkCmdCopyBufferToImage2 )
19729         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
19730       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
19731       if ( !vkCmdCopyImageToBuffer2 )
19732         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
19733       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
19734       if ( !vkCmdBlitImage2 )
19735         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
19736       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
19737       if ( !vkCmdResolveImage2 )
19738         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
19739 
19740       //=== VK_EXT_device_fault ===
19741       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
19742 
19743       //=== VK_EXT_vertex_input_dynamic_state ===
19744       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
19745 
19746 #if defined( VK_USE_PLATFORM_FUCHSIA )
19747       //=== VK_FUCHSIA_external_memory ===
19748       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
19749       vkGetMemoryZirconHandlePropertiesFUCHSIA =
19750         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
19751 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19752 
19753 #if defined( VK_USE_PLATFORM_FUCHSIA )
19754       //=== VK_FUCHSIA_external_semaphore ===
19755       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
19756       vkGetSemaphoreZirconHandleFUCHSIA    = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
19757 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19758 
19759 #if defined( VK_USE_PLATFORM_FUCHSIA )
19760       //=== VK_FUCHSIA_buffer_collection ===
19761       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
19762       vkSetBufferCollectionImageConstraintsFUCHSIA =
19763         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
19764       vkSetBufferCollectionBufferConstraintsFUCHSIA =
19765         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
19766       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
19767       vkGetBufferCollectionPropertiesFUCHSIA =
19768         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
19769 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19770 
19771       //=== VK_HUAWEI_subpass_shading ===
19772       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
19773         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
19774       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
19775 
19776       //=== VK_HUAWEI_invocation_mask ===
19777       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
19778 
19779       //=== VK_NV_external_memory_rdma ===
19780       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
19781 
19782       //=== VK_EXT_pipeline_properties ===
19783       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
19784 
19785       //=== VK_EXT_extended_dynamic_state2 ===
19786       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
19787       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
19788       if ( !vkCmdSetRasterizerDiscardEnable )
19789         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
19790       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
19791       if ( !vkCmdSetDepthBiasEnable )
19792         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
19793       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
19794       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
19795       if ( !vkCmdSetPrimitiveRestartEnable )
19796         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
19797 
19798       //=== VK_EXT_color_write_enable ===
19799       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
19800 
19801       //=== VK_KHR_ray_tracing_maintenance1 ===
19802       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
19803 
19804       //=== VK_EXT_multi_draw ===
19805       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
19806       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
19807 
19808       //=== VK_EXT_opacity_micromap ===
19809       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
19810       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
19811       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
19812       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
19813       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
19814       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
19815       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
19816       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
19817       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
19818       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
19819       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
19820       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
19821       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
19822       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
19823 
19824       //=== VK_HUAWEI_cluster_culling_shader ===
19825       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
19826       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
19827 
19828       //=== VK_EXT_pageable_device_local_memory ===
19829       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
19830 
19831       //=== VK_KHR_maintenance4 ===
19832       vkGetDeviceBufferMemoryRequirementsKHR =
19833         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
19834       if ( !vkGetDeviceBufferMemoryRequirements )
19835         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
19836       vkGetDeviceImageMemoryRequirementsKHR =
19837         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
19838       if ( !vkGetDeviceImageMemoryRequirements )
19839         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
19840       vkGetDeviceImageSparseMemoryRequirementsKHR =
19841         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
19842       if ( !vkGetDeviceImageSparseMemoryRequirements )
19843         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
19844 
19845       //=== VK_VALVE_descriptor_set_host_mapping ===
19846       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
19847         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
19848       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
19849 
19850       //=== VK_NV_copy_memory_indirect ===
19851       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
19852       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
19853 
19854       //=== VK_NV_memory_decompression ===
19855       vkCmdDecompressMemoryNV              = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
19856       vkCmdDecompressMemoryIndirectCountNV = PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
19857 
19858       //=== VK_NV_device_generated_commands_compute ===
19859       vkGetPipelineIndirectMemoryRequirementsNV =
19860         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
19861       vkCmdUpdatePipelineIndirectBufferNV  = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
19862       vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
19863 
19864       //=== VK_EXT_extended_dynamic_state3 ===
19865       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
19866       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
19867       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
19868       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
19869       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
19870       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
19871       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
19872       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
19873       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
19874       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
19875       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
19876       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
19877       vkCmdSetConservativeRasterizationModeEXT =
19878         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
19879       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
19880         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
19881       vkCmdSetDepthClipEnableEXT           = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
19882       vkCmdSetSampleLocationsEnableEXT     = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
19883       vkCmdSetColorBlendAdvancedEXT        = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
19884       vkCmdSetProvokingVertexModeEXT       = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
19885       vkCmdSetLineRasterizationModeEXT     = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
19886       vkCmdSetLineStippleEnableEXT         = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
19887       vkCmdSetDepthClipNegativeOneToOneEXT = PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
19888       vkCmdSetViewportWScalingEnableNV     = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
19889       vkCmdSetViewportSwizzleNV            = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
19890       vkCmdSetCoverageToColorEnableNV      = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
19891       vkCmdSetCoverageToColorLocationNV    = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
19892       vkCmdSetCoverageModulationModeNV     = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
19893       vkCmdSetCoverageModulationTableEnableNV =
19894         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
19895       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
19896       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
19897       vkCmdSetRepresentativeFragmentTestEnableNV =
19898         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
19899       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
19900 
19901       //=== VK_EXT_shader_module_identifier ===
19902       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
19903       vkGetShaderModuleCreateInfoIdentifierEXT =
19904         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
19905 
19906       //=== VK_NV_optical_flow ===
19907       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
19908       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
19909       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
19910       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
19911 
19912       //=== VK_KHR_maintenance5 ===
19913       vkCmdBindIndexBuffer2KHR             = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
19914       vkGetRenderingAreaGranularityKHR     = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
19915       vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
19916       vkGetImageSubresourceLayout2KHR      = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
19917 
19918       //=== VK_EXT_shader_object ===
19919       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
19920       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
19921       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
19922       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
19923 
19924       //=== VK_QCOM_tile_properties ===
19925       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
19926       vkGetDynamicRenderingTilePropertiesQCOM =
19927         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
19928 
19929       //=== VK_NV_low_latency2 ===
19930       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
19931       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
19932       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
19933       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
19934       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
19935 
19936       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
19937       vkCmdSetAttachmentFeedbackLoopEnableEXT =
19938         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
19939 
19940 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19941       //=== VK_QNX_external_memory_screen_buffer ===
19942       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
19943 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19944 
19945       //=== VK_KHR_calibrated_timestamps ===
19946       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
19947 
19948       //=== VK_KHR_maintenance6 ===
19949       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
19950       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
19951       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
19952       vkCmdPushDescriptorSetWithTemplate2KHR =
19953         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
19954       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
19955       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
19956         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
19957     }
19958 
19959     template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)19960     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
19961     {
19962       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
19963       PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
19964       init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
19965     }
19966 
19967     template <typename DynamicLoader
19968 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
19969               = VULKAN_HPP_NAMESPACE::DynamicLoader
19970 #endif
19971               >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)19972     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
19973     {
19974       static DynamicLoader dl;
19975       init( instance, device, dl );
19976     }
19977   };
19978 }  // namespace VULKAN_HPP_NAMESPACE
19979 #endif
19980