• 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     //=== VK_EXT_debug_report ===
2704 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2705     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2706                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2707                                              const VkAllocationCallbacks *              pAllocator,
2708                                              VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2709     {
2710       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2711     }
2712 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2713     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2714                                           VkDebugReportCallbackEXT      callback,
2715                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2716     {
2717       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2718     }
2719 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2720     void vkDebugReportMessageEXT( VkInstance                 instance,
2721                                   VkDebugReportFlagsEXT      flags,
2722                                   VkDebugReportObjectTypeEXT objectType,
2723                                   uint64_t                   object,
2724                                   size_t                     location,
2725                                   int32_t                    messageCode,
2726                                   const char *               pLayerPrefix,
2727                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2728     {
2729       return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2730     }
2731 
2732     //=== VK_EXT_debug_marker ===
2733 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2734     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2735     {
2736       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2737     }
2738 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2739     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2740     {
2741       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2742     }
2743 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2744     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2745     {
2746       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2747     }
2748 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2749     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2750     {
2751       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2752     }
2753 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2754     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2755     {
2756       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2757     }
2758 
2759     //=== VK_KHR_video_queue ===
2760 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2761     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2762                                                       const VkVideoProfileInfoKHR * pVideoProfile,
2763                                                       VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2764     {
2765       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2766     }
2767 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2768     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2769                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2770                                                           uint32_t *                                 pVideoFormatPropertyCount,
2771                                                           VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2772     {
2773       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2774     }
2775 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2776     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2777                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
2778                                       const VkAllocationCallbacks *       pAllocator,
2779                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2780     {
2781       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2782     }
2783 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2784     void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2785     {
2786       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2787     }
2788 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2789     VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2790                                                      VkVideoSessionKHR                     videoSession,
2791                                                      uint32_t *                            pMemoryRequirementsCount,
2792                                                      VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2793     {
2794       return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2795     }
2796 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2797     VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2798                                           VkVideoSessionKHR                       videoSession,
2799                                           uint32_t                                bindSessionMemoryInfoCount,
2800                                           const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2801     {
2802       return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2803     }
2804 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2805     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2806                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2807                                                 const VkAllocationCallbacks *                 pAllocator,
2808                                                 VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2809     {
2810       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2811     }
2812 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2813     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2814                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
2815                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2816     {
2817       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2818     }
2819 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2820     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2821                                              VkVideoSessionParametersKHR   videoSessionParameters,
2822                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2823     {
2824       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2825     }
2826 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2827     void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2828     {
2829       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2830     }
2831 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2832     void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2833     {
2834       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2835     }
2836 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2837     void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2838     {
2839       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2840     }
2841 
2842     //=== VK_KHR_video_decode_queue ===
2843 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2844     void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2845     {
2846       return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2847     }
2848 
2849     //=== VK_EXT_transform_feedback ===
2850 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2851     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2852                                                uint32_t             firstBinding,
2853                                                uint32_t             bindingCount,
2854                                                const VkBuffer *     pBuffers,
2855                                                const VkDeviceSize * pOffsets,
2856                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2857     {
2858       return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2859     }
2860 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2861     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2862                                          uint32_t             firstCounterBuffer,
2863                                          uint32_t             counterBufferCount,
2864                                          const VkBuffer *     pCounterBuffers,
2865                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2866     {
2867       return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2868     }
2869 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2870     void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2871                                        uint32_t             firstCounterBuffer,
2872                                        uint32_t             counterBufferCount,
2873                                        const VkBuffer *     pCounterBuffers,
2874                                        const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2875     {
2876       return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2877     }
2878 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2879     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2880       VULKAN_HPP_NOEXCEPT
2881     {
2882       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2883     }
2884 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2885     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2886     {
2887       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2888     }
2889 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2890     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2891                                         uint32_t        instanceCount,
2892                                         uint32_t        firstInstance,
2893                                         VkBuffer        counterBuffer,
2894                                         VkDeviceSize    counterBufferOffset,
2895                                         uint32_t        counterOffset,
2896                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2897     {
2898       return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2899     }
2900 
2901     //=== VK_NVX_binary_import ===
2902 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2903     VkResult vkCreateCuModuleNVX( VkDevice                        device,
2904                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
2905                                   const VkAllocationCallbacks *   pAllocator,
2906                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
2907     {
2908       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
2909     }
2910 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const2911     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
2912                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
2913                                     const VkAllocationCallbacks *     pAllocator,
2914                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
2915     {
2916       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
2917     }
2918 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const2919     void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2920     {
2921       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
2922     }
2923 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const2924     void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2925     {
2926       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
2927     }
2928 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const2929     void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
2930     {
2931       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
2932     }
2933 
2934     //=== VK_NVX_image_view_handle ===
2935 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const2936     uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
2937     {
2938       return ::vkGetImageViewHandleNVX( device, pInfo );
2939     }
2940 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const2941     VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
2942     {
2943       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
2944     }
2945 
2946     //=== VK_AMD_draw_indirect_count ===
2947 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2948     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
2949                                     VkBuffer        buffer,
2950                                     VkDeviceSize    offset,
2951                                     VkBuffer        countBuffer,
2952                                     VkDeviceSize    countBufferOffset,
2953                                     uint32_t        maxDrawCount,
2954                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2955     {
2956       return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2957     }
2958 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2959     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
2960                                            VkBuffer        buffer,
2961                                            VkDeviceSize    offset,
2962                                            VkBuffer        countBuffer,
2963                                            VkDeviceSize    countBufferOffset,
2964                                            uint32_t        maxDrawCount,
2965                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2966     {
2967       return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2968     }
2969 
2970     //=== VK_AMD_shader_info ===
2971 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const2972     VkResult vkGetShaderInfoAMD( VkDevice              device,
2973                                  VkPipeline            pipeline,
2974                                  VkShaderStageFlagBits shaderStage,
2975                                  VkShaderInfoTypeAMD   infoType,
2976                                  size_t *              pInfoSize,
2977                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
2978     {
2979       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
2980     }
2981 
2982     //=== VK_KHR_dynamic_rendering ===
2983 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2984     void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2985     {
2986       return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
2987     }
2988 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const2989     void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2990     {
2991       return ::vkCmdEndRenderingKHR( commandBuffer );
2992     }
2993 
2994 #  if defined( VK_USE_PLATFORM_GGP )
2995     //=== VK_GGP_stream_descriptor_surface ===
2996 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2997     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
2998                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
2999                                                  const VkAllocationCallbacks *                  pAllocator,
3000                                                  VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3001     {
3002       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3003     }
3004 #  endif /*VK_USE_PLATFORM_GGP*/
3005 
3006     //=== VK_NV_external_memory_capabilities ===
3007 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3008     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3009                                                                  VkFormat                            format,
3010                                                                  VkImageType                         type,
3011                                                                  VkImageTiling                       tiling,
3012                                                                  VkImageUsageFlags                   usage,
3013                                                                  VkImageCreateFlags                  flags,
3014                                                                  VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3015                                                                  VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3016     {
3017       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3018         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3019     }
3020 
3021 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3022     //=== VK_NV_external_memory_win32 ===
3023 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3024     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3025                                        VkDeviceMemory                    memory,
3026                                        VkExternalMemoryHandleTypeFlagsNV handleType,
3027                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3028     {
3029       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3030     }
3031 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3032 
3033     //=== VK_KHR_get_physical_device_properties2 ===
3034 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3035     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3036     {
3037       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3038     }
3039 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3040     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3041     {
3042       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3043     }
3044 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3045     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3046                                                   VkFormat              format,
3047                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3048     {
3049       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3050     }
3051 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3052     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3053                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3054                                                            VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3055     {
3056       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3057     }
3058 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3059     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3060                                                        uint32_t *                 pQueueFamilyPropertyCount,
3061                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3062     {
3063       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3064     }
3065 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3066     void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3067                                                   VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3068     {
3069       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3070     }
3071 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3072     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3073                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3074                                                              uint32_t *                                     pPropertyCount,
3075                                                              VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3076     {
3077       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3078     }
3079 
3080     //=== VK_KHR_device_group ===
3081 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3082     void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3083                                                 uint32_t                   heapIndex,
3084                                                 uint32_t                   localDeviceIndex,
3085                                                 uint32_t                   remoteDeviceIndex,
3086                                                 VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3087     {
3088       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3089     }
3090 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3091     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3092     {
3093       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3094     }
3095 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3096     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3097                                uint32_t        baseGroupX,
3098                                uint32_t        baseGroupY,
3099                                uint32_t        baseGroupZ,
3100                                uint32_t        groupCountX,
3101                                uint32_t        groupCountY,
3102                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3103     {
3104       return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3105     }
3106 
3107 #  if defined( VK_USE_PLATFORM_VI_NN )
3108     //=== VK_NN_vi_surface ===
3109 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3110     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3111                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
3112                                   const VkAllocationCallbacks *   pAllocator,
3113                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3114     {
3115       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3116     }
3117 #  endif /*VK_USE_PLATFORM_VI_NN*/
3118 
3119     //=== VK_KHR_maintenance1 ===
3120 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3121     void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3122     {
3123       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3124     }
3125 
3126     //=== VK_KHR_device_group_creation ===
3127 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3128     VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3129                                                  uint32_t *                        pPhysicalDeviceGroupCount,
3130                                                  VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3131     {
3132       return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3133     }
3134 
3135     //=== VK_KHR_external_memory_capabilities ===
3136 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3137     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3138                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3139                                                          VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3140     {
3141       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3142     }
3143 
3144 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3145     //=== VK_KHR_external_memory_win32 ===
3146 
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3147     VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3148     {
3149       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3150     }
3151 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3152     VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3153                                                   VkExternalMemoryHandleTypeFlagBits handleType,
3154                                                   HANDLE                             handle,
3155                                                   VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3156     {
3157       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3158     }
3159 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3160 
3161     //=== VK_KHR_external_memory_fd ===
3162 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3163     VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3164     {
3165       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3166     }
3167 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3168     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3169                                          VkExternalMemoryHandleTypeFlagBits handleType,
3170                                          int                                fd,
3171                                          VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3172     {
3173       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3174     }
3175 
3176     //=== VK_KHR_external_semaphore_capabilities ===
3177 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3178     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3179                                                             const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3180                                                             VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3181     {
3182       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3183     }
3184 
3185 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3186     //=== VK_KHR_external_semaphore_win32 ===
3187 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3188     VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3189                                               const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3190     {
3191       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3192     }
3193 
3194     VkResult
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3195       vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3196     {
3197       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3198     }
3199 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3200 
3201     //=== VK_KHR_external_semaphore_fd ===
3202 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3203     VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3204     {
3205       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3206     }
3207 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3208     VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3209     {
3210       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3211     }
3212 
3213     //=== VK_KHR_push_descriptor ===
3214 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3215     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3216                                     VkPipelineBindPoint          pipelineBindPoint,
3217                                     VkPipelineLayout             layout,
3218                                     uint32_t                     set,
3219                                     uint32_t                     descriptorWriteCount,
3220                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3221     {
3222       return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3223     }
3224 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3225     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3226                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3227                                                 VkPipelineLayout           layout,
3228                                                 uint32_t                   set,
3229                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
3230     {
3231       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3232     }
3233 
3234     //=== VK_EXT_conditional_rendering ===
3235 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3236     void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3237                                             const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3238     {
3239       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3240     }
3241 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3242     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3243     {
3244       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3245     }
3246 
3247     //=== VK_KHR_descriptor_update_template ===
3248 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3249     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3250                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3251                                                   const VkAllocationCallbacks *                pAllocator,
3252                                                   VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3253     {
3254       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3255     }
3256 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3257     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3258                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3259                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3260     {
3261       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3262     }
3263 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3264     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3265                                                VkDescriptorSet            descriptorSet,
3266                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3267                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
3268     {
3269       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3270     }
3271 
3272     //=== VK_NV_clip_space_w_scaling ===
3273 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3274     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3275                                      uint32_t                     firstViewport,
3276                                      uint32_t                     viewportCount,
3277                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3278     {
3279       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3280     }
3281 
3282     //=== VK_EXT_direct_mode_display ===
3283 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3284     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3285     {
3286       return ::vkReleaseDisplayEXT( physicalDevice, display );
3287     }
3288 
3289 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3290     //=== VK_EXT_acquire_xlib_display ===
3291 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3292     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3293     {
3294       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3295     }
3296 
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3297     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3298     {
3299       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3300     }
3301 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3302 
3303     //=== VK_EXT_display_surface_counter ===
3304 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3305     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3306                                                          VkSurfaceKHR                surface,
3307                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3308     {
3309       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3310     }
3311 
3312     //=== VK_EXT_display_control ===
3313 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3314     VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3315     {
3316       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3317     }
3318 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3319     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3320                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3321                                        const VkAllocationCallbacks * pAllocator,
3322                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3323     {
3324       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3325     }
3326 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3327     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3328                                         VkDisplayKHR                  display,
3329                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
3330                                         const VkAllocationCallbacks * pAllocator,
3331                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3332     {
3333       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3334     }
3335 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3336     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3337                                        VkSwapchainKHR              swapchain,
3338                                        VkSurfaceCounterFlagBitsEXT counter,
3339                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3340     {
3341       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3342     }
3343 
3344     //=== VK_GOOGLE_display_timing ===
3345 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3346     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3347                                               VkSwapchainKHR                 swapchain,
3348                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3349     {
3350       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3351     }
3352 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3353     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3354                                                 VkSwapchainKHR                   swapchain,
3355                                                 uint32_t *                       pPresentationTimingCount,
3356                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3357     {
3358       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3359     }
3360 
3361     //=== VK_EXT_discard_rectangles ===
3362 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3363     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3364                                       uint32_t         firstDiscardRectangle,
3365                                       uint32_t         discardRectangleCount,
3366                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3367     {
3368       return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3369     }
3370 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3371     void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3372     {
3373       return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3374     }
3375 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3376     void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3377     {
3378       return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3379     }
3380 
3381     //=== VK_EXT_hdr_metadata ===
3382 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3383     void vkSetHdrMetadataEXT( VkDevice                 device,
3384                               uint32_t                 swapchainCount,
3385                               const VkSwapchainKHR *   pSwapchains,
3386                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3387     {
3388       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3389     }
3390 
3391     //=== VK_KHR_create_renderpass2 ===
3392 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3393     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3394                                      const VkRenderPassCreateInfo2 * pCreateInfo,
3395                                      const VkAllocationCallbacks *   pAllocator,
3396                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3397     {
3398       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3399     }
3400 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3401     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3402                                    const VkRenderPassBeginInfo * pRenderPassBegin,
3403                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3404     {
3405       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3406     }
3407 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3408     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3409                                const VkSubpassBeginInfo * pSubpassBeginInfo,
3410                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3411     {
3412       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3413     }
3414 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3415     void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3416     {
3417       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3418     }
3419 
3420     //=== VK_KHR_shared_presentable_image ===
3421 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3422     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3423     {
3424       return ::vkGetSwapchainStatusKHR( device, swapchain );
3425     }
3426 
3427     //=== VK_KHR_external_fence_capabilities ===
3428 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3429     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3430                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3431                                                         VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3432     {
3433       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3434     }
3435 
3436 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3437     //=== VK_KHR_external_fence_win32 ===
3438 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3439     VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3440     {
3441       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3442     }
3443 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3444     VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3445     {
3446       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3447     }
3448 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3449 
3450     //=== VK_KHR_external_fence_fd ===
3451 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3452     VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3453     {
3454       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3455     }
3456 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3457     VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3458     {
3459       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3460     }
3461 
3462     //=== VK_KHR_performance_query ===
3463 
3464     VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3465       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3466                                                                        uint32_t                             queueFamilyIndex,
3467                                                                        uint32_t *                           pCounterCount,
3468                                                                        VkPerformanceCounterKHR *            pCounters,
3469                                                                        VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3470     {
3471       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3472         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3473     }
3474 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3475     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3476                                                                   const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3477                                                                   uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3478     {
3479       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3480     }
3481 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3482     VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3483     {
3484       return ::vkAcquireProfilingLockKHR( device, pInfo );
3485     }
3486 
vkReleaseProfilingLockKHR(VkDevice device) const3487     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3488     {
3489       return ::vkReleaseProfilingLockKHR( device );
3490     }
3491 
3492     //=== VK_KHR_get_surface_capabilities2 ===
3493 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3494     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3495                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3496                                                          VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3497     {
3498       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3499     }
3500 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3501     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3502                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3503                                                     uint32_t *                              pSurfaceFormatCount,
3504                                                     VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3505     {
3506       return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3507     }
3508 
3509     //=== VK_KHR_get_display_properties2 ===
3510 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3511     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3512                                                        uint32_t *                pPropertyCount,
3513                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3514     {
3515       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3516     }
3517 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3518     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3519                                                             uint32_t *                     pPropertyCount,
3520                                                             VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3521     {
3522       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3523     }
3524 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3525     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3526                                              VkDisplayKHR                  display,
3527                                              uint32_t *                    pPropertyCount,
3528                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3529     {
3530       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3531     }
3532 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3533     VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3534                                                 const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3535                                                 VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3536     {
3537       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3538     }
3539 
3540 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3541     //=== VK_MVK_ios_surface ===
3542 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3543     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3544                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3545                                     const VkAllocationCallbacks *     pAllocator,
3546                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3547     {
3548       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3549     }
3550 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3551 
3552 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3553     //=== VK_MVK_macos_surface ===
3554 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3555     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3556                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3557                                       const VkAllocationCallbacks *       pAllocator,
3558                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3559     {
3560       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3561     }
3562 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3563 
3564     //=== VK_EXT_debug_utils ===
3565 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3566     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3567     {
3568       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3569     }
3570 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3571     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3572     {
3573       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3574     }
3575 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3576     void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3577     {
3578       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3579     }
3580 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3581     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3582     {
3583       return ::vkQueueEndDebugUtilsLabelEXT( queue );
3584     }
3585 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3586     void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3587     {
3588       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3589     }
3590 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3591     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3592     {
3593       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3594     }
3595 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3596     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3597     {
3598       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3599     }
3600 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3601     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3602     {
3603       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3604     }
3605 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3606     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3607                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3608                                              const VkAllocationCallbacks *              pAllocator,
3609                                              VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3610     {
3611       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3612     }
3613 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3614     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3615                                           VkDebugUtilsMessengerEXT      messenger,
3616                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3617     {
3618       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3619     }
3620 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3621     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3622                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3623                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3624                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3625     {
3626       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3627     }
3628 
3629 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3630     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3631 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3632     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3633                                                           const struct AHardwareBuffer *             buffer,
3634                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3635     {
3636       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3637     }
3638 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3639     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3640                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3641                                                       struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3642     {
3643       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3644     }
3645 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3646 
3647 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3648     //=== VK_AMDX_shader_enqueue ===
3649 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3650     VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3651                                                   VkPipelineCache                                pipelineCache,
3652                                                   uint32_t                                       createInfoCount,
3653                                                   const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3654                                                   const VkAllocationCallbacks *                  pAllocator,
3655                                                   VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3656     {
3657       return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3658     }
3659 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3660     VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3661                                                          VkPipeline                                executionGraph,
3662                                                          VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3663     {
3664       return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3665     }
3666 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3667     VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3668                                                        VkPipeline                                      executionGraph,
3669                                                        const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3670                                                        uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3671     {
3672       return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3673     }
3674 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch) const3675     void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
3676     {
3677       return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
3678     }
3679 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3680     void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3681                                  VkDeviceAddress                      scratch,
3682                                  const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3683     {
3684       return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
3685     }
3686 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3687     void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3688                                          VkDeviceAddress                      scratch,
3689                                          const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3690     {
3691       return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
3692     }
3693 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceAddress countInfo) const3694     void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3695     {
3696       return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
3697     }
3698 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3699 
3700     //=== VK_EXT_sample_locations ===
3701 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3702     void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3703     {
3704       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3705     }
3706 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3707     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3708                                                       VkSampleCountFlagBits        samples,
3709                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3710     {
3711       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3712     }
3713 
3714     //=== VK_KHR_get_memory_requirements2 ===
3715 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3716     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3717                                            const VkImageMemoryRequirementsInfo2 * pInfo,
3718                                            VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3719     {
3720       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3721     }
3722 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3723     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3724                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
3725                                             VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3726     {
3727       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3728     }
3729 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3730     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3731                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3732                                                  uint32_t *                                   pSparseMemoryRequirementCount,
3733                                                  VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3734     {
3735       return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3736     }
3737 
3738     //=== VK_KHR_acceleration_structure ===
3739 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3740     VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3741                                                const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3742                                                const VkAllocationCallbacks *                pAllocator,
3743                                                VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3744     {
3745       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3746     }
3747 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3748     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3749                                             VkAccelerationStructureKHR    accelerationStructure,
3750                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3751     {
3752       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3753     }
3754 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3755     void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3756                                               uint32_t                                                 infoCount,
3757                                               const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3758                                               const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3759     {
3760       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3761     }
3762 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3763     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3764                                                       uint32_t                                            infoCount,
3765                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3766                                                       const VkDeviceAddress *                             pIndirectDeviceAddresses,
3767                                                       const uint32_t *                                    pIndirectStrides,
3768                                                       const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3769     {
3770       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3771         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3772     }
3773 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3774     VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3775                                                VkDeferredOperationKHR                                   deferredOperation,
3776                                                uint32_t                                                 infoCount,
3777                                                const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3778                                                const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3779     {
3780       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3781     }
3782 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3783     VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3784                                              VkDeferredOperationKHR                     deferredOperation,
3785                                              const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3786     {
3787       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3788     }
3789 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3790     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3791                                                      VkDeferredOperationKHR                             deferredOperation,
3792                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3793     {
3794       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3795     }
3796 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3797     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3798                                                      VkDeferredOperationKHR                             deferredOperation,
3799                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3800     {
3801       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3802     }
3803 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3804     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3805                                                          uint32_t                           accelerationStructureCount,
3806                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
3807                                                          VkQueryType                        queryType,
3808                                                          size_t                             dataSize,
3809                                                          void *                             pData,
3810                                                          size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3811     {
3812       return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3813     }
3814 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3815     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3816     {
3817       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3818     }
3819 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3820     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3821                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3822     {
3823       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3824     }
3825 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3826     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3827                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3828     {
3829       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3830     }
3831 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3832     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3833                                                                 const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3834     {
3835       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3836     }
3837 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3838     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3839                                                         uint32_t                           accelerationStructureCount,
3840                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
3841                                                         VkQueryType                        queryType,
3842                                                         VkQueryPool                        queryPool,
3843                                                         uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3844     {
3845       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3846         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3847     }
3848 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3849     void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3850                                                            const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3851                                                            VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3852     {
3853       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3854     }
3855 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3856     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3857                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
3858                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3859                                                   const uint32_t *                                    pMaxPrimitiveCounts,
3860                                                   VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3861     {
3862       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3863     }
3864 
3865     //=== VK_KHR_ray_tracing_pipeline ===
3866 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3867     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3868                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3869                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3870                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3871                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3872                             uint32_t                                width,
3873                             uint32_t                                height,
3874                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3875     {
3876       return ::vkCmdTraceRaysKHR(
3877         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3878     }
3879 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3880     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3881                                              VkDeferredOperationKHR                    deferredOperation,
3882                                              VkPipelineCache                           pipelineCache,
3883                                              uint32_t                                  createInfoCount,
3884                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3885                                              const VkAllocationCallbacks *             pAllocator,
3886                                              VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
3887     {
3888       return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3889     }
3890 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3891     VkResult vkGetRayTracingShaderGroupHandlesKHR(
3892       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3893     {
3894       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3895     }
3896 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3897     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3898       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3899     {
3900       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3901     }
3902 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const3903     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
3904                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3905                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3906                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3907                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3908                                     VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
3909     {
3910       return ::vkCmdTraceRaysIndirectKHR(
3911         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
3912     }
3913 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const3914     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
3915                                                          VkPipeline             pipeline,
3916                                                          uint32_t               group,
3917                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
3918     {
3919       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
3920     }
3921 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const3922     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
3923     {
3924       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
3925     }
3926 
3927     //=== VK_KHR_sampler_ycbcr_conversion ===
3928 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const3929     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
3930                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
3931                                                 const VkAllocationCallbacks *              pAllocator,
3932                                                 VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
3933     {
3934       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
3935     }
3936 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const3937     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
3938                                              VkSamplerYcbcrConversion      ycbcrConversion,
3939                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3940     {
3941       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
3942     }
3943 
3944     //=== VK_KHR_bind_memory2 ===
3945 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const3946     VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3947     {
3948       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
3949     }
3950 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const3951     VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
3952     {
3953       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
3954     }
3955 
3956     //=== VK_EXT_image_drm_format_modifier ===
3957 
3958     VkResult
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const3959       vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
3960     {
3961       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
3962     }
3963 
3964     //=== VK_EXT_validation_cache ===
3965 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const3966     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
3967                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
3968                                          const VkAllocationCallbacks *          pAllocator,
3969                                          VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
3970     {
3971       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
3972     }
3973 
3974     void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const3975       vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3976     {
3977       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
3978     }
3979 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const3980     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
3981                                          VkValidationCacheEXT         dstCache,
3982                                          uint32_t                     srcCacheCount,
3983                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
3984     {
3985       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
3986     }
3987 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const3988     VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3989     {
3990       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
3991     }
3992 
3993     //=== VK_NV_shading_rate_image ===
3994 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const3995     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
3996     {
3997       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
3998     }
3999 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4000     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4001                                                uint32_t                       firstViewport,
4002                                                uint32_t                       viewportCount,
4003                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4004     {
4005       return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4006     }
4007 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4008     void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4009                                       VkCoarseSampleOrderTypeNV           sampleOrderType,
4010                                       uint32_t                            customSampleOrderCount,
4011                                       const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4012     {
4013       return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4014     }
4015 
4016     //=== VK_NV_ray_tracing ===
4017 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4018     VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4019                                               const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4020                                               const VkAllocationCallbacks *               pAllocator,
4021                                               VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4022     {
4023       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4024     }
4025 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4026     void vkDestroyAccelerationStructureNV( VkDevice                      device,
4027                                            VkAccelerationStructureNV     accelerationStructure,
4028                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4029     {
4030       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4031     }
4032 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4033     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4034                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4035                                                          VkMemoryRequirements2KHR *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4036     {
4037       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4038     }
4039 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4040     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4041                                                   uint32_t                                        bindInfoCount,
4042                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4043     {
4044       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4045     }
4046 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4047     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4048                                             const VkAccelerationStructureInfoNV * pInfo,
4049                                             VkBuffer                              instanceData,
4050                                             VkDeviceSize                          instanceOffset,
4051                                             VkBool32                              update,
4052                                             VkAccelerationStructureNV             dst,
4053                                             VkAccelerationStructureNV             src,
4054                                             VkBuffer                              scratch,
4055                                             VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4056     {
4057       return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4058     }
4059 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4060     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4061                                            VkAccelerationStructureNV          dst,
4062                                            VkAccelerationStructureNV          src,
4063                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4064     {
4065       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4066     }
4067 
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) const4068     void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4069                            VkBuffer        raygenShaderBindingTableBuffer,
4070                            VkDeviceSize    raygenShaderBindingOffset,
4071                            VkBuffer        missShaderBindingTableBuffer,
4072                            VkDeviceSize    missShaderBindingOffset,
4073                            VkDeviceSize    missShaderBindingStride,
4074                            VkBuffer        hitShaderBindingTableBuffer,
4075                            VkDeviceSize    hitShaderBindingOffset,
4076                            VkDeviceSize    hitShaderBindingStride,
4077                            VkBuffer        callableShaderBindingTableBuffer,
4078                            VkDeviceSize    callableShaderBindingOffset,
4079                            VkDeviceSize    callableShaderBindingStride,
4080                            uint32_t        width,
4081                            uint32_t        height,
4082                            uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4083     {
4084       return ::vkCmdTraceRaysNV( commandBuffer,
4085                                  raygenShaderBindingTableBuffer,
4086                                  raygenShaderBindingOffset,
4087                                  missShaderBindingTableBuffer,
4088                                  missShaderBindingOffset,
4089                                  missShaderBindingStride,
4090                                  hitShaderBindingTableBuffer,
4091                                  hitShaderBindingOffset,
4092                                  hitShaderBindingStride,
4093                                  callableShaderBindingTableBuffer,
4094                                  callableShaderBindingOffset,
4095                                  callableShaderBindingStride,
4096                                  width,
4097                                  height,
4098                                  depth );
4099     }
4100 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4101     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4102                                             VkPipelineCache                          pipelineCache,
4103                                             uint32_t                                 createInfoCount,
4104                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4105                                             const VkAllocationCallbacks *            pAllocator,
4106                                             VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4107     {
4108       return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4109     }
4110 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4111     VkResult vkGetRayTracingShaderGroupHandlesNV(
4112       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4113     {
4114       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4115     }
4116 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4117     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4118                                                  VkAccelerationStructureNV accelerationStructure,
4119                                                  size_t                    dataSize,
4120                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
4121     {
4122       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4123     }
4124 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4125     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4126                                                        uint32_t                          accelerationStructureCount,
4127                                                        const VkAccelerationStructureNV * pAccelerationStructures,
4128                                                        VkQueryType                       queryType,
4129                                                        VkQueryPool                       queryPool,
4130                                                        uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4131     {
4132       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4133         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4134     }
4135 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4136     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4137     {
4138       return ::vkCompileDeferredNV( device, pipeline, shader );
4139     }
4140 
4141     //=== VK_KHR_maintenance3 ===
4142 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4143     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4144                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4145                                              VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4146     {
4147       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4148     }
4149 
4150     //=== VK_KHR_draw_indirect_count ===
4151 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4152     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4153                                     VkBuffer        buffer,
4154                                     VkDeviceSize    offset,
4155                                     VkBuffer        countBuffer,
4156                                     VkDeviceSize    countBufferOffset,
4157                                     uint32_t        maxDrawCount,
4158                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4159     {
4160       return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4161     }
4162 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4163     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4164                                            VkBuffer        buffer,
4165                                            VkDeviceSize    offset,
4166                                            VkBuffer        countBuffer,
4167                                            VkDeviceSize    countBufferOffset,
4168                                            uint32_t        maxDrawCount,
4169                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4170     {
4171       return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4172     }
4173 
4174     //=== VK_EXT_external_memory_host ===
4175 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4176     VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4177                                                   VkExternalMemoryHandleTypeFlagBits handleType,
4178                                                   const void *                       pHostPointer,
4179                                                   VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4180     {
4181       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4182     }
4183 
4184     //=== VK_AMD_buffer_marker ===
4185 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4186     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4187                                     VkPipelineStageFlagBits pipelineStage,
4188                                     VkBuffer                dstBuffer,
4189                                     VkDeviceSize            dstOffset,
4190                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4191     {
4192       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4193     }
4194 
4195     //=== VK_EXT_calibrated_timestamps ===
4196 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4197     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4198                                                              uint32_t *        pTimeDomainCount,
4199                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4200     {
4201       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4202     }
4203 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4204     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4205                                            uint32_t                             timestampCount,
4206                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4207                                            uint64_t *                           pTimestamps,
4208                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4209     {
4210       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4211     }
4212 
4213     //=== VK_NV_mesh_shader ===
4214 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4215     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4216     {
4217       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4218     }
4219 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4220     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4221       VULKAN_HPP_NOEXCEPT
4222     {
4223       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4224     }
4225 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4226     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4227                                             VkBuffer        buffer,
4228                                             VkDeviceSize    offset,
4229                                             VkBuffer        countBuffer,
4230                                             VkDeviceSize    countBufferOffset,
4231                                             uint32_t        maxDrawCount,
4232                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4233     {
4234       return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4235     }
4236 
4237     //=== VK_NV_scissor_exclusive ===
4238 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4239     void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4240                                            uint32_t         firstExclusiveScissor,
4241                                            uint32_t         exclusiveScissorCount,
4242                                            const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4243     {
4244       return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4245     }
4246 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4247     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4248                                      uint32_t         firstExclusiveScissor,
4249                                      uint32_t         exclusiveScissorCount,
4250                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4251     {
4252       return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4253     }
4254 
4255     //=== VK_NV_device_diagnostic_checkpoints ===
4256 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4257     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4258     {
4259       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4260     }
4261 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4262     void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4263     {
4264       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4265     }
4266 
4267     //=== VK_KHR_timeline_semaphore ===
4268 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4269     VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4270     {
4271       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4272     }
4273 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4274     VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4275     {
4276       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4277     }
4278 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4279     VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4280     {
4281       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4282     }
4283 
4284     //=== VK_INTEL_performance_query ===
4285 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4286     VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4287     {
4288       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4289     }
4290 
vkUninitializePerformanceApiINTEL(VkDevice device) const4291     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4292     {
4293       return ::vkUninitializePerformanceApiINTEL( device );
4294     }
4295 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4296     VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4297     {
4298       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4299     }
4300 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4301     VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4302                                                    const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4303     {
4304       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4305     }
4306 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4307     VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4308     {
4309       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4310     }
4311 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4312     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4313                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4314                                                      VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4315     {
4316       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4317     }
4318 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4319     VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4320     {
4321       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4322     }
4323 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4324     VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4325     {
4326       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4327     }
4328 
4329     VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4330       vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4331     {
4332       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4333     }
4334 
4335     //=== VK_AMD_display_native_hdr ===
4336 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4337     void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4338     {
4339       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4340     }
4341 
4342 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4343     //=== VK_FUCHSIA_imagepipe_surface ===
4344 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4345     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4346                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4347                                               const VkAllocationCallbacks *               pAllocator,
4348                                               VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4349     {
4350       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4351     }
4352 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4353 
4354 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4355     //=== VK_EXT_metal_surface ===
4356 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4357     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4358                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4359                                       const VkAllocationCallbacks *       pAllocator,
4360                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4361     {
4362       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4363     }
4364 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4365 
4366     //=== VK_KHR_fragment_shading_rate ===
4367 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4368     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4369                                                          uint32_t *                               pFragmentShadingRateCount,
4370                                                          VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4371     {
4372       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4373     }
4374 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4375     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4376                                          const VkExtent2D *                       pFragmentSize,
4377                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4378     {
4379       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4380     }
4381 
4382     //=== VK_EXT_buffer_device_address ===
4383 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4384     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4385     {
4386       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4387     }
4388 
4389     //=== VK_EXT_tooling_info ===
4390 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4391     VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4392                                                    uint32_t *                       pToolCount,
4393                                                    VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4394     {
4395       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4396     }
4397 
4398     //=== VK_KHR_present_wait ===
4399 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4400     VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4401     {
4402       return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4403     }
4404 
4405     //=== VK_NV_cooperative_matrix ===
4406 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4407     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4408                                                                uint32_t *                        pPropertyCount,
4409                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4410     {
4411       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4412     }
4413 
4414     //=== VK_NV_coverage_reduction_mode ===
4415 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4416     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4417       VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4418     {
4419       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4420     }
4421 
4422 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4423     //=== VK_EXT_full_screen_exclusive ===
4424 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4425     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4426                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4427                                                          uint32_t *                              pPresentModeCount,
4428                                                          VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4429     {
4430       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4431     }
4432 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4433     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4434     {
4435       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4436     }
4437 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4438     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4439     {
4440       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4441     }
4442 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4443     VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4444                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4445                                                       VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4446     {
4447       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4448     }
4449 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4450 
4451     //=== VK_EXT_headless_surface ===
4452 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4453     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4454                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4455                                          const VkAllocationCallbacks *          pAllocator,
4456                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4457     {
4458       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4459     }
4460 
4461     //=== VK_KHR_buffer_device_address ===
4462 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4463     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4464     {
4465       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4466     }
4467 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4468     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4469     {
4470       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4471     }
4472 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4473     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4474     {
4475       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4476     }
4477 
4478     //=== VK_EXT_line_rasterization ===
4479 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4480     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4481     {
4482       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4483     }
4484 
4485     //=== VK_EXT_host_query_reset ===
4486 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4487     void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4488     {
4489       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4490     }
4491 
4492     //=== VK_EXT_extended_dynamic_state ===
4493 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4494     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4495     {
4496       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4497     }
4498 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4499     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4500     {
4501       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4502     }
4503 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4504     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4505     {
4506       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4507     }
4508 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4509     void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4510     {
4511       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4512     }
4513 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4514     void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4515     {
4516       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4517     }
4518 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4519     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4520                                      uint32_t             firstBinding,
4521                                      uint32_t             bindingCount,
4522                                      const VkBuffer *     pBuffers,
4523                                      const VkDeviceSize * pOffsets,
4524                                      const VkDeviceSize * pSizes,
4525                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4526     {
4527       return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4528     }
4529 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4530     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4531     {
4532       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4533     }
4534 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4535     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4536     {
4537       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4538     }
4539 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4540     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4541     {
4542       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4543     }
4544 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4545     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4546     {
4547       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4548     }
4549 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4550     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4551     {
4552       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4553     }
4554 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4555     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4556                                VkStencilFaceFlags faceMask,
4557                                VkStencilOp        failOp,
4558                                VkStencilOp        passOp,
4559                                VkStencilOp        depthFailOp,
4560                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4561     {
4562       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4563     }
4564 
4565     //=== VK_KHR_deferred_host_operations ===
4566 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4567     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4568                                            const VkAllocationCallbacks * pAllocator,
4569                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4570     {
4571       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4572     }
4573 
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4574     void vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4575     {
4576       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4577     }
4578 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4579     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4580     {
4581       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4582     }
4583 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4584     VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4585     {
4586       return ::vkGetDeferredOperationResultKHR( device, operation );
4587     }
4588 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4589     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4590     {
4591       return ::vkDeferredOperationJoinKHR( device, operation );
4592     }
4593 
4594     //=== VK_KHR_pipeline_executable_properties ===
4595 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4596     VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4597                                                    const VkPipelineInfoKHR *           pPipelineInfo,
4598                                                    uint32_t *                          pExecutableCount,
4599                                                    VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4600     {
4601       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4602     }
4603 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4604     VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4605                                                    const VkPipelineExecutableInfoKHR * pExecutableInfo,
4606                                                    uint32_t *                          pStatisticCount,
4607                                                    VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4608     {
4609       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4610     }
4611 
4612     VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4613       vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4614                                                          const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4615                                                          uint32_t *                                      pInternalRepresentationCount,
4616                                                          VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4617     {
4618       return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4619     }
4620 
4621     //=== VK_EXT_host_image_copy ===
4622 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo) const4623     VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfoEXT * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4624     {
4625       return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4626     }
4627 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo) const4628     VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfoEXT * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4629     {
4630       return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4631     }
4632 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo) const4633     VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfoEXT * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4634     {
4635       return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4636     }
4637 
4638     VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfoEXT * pTransitions) const4639       vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfoEXT * pTransitions ) const VULKAN_HPP_NOEXCEPT
4640     {
4641       return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4642     }
4643 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const4644     void vkGetImageSubresourceLayout2EXT( VkDevice                       device,
4645                                           VkImage                        image,
4646                                           const VkImageSubresource2KHR * pSubresource,
4647                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
4648     {
4649       return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4650     }
4651 
4652     //=== VK_KHR_map_memory2 ===
4653 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfoKHR * pMemoryMapInfo,void ** ppData) const4654     VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfoKHR * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4655     {
4656       return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4657     }
4658 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo) const4659     VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfoKHR * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4660     {
4661       return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4662     }
4663 
4664     //=== VK_EXT_swapchain_maintenance1 ===
4665 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4666     VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4667     {
4668       return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4669     }
4670 
4671     //=== VK_NV_device_generated_commands ===
4672 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4673     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4674                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4675                                                      VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4676     {
4677       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4678     }
4679 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4680     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4681     {
4682       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4683     }
4684 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4685     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4686                                           VkBool32                          isPreprocessed,
4687                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4688     {
4689       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4690     }
4691 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4692     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4693                                          VkPipelineBindPoint pipelineBindPoint,
4694                                          VkPipeline          pipeline,
4695                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4696     {
4697       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4698     }
4699 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4700     VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4701                                                const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4702                                                const VkAllocationCallbacks *                pAllocator,
4703                                                VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4704     {
4705       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4706     }
4707 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4708     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4709                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4710                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4711     {
4712       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4713     }
4714 
4715     //=== VK_EXT_depth_bias_control ===
4716 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4717     void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4718     {
4719       return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4720     }
4721 
4722     //=== VK_EXT_acquire_drm_display ===
4723 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4724     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4725     {
4726       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4727     }
4728 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4729     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4730     {
4731       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4732     }
4733 
4734     //=== VK_EXT_private_data ===
4735 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4736     VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4737                                          const VkPrivateDataSlotCreateInfo * pCreateInfo,
4738                                          const VkAllocationCallbacks *       pAllocator,
4739                                          VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4740     {
4741       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4742     }
4743 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4744     void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4745     {
4746       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4747     }
4748 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4749     VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4750       VULKAN_HPP_NOEXCEPT
4751     {
4752       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4753     }
4754 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4755     void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4756       VULKAN_HPP_NOEXCEPT
4757     {
4758       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4759     }
4760 
4761     //=== VK_KHR_video_encode_queue ===
4762 
4763     VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4764       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4765                                                                const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4766                                                                VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4767     {
4768       return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4769     }
4770 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4771     VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4772                                                     const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4773                                                     VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4774                                                     size_t *                                         pDataSize,
4775                                                     void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4776     {
4777       return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4778     }
4779 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4780     void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4781     {
4782       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4783     }
4784 
4785 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4786     //=== VK_NV_cuda_kernel_launch ===
4787 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4788     VkResult vkCreateCudaModuleNV( VkDevice                         device,
4789                                    const VkCudaModuleCreateInfoNV * pCreateInfo,
4790                                    const VkAllocationCallbacks *    pAllocator,
4791                                    VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4792     {
4793       return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4794     }
4795 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4796     VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4797     {
4798       return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4799     }
4800 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4801     VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4802                                      const VkCudaFunctionCreateInfoNV * pCreateInfo,
4803                                      const VkAllocationCallbacks *      pAllocator,
4804                                      VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4805     {
4806       return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4807     }
4808 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4809     void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4810     {
4811       return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4812     }
4813 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4814     void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4815     {
4816       return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4817     }
4818 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4819     void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4820     {
4821       return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4822     }
4823 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4824 
4825 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4826     //=== VK_EXT_metal_objects ===
4827 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4828     void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4829     {
4830       return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4831     }
4832 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4833 
4834     //=== VK_KHR_synchronization2 ===
4835 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4836     void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4837     {
4838       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4839     }
4840 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4841     void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4842     {
4843       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4844     }
4845 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4846     void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4847                               uint32_t                 eventCount,
4848                               const VkEvent *          pEvents,
4849                               const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4850     {
4851       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4852     }
4853 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4854     void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4855     {
4856       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4857     }
4858 
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const4859     void vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
4860     {
4861       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
4862     }
4863 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const4864     VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
4865     {
4866       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
4867     }
4868 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4869     void vkCmdWriteBufferMarker2AMD(
4870       VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4871     {
4872       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4873     }
4874 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4875     void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4876     {
4877       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4878     }
4879 
4880     //=== VK_EXT_descriptor_buffer ===
4881 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const4882     void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
4883     {
4884       return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
4885     }
4886 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const4887     void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
4888                                                    VkDescriptorSetLayout layout,
4889                                                    uint32_t              binding,
4890                                                    VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
4891     {
4892       return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
4893     }
4894 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const4895     void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
4896     {
4897       return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
4898     }
4899 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const4900     void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
4901                                         uint32_t                                 bufferCount,
4902                                         const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
4903     {
4904       return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
4905     }
4906 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const4907     void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
4908                                              VkPipelineBindPoint  pipelineBindPoint,
4909                                              VkPipelineLayout     layout,
4910                                              uint32_t             firstSet,
4911                                              uint32_t             setCount,
4912                                              const uint32_t *     pBufferIndices,
4913                                              const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
4914     {
4915       return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
4916     }
4917 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const4918     void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
4919                                                        VkPipelineBindPoint pipelineBindPoint,
4920                                                        VkPipelineLayout    layout,
4921                                                        uint32_t            set ) const VULKAN_HPP_NOEXCEPT
4922     {
4923       return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
4924     }
4925 
4926     VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4927       vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4928     {
4929       return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4930     }
4931 
4932     VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4933       vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4934     {
4935       return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4936     }
4937 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4938     VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
4939                                                            const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
4940                                                            void *                                          pData ) const VULKAN_HPP_NOEXCEPT
4941     {
4942       return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4943     }
4944 
4945     VkResult
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4946       vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
4947     {
4948       return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4949     }
4950 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const4951     VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
4952                                                                        const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
4953                                                                        void * pData ) const VULKAN_HPP_NOEXCEPT
4954     {
4955       return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
4956     }
4957 
4958     //=== VK_NV_fragment_shading_rate_enums ===
4959 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4960     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
4961                                             VkFragmentShadingRateNV                  shadingRate,
4962                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4963     {
4964       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
4965     }
4966 
4967     //=== VK_EXT_mesh_shader ===
4968 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const4969     void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
4970     {
4971       return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
4972     }
4973 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4974     void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4975       VULKAN_HPP_NOEXCEPT
4976     {
4977       return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
4978     }
4979 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4980     void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
4981                                              VkBuffer        buffer,
4982                                              VkDeviceSize    offset,
4983                                              VkBuffer        countBuffer,
4984                                              VkDeviceSize    countBufferOffset,
4985                                              uint32_t        maxDrawCount,
4986                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4987     {
4988       return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4989     }
4990 
4991     //=== VK_KHR_copy_commands2 ===
4992 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const4993     void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
4994     {
4995       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
4996     }
4997 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const4998     void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
4999     {
5000       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5001     }
5002 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5003     void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5004     {
5005       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5006     }
5007 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5008     void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5009     {
5010       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5011     }
5012 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5013     void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5014     {
5015       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5016     }
5017 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5018     void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5019     {
5020       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5021     }
5022 
5023     //=== VK_EXT_device_fault ===
5024 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5025     VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5026     {
5027       return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5028     }
5029 
5030 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5031     //=== VK_NV_acquire_winrt_display ===
5032 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5033     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5034     {
5035       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5036     }
5037 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5038     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5039     {
5040       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5041     }
5042 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5043 
5044 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5045     //=== VK_EXT_directfb_surface ===
5046 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5047     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5048                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5049                                          const VkAllocationCallbacks *          pAllocator,
5050                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5051     {
5052       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5053     }
5054 
5055     VkBool32
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5056       vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB * dfb ) const VULKAN_HPP_NOEXCEPT
5057     {
5058       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5059     }
5060 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5061 
5062     //=== VK_EXT_vertex_input_dynamic_state ===
5063 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5064     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5065                                  uint32_t                                      vertexBindingDescriptionCount,
5066                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5067                                  uint32_t                                      vertexAttributeDescriptionCount,
5068                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5069     {
5070       return ::vkCmdSetVertexInputEXT(
5071         commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5072     }
5073 
5074 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5075     //=== VK_FUCHSIA_external_memory ===
5076 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5077     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5078                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5079                                              zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5080     {
5081       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5082     }
5083 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5084     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5085                                                        VkExternalMemoryHandleTypeFlagBits      handleType,
5086                                                        zx_handle_t                             zirconHandle,
5087                                                        VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5088     {
5089       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5090     }
5091 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5092 
5093 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5094     //=== VK_FUCHSIA_external_semaphore ===
5095 
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5096     VkResult vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5097                                                    const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5098     {
5099       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5100     }
5101 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5102     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5103                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5104                                                 zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5105     {
5106       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5107     }
5108 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5109 
5110 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5111     //=== VK_FUCHSIA_buffer_collection ===
5112 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5113     VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5114                                               const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5115                                               const VkAllocationCallbacks *               pAllocator,
5116                                               VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5117     {
5118       return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5119     }
5120 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5121     VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5122                                                            VkBufferCollectionFUCHSIA             collection,
5123                                                            const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5124     {
5125       return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5126     }
5127 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5128     VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5129                                                             VkBufferCollectionFUCHSIA              collection,
5130                                                             const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5131     {
5132       return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5133     }
5134 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5135     void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5136                                            VkBufferCollectionFUCHSIA     collection,
5137                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5138     {
5139       return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5140     }
5141 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5142     VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5143                                                      VkBufferCollectionFUCHSIA             collection,
5144                                                      VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5145     {
5146       return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5147     }
5148 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5149 
5150     //=== VK_HUAWEI_subpass_shading ===
5151 
5152     VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5153       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5154     {
5155       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5156     }
5157 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5158     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5159     {
5160       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5161     }
5162 
5163     //=== VK_HUAWEI_invocation_mask ===
5164 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5165     void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5166     {
5167       return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5168     }
5169 
5170     //=== VK_NV_external_memory_rdma ===
5171 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5172     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5173                                          const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5174                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5175     {
5176       return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5177     }
5178 
5179     //=== VK_EXT_pipeline_properties ===
5180 
5181     VkResult
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5182       vkGetPipelinePropertiesEXT( VkDevice device, const VkPipelineInfoEXT * pPipelineInfo, VkBaseOutStructure * pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5183     {
5184       return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5185     }
5186 
5187     //=== VK_EXT_extended_dynamic_state2 ===
5188 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5189     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5190     {
5191       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5192     }
5193 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5194     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5195     {
5196       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5197     }
5198 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5199     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5200     {
5201       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5202     }
5203 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5204     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5205     {
5206       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5207     }
5208 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5209     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5210     {
5211       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5212     }
5213 
5214 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5215     //=== VK_QNX_screen_surface ===
5216 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5217     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5218                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5219                                        const VkAllocationCallbacks *        pAllocator,
5220                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5221     {
5222       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5223     }
5224 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5225     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5226                                                               uint32_t                queueFamilyIndex,
5227                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5228     {
5229       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5230     }
5231 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5232 
5233     //=== VK_EXT_color_write_enable ===
5234 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5235     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5236     {
5237       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5238     }
5239 
5240     //=== VK_KHR_ray_tracing_maintenance1 ===
5241 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5242     void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5243     {
5244       return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5245     }
5246 
5247     //=== VK_EXT_multi_draw ===
5248 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5249     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5250                             uint32_t                   drawCount,
5251                             const VkMultiDrawInfoEXT * pVertexInfo,
5252                             uint32_t                   instanceCount,
5253                             uint32_t                   firstInstance,
5254                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5255     {
5256       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5257     }
5258 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5259     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5260                                    uint32_t                          drawCount,
5261                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5262                                    uint32_t                          instanceCount,
5263                                    uint32_t                          firstInstance,
5264                                    uint32_t                          stride,
5265                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5266     {
5267       return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5268     }
5269 
5270     //=== VK_EXT_opacity_micromap ===
5271 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5272     VkResult vkCreateMicromapEXT( VkDevice                        device,
5273                                   const VkMicromapCreateInfoEXT * pCreateInfo,
5274                                   const VkAllocationCallbacks *   pAllocator,
5275                                   VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5276     {
5277       return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5278     }
5279 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5280     void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5281     {
5282       return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5283     }
5284 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5285     void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5286     {
5287       return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5288     }
5289 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5290     VkResult vkBuildMicromapsEXT( VkDevice                       device,
5291                                   VkDeferredOperationKHR         deferredOperation,
5292                                   uint32_t                       infoCount,
5293                                   const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5294     {
5295       return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5296     }
5297 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5298     VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5299     {
5300       return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5301     }
5302 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5303     VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5304                                         VkDeferredOperationKHR                deferredOperation,
5305                                         const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5306     {
5307       return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5308     }
5309 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5310     VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5311                                         VkDeferredOperationKHR                deferredOperation,
5312                                         const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5313     {
5314       return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5315     }
5316 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5317     VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5318                                             uint32_t              micromapCount,
5319                                             const VkMicromapEXT * pMicromaps,
5320                                             VkQueryType           queryType,
5321                                             size_t                dataSize,
5322                                             void *                pData,
5323                                             size_t                stride ) const VULKAN_HPP_NOEXCEPT
5324     {
5325       return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5326     }
5327 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5328     void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5329     {
5330       return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5331     }
5332 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5333     void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5334     {
5335       return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5336     }
5337 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5338     void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5339     {
5340       return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5341     }
5342 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5343     void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5344                                            uint32_t              micromapCount,
5345                                            const VkMicromapEXT * pMicromaps,
5346                                            VkQueryType           queryType,
5347                                            VkQueryPool           queryPool,
5348                                            uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5349     {
5350       return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5351     }
5352 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5353     void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5354                                               const VkMicromapVersionInfoEXT *          pVersionInfo,
5355                                               VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5356     {
5357       return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5358     }
5359 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5360     void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5361                                      VkAccelerationStructureBuildTypeKHR buildType,
5362                                      const VkMicromapBuildInfoEXT *      pBuildInfo,
5363                                      VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5364     {
5365       return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5366     }
5367 
5368     //=== VK_HUAWEI_cluster_culling_shader ===
5369 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5370     void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5371     {
5372       return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5373     }
5374 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5375     void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5376     {
5377       return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5378     }
5379 
5380     //=== VK_EXT_pageable_device_local_memory ===
5381 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5382     void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5383     {
5384       return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5385     }
5386 
5387     //=== VK_KHR_maintenance4 ===
5388 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5389     void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5390                                                  const VkDeviceBufferMemoryRequirements * pInfo,
5391                                                  VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5392     {
5393       return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5394     }
5395 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5396     void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5397                                                 const VkDeviceImageMemoryRequirements * pInfo,
5398                                                 VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5399     {
5400       return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5401     }
5402 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5403     void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5404                                                       const VkDeviceImageMemoryRequirements * pInfo,
5405                                                       uint32_t *                              pSparseMemoryRequirementCount,
5406                                                       VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5407     {
5408       return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5409     }
5410 
5411     //=== VK_VALVE_descriptor_set_host_mapping ===
5412 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5413     void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5414                                                        const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5415                                                        VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5416     {
5417       return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5418     }
5419 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5420     void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5421     {
5422       return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5423     }
5424 
5425     //=== VK_NV_copy_memory_indirect ===
5426 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5427     void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5428                                     VkDeviceAddress copyBufferAddress,
5429                                     uint32_t        copyCount,
5430                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5431     {
5432       return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5433     }
5434 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5435     void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5436                                            VkDeviceAddress                  copyBufferAddress,
5437                                            uint32_t                         copyCount,
5438                                            uint32_t                         stride,
5439                                            VkImage                          dstImage,
5440                                            VkImageLayout                    dstImageLayout,
5441                                            const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5442     {
5443       return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5444     }
5445 
5446     //=== VK_NV_memory_decompression ===
5447 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5448     void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5449                                   uint32_t                           decompressRegionCount,
5450                                   const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5451     {
5452       return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5453     }
5454 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5455     void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5456                                                VkDeviceAddress indirectCommandsAddress,
5457                                                VkDeviceAddress indirectCommandsCountAddress,
5458                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5459     {
5460       return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5461     }
5462 
5463     //=== VK_NV_device_generated_commands_compute ===
5464 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5465     void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5466                                                     const VkComputePipelineCreateInfo * pCreateInfo,
5467                                                     VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5468     {
5469       return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5470     }
5471 
5472     void
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5473       vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
5474     {
5475       return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5476     }
5477 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5478     VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5479     {
5480       return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5481     }
5482 
5483     //=== VK_EXT_extended_dynamic_state3 ===
5484 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5485     void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5486     {
5487       return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5488     }
5489 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5490     void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5491     {
5492       return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5493     }
5494 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5495     void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5496     {
5497       return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5498     }
5499 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5500     void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5501     {
5502       return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5503     }
5504 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5505     void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5506     {
5507       return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5508     }
5509 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5510     void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5511     {
5512       return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5513     }
5514 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5515     void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5516     {
5517       return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5518     }
5519 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5520     void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5521     {
5522       return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5523     }
5524 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5525     void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5526                                       uint32_t         firstAttachment,
5527                                       uint32_t         attachmentCount,
5528                                       const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5529     {
5530       return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5531     }
5532 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5533     void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5534                                         uint32_t                        firstAttachment,
5535                                         uint32_t                        attachmentCount,
5536                                         const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5537     {
5538       return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5539     }
5540 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5541     void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5542                                     uint32_t                      firstAttachment,
5543                                     uint32_t                      attachmentCount,
5544                                     const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5545     {
5546       return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5547     }
5548 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5549     void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5550     {
5551       return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5552     }
5553 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5554     void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5555                                                    VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5556     {
5557       return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5558     }
5559 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5560     void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5561     {
5562       return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5563     }
5564 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5565     void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5566     {
5567       return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5568     }
5569 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5570     void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5571     {
5572       return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5573     }
5574 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5575     void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5576                                         uint32_t                        firstAttachment,
5577                                         uint32_t                        attachmentCount,
5578                                         const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5579     {
5580       return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5581     }
5582 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5583     void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5584     {
5585       return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5586     }
5587 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5588     void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5589     {
5590       return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5591     }
5592 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5593     void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5594     {
5595       return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5596     }
5597 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5598     void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5599     {
5600       return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5601     }
5602 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5603     void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5604     {
5605       return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5606     }
5607 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5608     void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5609                                     uint32_t                    firstViewport,
5610                                     uint32_t                    viewportCount,
5611                                     const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5612     {
5613       return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5614     }
5615 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5616     void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5617     {
5618       return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5619     }
5620 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5621     void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5622     {
5623       return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5624     }
5625 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5626     void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5627     {
5628       return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5629     }
5630 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5631     void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5632     {
5633       return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5634     }
5635 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5636     void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5637                                             uint32_t        coverageModulationTableCount,
5638                                             const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5639     {
5640       return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5641     }
5642 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5643     void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5644     {
5645       return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5646     }
5647 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5648     void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5649     {
5650       return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5651     }
5652 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5653     void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5654     {
5655       return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5656     }
5657 
5658     //=== VK_EXT_shader_module_identifier ===
5659 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5660     void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5661     {
5662       return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5663     }
5664 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5665     void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5666                                                    const VkShaderModuleCreateInfo * pCreateInfo,
5667                                                    VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5668     {
5669       return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5670     }
5671 
5672     //=== VK_NV_optical_flow ===
5673 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5674     VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5675                                                            const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5676                                                            uint32_t *                             pFormatCount,
5677                                                            VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5678     {
5679       return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5680     }
5681 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5682     VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5683                                            const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5684                                            const VkAllocationCallbacks *            pAllocator,
5685                                            VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5686     {
5687       return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5688     }
5689 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5690     void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5691     {
5692       return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5693     }
5694 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5695     VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5696                                               VkOpticalFlowSessionNV             session,
5697                                               VkOpticalFlowSessionBindingPointNV bindingPoint,
5698                                               VkImageView                        view,
5699                                               VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5700     {
5701       return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5702     }
5703 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5704     void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5705                                     VkOpticalFlowSessionNV             session,
5706                                     const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5707     {
5708       return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5709     }
5710 
5711     //=== VK_KHR_maintenance5 ===
5712 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5713     void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5714       VULKAN_HPP_NOEXCEPT
5715     {
5716       return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5717     }
5718 
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfoKHR * pRenderingAreaInfo,VkExtent2D * pGranularity) const5719     void vkGetRenderingAreaGranularityKHR( VkDevice                       device,
5720                                            const VkRenderingAreaInfoKHR * pRenderingAreaInfo,
5721                                            VkExtent2D *                   pGranularity ) const VULKAN_HPP_NOEXCEPT
5722     {
5723       return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5724     }
5725 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfoKHR * pInfo,VkSubresourceLayout2KHR * pLayout) const5726     void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                                device,
5727                                                const VkDeviceImageSubresourceInfoKHR * pInfo,
5728                                                VkSubresourceLayout2KHR *               pLayout ) const VULKAN_HPP_NOEXCEPT
5729     {
5730       return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5731     }
5732 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2KHR * pSubresource,VkSubresourceLayout2KHR * pLayout) const5733     void vkGetImageSubresourceLayout2KHR( VkDevice                       device,
5734                                           VkImage                        image,
5735                                           const VkImageSubresource2KHR * pSubresource,
5736                                           VkSubresourceLayout2KHR *      pLayout ) const VULKAN_HPP_NOEXCEPT
5737     {
5738       return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5739     }
5740 
5741     //=== VK_EXT_shader_object ===
5742 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5743     VkResult vkCreateShadersEXT( VkDevice                      device,
5744                                  uint32_t                      createInfoCount,
5745                                  const VkShaderCreateInfoEXT * pCreateInfos,
5746                                  const VkAllocationCallbacks * pAllocator,
5747                                  VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5748     {
5749       return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5750     }
5751 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5752     void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5753     {
5754       return ::vkDestroyShaderEXT( device, shader, pAllocator );
5755     }
5756 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5757     VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5758     {
5759       return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5760     }
5761 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5762     void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5763                               uint32_t                      stageCount,
5764                               const VkShaderStageFlagBits * pStages,
5765                               const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5766     {
5767       return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5768     }
5769 
5770     //=== VK_QCOM_tile_properties ===
5771 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5772     VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5773                                                  VkFramebuffer          framebuffer,
5774                                                  uint32_t *             pPropertiesCount,
5775                                                  VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5776     {
5777       return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5778     }
5779 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5780     VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5781                                                       const VkRenderingInfo * pRenderingInfo,
5782                                                       VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5783     {
5784       return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5785     }
5786 
5787     //=== VK_NV_low_latency2 ===
5788 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5789     VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5790     {
5791       return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
5792     }
5793 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const5794     VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
5795     {
5796       return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
5797     }
5798 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5799     void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5800     {
5801       return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
5802     }
5803 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5804     void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5805     {
5806       return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
5807     }
5808 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const5809     void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
5810     {
5811       return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
5812     }
5813 
5814     //=== VK_KHR_cooperative_matrix ===
5815 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const5816     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
5817                                                                 uint32_t *                         pPropertyCount,
5818                                                                 VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
5819     {
5820       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
5821     }
5822 
5823     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
5824 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const5825     void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
5826     {
5827       return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
5828     }
5829 
5830 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5831     //=== VK_QNX_external_memory_screen_buffer ===
5832 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const5833     VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
5834                                              const struct _screen_buffer * buffer,
5835                                              VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
5836     {
5837       return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
5838     }
5839 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5840 
5841     //=== VK_KHR_calibrated_timestamps ===
5842 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const5843     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
5844                                                              uint32_t *        pTimeDomainCount,
5845                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
5846     {
5847       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
5848     }
5849 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const5850     VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
5851                                            uint32_t                             timestampCount,
5852                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
5853                                            uint64_t *                           pTimestamps,
5854                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
5855     {
5856       return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
5857     }
5858 
5859     //=== VK_KHR_maintenance6 ===
5860 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo) const5861     void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfoKHR * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
5862     {
5863       return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
5864     }
5865 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfoKHR * pPushConstantsInfo) const5866     void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfoKHR * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
5867     {
5868       return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
5869     }
5870 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo) const5871     void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfoKHR * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
5872     {
5873       return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
5874     }
5875 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo) const5876     void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                                commandBuffer,
5877                                                  const VkPushDescriptorSetWithTemplateInfoKHR * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
5878     {
5879       return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
5880     }
5881 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const5882     void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
5883                                               const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
5884     {
5885       return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
5886     }
5887 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const5888     void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
5889       VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
5890     {
5891       return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
5892     }
5893   };
5894 
getDispatchLoaderStatic()5895   inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
5896   {
5897     static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
5898     return dls;
5899   }
5900 #endif
5901 
5902 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
5903   struct AllocationCallbacks;
5904 
5905   template <typename OwnerType, typename Dispatch>
5906   class ObjectDestroy
5907   {
5908   public:
5909     ObjectDestroy() = default;
5910 
ObjectDestroy(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5911     ObjectDestroy( OwnerType                                               owner,
5912                    Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5913                    Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5914       : m_owner( owner )
5915       , m_allocationCallbacks( allocationCallbacks )
5916       , m_dispatch( &dispatch )
5917     {
5918     }
5919 
getOwner() const5920     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
5921     {
5922       return m_owner;
5923     }
5924 
getAllocator() const5925     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5926     {
5927       return m_allocationCallbacks;
5928     }
5929 
getDispatch() const5930     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5931     {
5932       return *m_dispatch;
5933     }
5934 
5935   protected:
5936     template <typename T>
destroy(T t)5937     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5938     {
5939       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
5940       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
5941     }
5942 
5943   private:
5944     OwnerType                           m_owner               = {};
5945     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5946     Dispatch const *                    m_dispatch            = nullptr;
5947   };
5948 
5949   class NoParent;
5950 
5951   template <typename Dispatch>
5952   class ObjectDestroy<NoParent, Dispatch>
5953   {
5954   public:
5955     ObjectDestroy() = default;
5956 
ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5957     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
5958                    Dispatch const & dispatch           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5959       : m_allocationCallbacks( allocationCallbacks )
5960       , m_dispatch( &dispatch )
5961     {
5962     }
5963 
getAllocator() const5964     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
5965     {
5966       return m_allocationCallbacks;
5967     }
5968 
getDispatch() const5969     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
5970     {
5971       return *m_dispatch;
5972     }
5973 
5974   protected:
5975     template <typename T>
destroy(T t)5976     void destroy( T t ) VULKAN_HPP_NOEXCEPT
5977     {
5978       VULKAN_HPP_ASSERT( m_dispatch );
5979       t.destroy( m_allocationCallbacks, *m_dispatch );
5980     }
5981 
5982   private:
5983     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
5984     Dispatch const *                    m_dispatch            = nullptr;
5985   };
5986 
5987   template <typename OwnerType, typename Dispatch>
5988   class ObjectFree
5989   {
5990   public:
5991     ObjectFree() = default;
5992 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)5993     ObjectFree( OwnerType                                               owner,
5994                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
5995                 Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
5996       : m_owner( owner )
5997       , m_allocationCallbacks( allocationCallbacks )
5998       , m_dispatch( &dispatch )
5999     {
6000     }
6001 
getOwner() const6002     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6003     {
6004       return m_owner;
6005     }
6006 
getAllocator() const6007     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6008     {
6009       return m_allocationCallbacks;
6010     }
6011 
getDispatch() const6012     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6013     {
6014       return *m_dispatch;
6015     }
6016 
6017   protected:
6018     template <typename T>
destroy(T t)6019     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6020     {
6021       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6022       ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6023     }
6024 
6025   private:
6026     OwnerType                           m_owner               = {};
6027     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6028     Dispatch const *                    m_dispatch            = nullptr;
6029   };
6030 
6031   template <typename OwnerType, typename Dispatch>
6032   class ObjectRelease
6033   {
6034   public:
6035     ObjectRelease() = default;
6036 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6037     ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6038       : m_owner( owner )
6039       , m_dispatch( &dispatch )
6040     {
6041     }
6042 
getOwner() const6043     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6044     {
6045       return m_owner;
6046     }
6047 
getDispatch() const6048     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6049     {
6050       return *m_dispatch;
6051     }
6052 
6053   protected:
6054     template <typename T>
destroy(T t)6055     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6056     {
6057       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6058       m_owner.release( t, *m_dispatch );
6059     }
6060 
6061   private:
6062     OwnerType        m_owner    = {};
6063     Dispatch const * m_dispatch = nullptr;
6064   };
6065 
6066   template <typename OwnerType, typename PoolType, typename Dispatch>
6067   class PoolFree
6068   {
6069   public:
6070     PoolFree() = default;
6071 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6072     PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6073       : m_owner( owner )
6074       , m_pool( pool )
6075       , m_dispatch( &dispatch )
6076     {
6077     }
6078 
getOwner() const6079     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6080     {
6081       return m_owner;
6082     }
6083 
getPool() const6084     PoolType getPool() const VULKAN_HPP_NOEXCEPT
6085     {
6086       return m_pool;
6087     }
6088 
getDispatch() const6089     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6090     {
6091       return *m_dispatch;
6092     }
6093 
6094   protected:
6095     template <typename T>
destroy(T t)6096     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6097     {
6098       ( m_owner.free )( m_pool, t, *m_dispatch );
6099     }
6100 
6101   private:
6102     OwnerType        m_owner    = OwnerType();
6103     PoolType         m_pool     = PoolType();
6104     Dispatch const * m_dispatch = nullptr;
6105   };
6106 
6107 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6108 
6109   //==================
6110   //=== BASE TYPEs ===
6111   //==================
6112 
6113   using Bool32          = uint32_t;
6114   using DeviceAddress   = uint64_t;
6115   using DeviceSize      = uint64_t;
6116   using RemoteAddressNV = void *;
6117   using SampleMask      = uint32_t;
6118 
6119 }  // namespace VULKAN_HPP_NAMESPACE
6120 
6121 #include <vulkan/vulkan_enums.hpp>
6122 #if !defined( VULKAN_HPP_NO_TO_STRING )
6123 #  include <vulkan/vulkan_to_string.hpp>
6124 #endif
6125 
6126 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6127 namespace std
6128 {
6129   template <>
6130   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6131   {
6132   };
6133 }  // namespace std
6134 #endif
6135 
6136 namespace VULKAN_HPP_NAMESPACE
6137 {
6138 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6139   class ErrorCategoryImpl : public std::error_category
6140   {
6141   public:
name() const6142     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6143     {
6144       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6145     }
6146 
message(int ev) const6147     virtual std::string message( int ev ) const override
6148     {
6149 #  if defined( VULKAN_HPP_NO_TO_STRING )
6150       return std::to_string( ev );
6151 #  else
6152       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6153 #  endif
6154     }
6155   };
6156 
6157   class Error
6158   {
6159   public:
6160     Error() VULKAN_HPP_NOEXCEPT                = default;
6161     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6162     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6163 
6164     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6165   };
6166 
6167   class LogicError
6168     : public Error
6169     , public std::logic_error
6170   {
6171   public:
LogicError(const std::string & what)6172     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6173 
LogicError(char const * what)6174     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6175 
what() const6176     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6177     {
6178       return std::logic_error::what();
6179     }
6180   };
6181 
6182   class SystemError
6183     : public Error
6184     , public std::system_error
6185   {
6186   public:
SystemError(std::error_code ec)6187     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6188 
SystemError(std::error_code ec,std::string const & what)6189     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6190 
SystemError(std::error_code ec,char const * what)6191     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6192 
SystemError(int ev,std::error_category const & ecat)6193     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6194 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6195     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6196 
SystemError(int ev,std::error_category const & ecat,char const * what)6197     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6198 
what() const6199     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6200     {
6201       return std::system_error::what();
6202     }
6203   };
6204 
errorCategory()6205   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6206   {
6207     static ErrorCategoryImpl instance;
6208     return instance;
6209   }
6210 
make_error_code(Result e)6211   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6212   {
6213     return std::error_code( static_cast<int>( e ), errorCategory() );
6214   }
6215 
make_error_condition(Result e)6216   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6217   {
6218     return std::error_condition( static_cast<int>( e ), errorCategory() );
6219   }
6220 
6221   class OutOfHostMemoryError : public SystemError
6222   {
6223   public:
OutOfHostMemoryError(std::string const & message)6224     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6225 
OutOfHostMemoryError(char const * message)6226     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6227   };
6228 
6229   class OutOfDeviceMemoryError : public SystemError
6230   {
6231   public:
OutOfDeviceMemoryError(std::string const & message)6232     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6233 
OutOfDeviceMemoryError(char const * message)6234     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6235   };
6236 
6237   class InitializationFailedError : public SystemError
6238   {
6239   public:
InitializationFailedError(std::string const & message)6240     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6241 
InitializationFailedError(char const * message)6242     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6243   };
6244 
6245   class DeviceLostError : public SystemError
6246   {
6247   public:
DeviceLostError(std::string const & message)6248     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6249 
DeviceLostError(char const * message)6250     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6251   };
6252 
6253   class MemoryMapFailedError : public SystemError
6254   {
6255   public:
MemoryMapFailedError(std::string const & message)6256     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6257 
MemoryMapFailedError(char const * message)6258     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6259   };
6260 
6261   class LayerNotPresentError : public SystemError
6262   {
6263   public:
LayerNotPresentError(std::string const & message)6264     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6265 
LayerNotPresentError(char const * message)6266     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6267   };
6268 
6269   class ExtensionNotPresentError : public SystemError
6270   {
6271   public:
ExtensionNotPresentError(std::string const & message)6272     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6273 
ExtensionNotPresentError(char const * message)6274     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6275   };
6276 
6277   class FeatureNotPresentError : public SystemError
6278   {
6279   public:
FeatureNotPresentError(std::string const & message)6280     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6281 
FeatureNotPresentError(char const * message)6282     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6283   };
6284 
6285   class IncompatibleDriverError : public SystemError
6286   {
6287   public:
IncompatibleDriverError(std::string const & message)6288     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6289 
IncompatibleDriverError(char const * message)6290     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6291   };
6292 
6293   class TooManyObjectsError : public SystemError
6294   {
6295   public:
TooManyObjectsError(std::string const & message)6296     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6297 
TooManyObjectsError(char const * message)6298     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6299   };
6300 
6301   class FormatNotSupportedError : public SystemError
6302   {
6303   public:
FormatNotSupportedError(std::string const & message)6304     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6305 
FormatNotSupportedError(char const * message)6306     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6307   };
6308 
6309   class FragmentedPoolError : public SystemError
6310   {
6311   public:
FragmentedPoolError(std::string const & message)6312     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6313 
FragmentedPoolError(char const * message)6314     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6315   };
6316 
6317   class UnknownError : public SystemError
6318   {
6319   public:
UnknownError(std::string const & message)6320     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6321 
UnknownError(char const * message)6322     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6323   };
6324 
6325   class OutOfPoolMemoryError : public SystemError
6326   {
6327   public:
OutOfPoolMemoryError(std::string const & message)6328     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6329 
OutOfPoolMemoryError(char const * message)6330     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6331   };
6332 
6333   class InvalidExternalHandleError : public SystemError
6334   {
6335   public:
InvalidExternalHandleError(std::string const & message)6336     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6337 
InvalidExternalHandleError(char const * message)6338     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6339   };
6340 
6341   class FragmentationError : public SystemError
6342   {
6343   public:
FragmentationError(std::string const & message)6344     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6345 
FragmentationError(char const * message)6346     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6347   };
6348 
6349   class InvalidOpaqueCaptureAddressError : public SystemError
6350   {
6351   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6352     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6353 
InvalidOpaqueCaptureAddressError(char const * message)6354     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6355   };
6356 
6357   class SurfaceLostKHRError : public SystemError
6358   {
6359   public:
SurfaceLostKHRError(std::string const & message)6360     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6361 
SurfaceLostKHRError(char const * message)6362     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6363   };
6364 
6365   class NativeWindowInUseKHRError : public SystemError
6366   {
6367   public:
NativeWindowInUseKHRError(std::string const & message)6368     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6369 
NativeWindowInUseKHRError(char const * message)6370     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6371   };
6372 
6373   class OutOfDateKHRError : public SystemError
6374   {
6375   public:
OutOfDateKHRError(std::string const & message)6376     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6377 
OutOfDateKHRError(char const * message)6378     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6379   };
6380 
6381   class IncompatibleDisplayKHRError : public SystemError
6382   {
6383   public:
IncompatibleDisplayKHRError(std::string const & message)6384     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6385 
IncompatibleDisplayKHRError(char const * message)6386     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6387   };
6388 
6389   class ValidationFailedEXTError : public SystemError
6390   {
6391   public:
ValidationFailedEXTError(std::string const & message)6392     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6393 
ValidationFailedEXTError(char const * message)6394     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6395   };
6396 
6397   class InvalidShaderNVError : public SystemError
6398   {
6399   public:
InvalidShaderNVError(std::string const & message)6400     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6401 
InvalidShaderNVError(char const * message)6402     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6403   };
6404 
6405   class ImageUsageNotSupportedKHRError : public SystemError
6406   {
6407   public:
ImageUsageNotSupportedKHRError(std::string const & message)6408     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6409 
ImageUsageNotSupportedKHRError(char const * message)6410     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6411   };
6412 
6413   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6414   {
6415   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6416     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6417       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6418     {
6419     }
6420 
VideoPictureLayoutNotSupportedKHRError(char const * message)6421     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6422     {
6423     }
6424   };
6425 
6426   class VideoProfileOperationNotSupportedKHRError : public SystemError
6427   {
6428   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6429     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6430       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6431     {
6432     }
6433 
VideoProfileOperationNotSupportedKHRError(char const * message)6434     VideoProfileOperationNotSupportedKHRError( char const * message )
6435       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6436     {
6437     }
6438   };
6439 
6440   class VideoProfileFormatNotSupportedKHRError : public SystemError
6441   {
6442   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6443     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6444       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6445     {
6446     }
6447 
VideoProfileFormatNotSupportedKHRError(char const * message)6448     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6449     {
6450     }
6451   };
6452 
6453   class VideoProfileCodecNotSupportedKHRError : public SystemError
6454   {
6455   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6456     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6457       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6458     {
6459     }
6460 
VideoProfileCodecNotSupportedKHRError(char const * message)6461     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6462   };
6463 
6464   class VideoStdVersionNotSupportedKHRError : public SystemError
6465   {
6466   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6467     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6468     {
6469     }
6470 
VideoStdVersionNotSupportedKHRError(char const * message)6471     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6472   };
6473 
6474   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6475   {
6476   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6477     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6478       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6479     {
6480     }
6481 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6482     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6483       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6484     {
6485     }
6486   };
6487 
6488   class NotPermittedKHRError : public SystemError
6489   {
6490   public:
NotPermittedKHRError(std::string const & message)6491     NotPermittedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6492 
NotPermittedKHRError(char const * message)6493     NotPermittedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message ) {}
6494   };
6495 
6496 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6497   class FullScreenExclusiveModeLostEXTError : public SystemError
6498   {
6499   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6500     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6501     {
6502     }
6503 
FullScreenExclusiveModeLostEXTError(char const * message)6504     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6505   };
6506 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6507 
6508   class InvalidVideoStdParametersKHRError : public SystemError
6509   {
6510   public:
InvalidVideoStdParametersKHRError(std::string const & message)6511     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6512 
InvalidVideoStdParametersKHRError(char const * message)6513     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6514   };
6515 
6516   class CompressionExhaustedEXTError : public SystemError
6517   {
6518   public:
CompressionExhaustedEXTError(std::string const & message)6519     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6520 
CompressionExhaustedEXTError(char const * message)6521     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6522   };
6523 
6524   class IncompatibleShaderBinaryEXTError : public SystemError
6525   {
6526   public:
IncompatibleShaderBinaryEXTError(std::string const & message)6527     IncompatibleShaderBinaryEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
6528 
IncompatibleShaderBinaryEXTError(char const * message)6529     IncompatibleShaderBinaryEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleShaderBinaryEXT ), message ) {}
6530   };
6531 
6532   namespace detail
6533   {
throwResultException(Result result,char const * message)6534     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6535     {
6536       switch ( result )
6537       {
6538         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6539         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6540         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6541         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6542         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6543         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6544         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6545         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6546         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6547         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6548         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6549         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6550         case Result::eErrorUnknown: throw UnknownError( message );
6551         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6552         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6553         case Result::eErrorFragmentation: throw FragmentationError( message );
6554         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6555         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6556         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6557         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6558         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6559         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6560         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6561         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6562         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6563         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6564         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6565         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6566         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6567         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6568         case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message );
6569 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6570         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6571 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6572         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6573         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6574         case Result::eErrorIncompatibleShaderBinaryEXT: throw IncompatibleShaderBinaryEXTError( message );
6575         default: throw SystemError( make_error_code( result ), message );
6576       }
6577     }
6578   }  // namespace detail
6579 #endif
6580 
6581   template <typename T>
ignore(T const &)6582   void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6583   {
6584   }
6585 
6586   template <typename T>
6587   struct ResultValue
6588   {
6589 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6590     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6591 #else
6592     ResultValue( Result r, T & v )
6593 #endif
6594       : result( r ), value( v )
6595     {
6596     }
6597 
6598 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6599     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6600 #else
6601     ResultValue( Result r, T && v )
6602 #endif
6603       : result( r ), value( std::move( v ) )
6604     {
6605     }
6606 
6607     Result result;
6608     T      value;
6609 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6610     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6611     {
6612       return std::tuple<Result &, T &>( result, value );
6613     }
6614   };
6615 
6616 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6617   template <typename Type, typename Dispatch>
6618   struct ResultValue<UniqueHandle<Type, Dispatch>>
6619   {
6620 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6621     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6622 #  else
6623     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6624 #  endif
6625       : result( r )
6626       , value( std::move( v ) )
6627     {
6628     }
6629 
6630     VULKAN_HPP_DEPRECATED(
6631       "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." )
6632 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6633     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6634     {
6635       return std::make_tuple( result, std::move( value ) );
6636     }
6637 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6638     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6639     {
6640       return std::make_tuple( result, std::move( value ) );
6641     }
6642 
6643     Result                       result;
6644     UniqueHandle<Type, Dispatch> value;
6645   };
6646 
6647   template <typename Type, typename Dispatch>
6648   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6649   {
6650 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6651     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6652 #  else
6653     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6654 #  endif
6655       : result( r )
6656       , value( std::move( v ) )
6657     {
6658     }
6659 
6660     VULKAN_HPP_DEPRECATED(
6661       "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." )
6662 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6663     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
6664     {
6665       return std::make_tuple( result, std::move( value ) );
6666     }
6667 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6668     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
6669     {
6670       return std::make_tuple( result, std::move( value ) );
6671     }
6672 
6673     Result                                    result;
6674     std::vector<UniqueHandle<Type, Dispatch>> value;
6675   };
6676 #endif
6677 
6678   template <typename T>
6679   struct ResultValueType
6680   {
6681 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6682     typedef ResultValue<T> type;
6683 #else
6684     typedef T    type;
6685 #endif
6686   };
6687 
6688   template <>
6689   struct ResultValueType<void>
6690   {
6691 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6692     typedef Result type;
6693 #else
6694     typedef void type;
6695 #endif
6696   };
6697 
createResultValueType(Result result)6698   VULKAN_HPP_INLINE typename ResultValueType<void>::type createResultValueType( Result result )
6699   {
6700 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6701     return result;
6702 #else
6703     ignore( result );
6704 #endif
6705   }
6706 
6707   template <typename T>
createResultValueType(Result result,T & data)6708   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T & data )
6709   {
6710 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6711     return ResultValue<T>( result, data );
6712 #else
6713     ignore( result );
6714     return data;
6715 #endif
6716   }
6717 
6718   template <typename T>
createResultValueType(Result result,T && data)6719   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValueType( Result result, T && data )
6720   {
6721 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6722     return ResultValue<T>( result, std::move( data ) );
6723 #else
6724     ignore( result );
6725     return std::move( data );
6726 #endif
6727   }
6728 
resultCheck(Result result,char const * message)6729   VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
6730   {
6731 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6732     ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6733     ignore( message );
6734     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6735 #else
6736     if ( result != Result::eSuccess )
6737     {
6738       detail::throwResultException( result, message );
6739     }
6740 #endif
6741   }
6742 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)6743   VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
6744   {
6745 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6746     ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6747     ignore( message );
6748     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6749     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6750 #else
6751     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6752     {
6753       detail::throwResultException( result, message );
6754     }
6755 #endif
6756   }
6757 
6758   //===========================
6759   //=== CONSTEXPR CONSTANTs ===
6760   //===========================
6761 
6762   //=== VK_VERSION_1_0 ===
6763   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
6764   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
6765   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
6766   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
6767   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
6768   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
6769   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
6770   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
6771   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
6772   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
6773   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
6774   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
6775   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
6776   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
6777   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
6778 
6779   //=== VK_VERSION_1_1 ===
6780   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
6781   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
6782   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
6783 
6784   //=== VK_VERSION_1_2 ===
6785   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
6786   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
6787 
6788   //=== VK_KHR_device_group_creation ===
6789   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
6790 
6791   //=== VK_KHR_external_memory_capabilities ===
6792   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
6793 
6794   //=== VK_KHR_external_memory ===
6795   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
6796 
6797   //=== VK_EXT_queue_family_foreign ===
6798   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
6799 
6800 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6801   //=== VK_AMDX_shader_enqueue ===
6802   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
6803 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6804 
6805   //=== VK_KHR_ray_tracing_pipeline ===
6806   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
6807 
6808   //=== VK_NV_ray_tracing ===
6809   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
6810 
6811   //=== VK_KHR_global_priority ===
6812   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
6813 
6814   //=== VK_KHR_driver_properties ===
6815   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
6816   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
6817 
6818   //=== VK_EXT_global_priority_query ===
6819   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
6820 
6821   //=== VK_EXT_image_sliced_view_of_3d ===
6822   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
6823 
6824   //=== VK_EXT_shader_module_identifier ===
6825   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
6826 
6827   //========================
6828   //=== CONSTEXPR VALUEs ===
6829   //========================
6830   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion = VK_HEADER_VERSION;
6831 
6832   //=========================
6833   //=== CONSTEXPR CALLEEs ===
6834   //=========================
6835   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)6836   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
6837   {
6838     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
6839   }
6840 
6841   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)6842   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
6843   {
6844     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6845   }
6846 
6847   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)6848   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
6849   {
6850     return ( (uint32_t)(version)&0xFFFU );
6851   }
6852 
6853   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)6854   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
6855   {
6856     return ( (uint32_t)( version ) >> 29U );
6857   }
6858 
6859   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)6860   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
6861   {
6862     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6863   }
6864 
6865   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6866   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)6867   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
6868   {
6869     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
6870   }
6871 
6872   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6873   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)6874   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
6875   {
6876     return ( (uint32_t)( version ) >> 22U );
6877   }
6878 
6879   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6880   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)6881   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
6882   {
6883     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
6884   }
6885 
6886   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
6887   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)6888   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
6889   {
6890     return ( (uint32_t)(version)&0xFFFU );
6891   }
6892 
6893   //=========================
6894   //=== CONSTEXPR CALLERs ===
6895   //=========================
6896   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
6897   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
6898   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
6899   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
6900   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
6901   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 3, VK_HEADER_VERSION );
6902 
6903   //=================================
6904   //=== CONSTEXPR EXTENSION NAMEs ===
6905   //=================================
6906 
6907   //=== VK_KHR_surface ===
6908   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
6909   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
6910 
6911   //=== VK_KHR_swapchain ===
6912   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
6913   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
6914 
6915   //=== VK_KHR_display ===
6916   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
6917   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
6918 
6919   //=== VK_KHR_display_swapchain ===
6920   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
6921   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
6922 
6923 #if defined( VK_USE_PLATFORM_XLIB_KHR )
6924   //=== VK_KHR_xlib_surface ===
6925   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
6926   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
6927 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
6928 
6929 #if defined( VK_USE_PLATFORM_XCB_KHR )
6930   //=== VK_KHR_xcb_surface ===
6931   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
6932   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
6933 #endif /*VK_USE_PLATFORM_XCB_KHR*/
6934 
6935 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
6936   //=== VK_KHR_wayland_surface ===
6937   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
6938   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
6939 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
6940 
6941 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
6942   //=== VK_KHR_android_surface ===
6943   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
6944   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
6945 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
6946 
6947 #if defined( VK_USE_PLATFORM_WIN32_KHR )
6948   //=== VK_KHR_win32_surface ===
6949   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
6950   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
6951 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
6952 
6953   //=== VK_EXT_debug_report ===
6954   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6955   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
6956   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
6957   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
6958 
6959   //=== VK_NV_glsl_shader ===
6960   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6961   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
6962   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
6963   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
6964 
6965   //=== VK_EXT_depth_range_unrestricted ===
6966   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
6967   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
6968 
6969   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
6970   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
6971   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
6972   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_mirror_clamp_to_edge extension has been promoted to core in version 1.2." )
6973   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
6974 
6975   //=== VK_IMG_filter_cubic ===
6976   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
6977   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
6978 
6979   //=== VK_AMD_rasterization_order ===
6980   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
6981   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
6982 
6983   //=== VK_AMD_shader_trinary_minmax ===
6984   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
6985   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
6986 
6987   //=== VK_AMD_shader_explicit_vertex_parameter ===
6988   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
6989   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
6990 
6991   //=== VK_EXT_debug_marker ===
6992   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
6993   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
6994   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_marker extension has been promoted to VK_EXT_debug_utils." )
6995   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
6996 
6997   //=== VK_KHR_video_queue ===
6998   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
6999   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7000 
7001   //=== VK_KHR_video_decode_queue ===
7002   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7003   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7004 
7005   //=== VK_AMD_gcn_shader ===
7006   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7007   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7008 
7009   //=== VK_NV_dedicated_allocation ===
7010   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7011   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7012   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7013   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7014 
7015   //=== VK_EXT_transform_feedback ===
7016   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7017   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7018 
7019   //=== VK_NVX_binary_import ===
7020   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7021   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7022 
7023   //=== VK_NVX_image_view_handle ===
7024   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7025   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7026 
7027   //=== VK_AMD_draw_indirect_count ===
7028   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7029   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7030   VULKAN_HPP_DEPRECATED( "The VK_AMD_draw_indirect_count extension has been promoted to VK_KHR_draw_indirect_count." )
7031   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7032 
7033   //=== VK_AMD_negative_viewport_height ===
7034   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7035   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7036   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7037   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7038 
7039   //=== VK_AMD_gpu_shader_half_float ===
7040   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7041   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7042   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7043   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7044 
7045   //=== VK_AMD_shader_ballot ===
7046   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7047   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7048 
7049   //=== VK_KHR_video_encode_h264 ===
7050   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7051   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7052 
7053   //=== VK_KHR_video_encode_h265 ===
7054   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7055   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7056 
7057   //=== VK_KHR_video_decode_h264 ===
7058   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7059   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7060 
7061   //=== VK_AMD_texture_gather_bias_lod ===
7062   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7063   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7064 
7065   //=== VK_AMD_shader_info ===
7066   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7067   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7068 
7069   //=== VK_KHR_dynamic_rendering ===
7070   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7071   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7072   VULKAN_HPP_DEPRECATED( "The VK_KHR_dynamic_rendering extension has been promoted to core in version 1.3." )
7073   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7074 
7075   //=== VK_AMD_shader_image_load_store_lod ===
7076   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7077   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7078 
7079 #if defined( VK_USE_PLATFORM_GGP )
7080   //=== VK_GGP_stream_descriptor_surface ===
7081   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7082   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7083 #endif /*VK_USE_PLATFORM_GGP*/
7084 
7085   //=== VK_NV_corner_sampled_image ===
7086   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7087   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7088 
7089   //=== VK_KHR_multiview ===
7090   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7091   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7092   VULKAN_HPP_DEPRECATED( "The VK_KHR_multiview extension has been promoted to core in version 1.1." )
7093   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion = VK_KHR_MULTIVIEW_SPEC_VERSION;
7094 
7095   //=== VK_IMG_format_pvrtc ===
7096   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7097   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7098   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7099   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7100 
7101   //=== VK_NV_external_memory_capabilities ===
7102   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7103   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7104   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7105   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7106 
7107   //=== VK_NV_external_memory ===
7108   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7109   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7110   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7111   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7112 
7113 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7114   //=== VK_NV_external_memory_win32 ===
7115   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7116   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7117   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7118   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7119 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7120 
7121 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7122   //=== VK_NV_win32_keyed_mutex ===
7123   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7124   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7125   VULKAN_HPP_DEPRECATED( "The VK_NV_win32_keyed_mutex extension has been promoted to VK_KHR_win32_keyed_mutex." )
7126   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7127 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7128 
7129   //=== VK_KHR_get_physical_device_properties2 ===
7130   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7131   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7132   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_physical_device_properties2 extension has been promoted to core in version 1.1." )
7133   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7134 
7135   //=== VK_KHR_device_group ===
7136   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7137   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7138   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group extension has been promoted to core in version 1.1." )
7139   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7140 
7141   //=== VK_EXT_validation_flags ===
7142   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7143   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7144   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7145   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7146 
7147 #if defined( VK_USE_PLATFORM_VI_NN )
7148   //=== VK_NN_vi_surface ===
7149   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7150   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7151 #endif /*VK_USE_PLATFORM_VI_NN*/
7152 
7153   //=== VK_KHR_shader_draw_parameters ===
7154   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7155   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7156   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_draw_parameters extension has been promoted to core in version 1.1." )
7157   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7158 
7159   //=== VK_EXT_shader_subgroup_ballot ===
7160   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7161   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7162   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7163   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7164 
7165   //=== VK_EXT_shader_subgroup_vote ===
7166   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7167   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7168   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7169   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7170 
7171   //=== VK_EXT_texture_compression_astc_hdr ===
7172   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7173   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7174   VULKAN_HPP_DEPRECATED( "The VK_EXT_texture_compression_astc_hdr extension has been promoted to core in version 1.3." )
7175   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7176 
7177   //=== VK_EXT_astc_decode_mode ===
7178   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7179   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7180 
7181   //=== VK_EXT_pipeline_robustness ===
7182   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7183   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7184 
7185   //=== VK_KHR_maintenance1 ===
7186   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7187   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7188   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance1 extension has been promoted to core in version 1.1." )
7189   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7190 
7191   //=== VK_KHR_device_group_creation ===
7192   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7193   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7194   VULKAN_HPP_DEPRECATED( "The VK_KHR_device_group_creation extension has been promoted to core in version 1.1." )
7195   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7196 
7197   //=== VK_KHR_external_memory_capabilities ===
7198   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7199   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7200   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory_capabilities extension has been promoted to core in version 1.1." )
7201   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7202 
7203   //=== VK_KHR_external_memory ===
7204   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7205   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7206   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_memory extension has been promoted to core in version 1.1." )
7207   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7208 
7209 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7210   //=== VK_KHR_external_memory_win32 ===
7211   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7212   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7213 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7214 
7215   //=== VK_KHR_external_memory_fd ===
7216   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7217   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7218 
7219 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7220   //=== VK_KHR_win32_keyed_mutex ===
7221   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7222   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7223 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7224 
7225   //=== VK_KHR_external_semaphore_capabilities ===
7226   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7227   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7228   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore_capabilities extension has been promoted to core in version 1.1." )
7229   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7230 
7231   //=== VK_KHR_external_semaphore ===
7232   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7233   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7234   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_semaphore extension has been promoted to core in version 1.1." )
7235   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7236 
7237 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7238   //=== VK_KHR_external_semaphore_win32 ===
7239   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7240   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7241 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7242 
7243   //=== VK_KHR_external_semaphore_fd ===
7244   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7245   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7246 
7247   //=== VK_KHR_push_descriptor ===
7248   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7249   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7250 
7251   //=== VK_EXT_conditional_rendering ===
7252   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7253   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7254 
7255   //=== VK_KHR_shader_float16_int8 ===
7256   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7257   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7258   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float16_int8 extension has been promoted to core in version 1.2." )
7259   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7260 
7261   //=== VK_KHR_16bit_storage ===
7262   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7263   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7264   VULKAN_HPP_DEPRECATED( "The VK_KHR_16bit_storage extension has been promoted to core in version 1.1." )
7265   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7266 
7267   //=== VK_KHR_incremental_present ===
7268   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7269   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7270 
7271   //=== VK_KHR_descriptor_update_template ===
7272   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7273   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7274   VULKAN_HPP_DEPRECATED( "The VK_KHR_descriptor_update_template extension has been promoted to core in version 1.1." )
7275   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7276 
7277   //=== VK_NV_clip_space_w_scaling ===
7278   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7279   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7280 
7281   //=== VK_EXT_direct_mode_display ===
7282   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7283   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7284 
7285 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7286   //=== VK_EXT_acquire_xlib_display ===
7287   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7288   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7289 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7290 
7291   //=== VK_EXT_display_surface_counter ===
7292   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7293   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7294 
7295   //=== VK_EXT_display_control ===
7296   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7297   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7298 
7299   //=== VK_GOOGLE_display_timing ===
7300   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7301   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7302 
7303   //=== VK_NV_sample_mask_override_coverage ===
7304   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7305   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7306 
7307   //=== VK_NV_geometry_shader_passthrough ===
7308   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7309   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7310 
7311   //=== VK_NV_viewport_array2 ===
7312   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7313   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7314 
7315   //=== VK_NVX_multiview_per_view_attributes ===
7316   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7317   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7318 
7319   //=== VK_NV_viewport_swizzle ===
7320   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7321   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7322 
7323   //=== VK_EXT_discard_rectangles ===
7324   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7325   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7326 
7327   //=== VK_EXT_conservative_rasterization ===
7328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7330 
7331   //=== VK_EXT_depth_clip_enable ===
7332   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7333   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7334 
7335   //=== VK_EXT_swapchain_colorspace ===
7336   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7337   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7338 
7339   //=== VK_EXT_hdr_metadata ===
7340   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7341   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7342 
7343   //=== VK_KHR_imageless_framebuffer ===
7344   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7345   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7346   VULKAN_HPP_DEPRECATED( "The VK_KHR_imageless_framebuffer extension has been promoted to core in version 1.2." )
7347   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7348 
7349   //=== VK_KHR_create_renderpass2 ===
7350   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7351   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7352   VULKAN_HPP_DEPRECATED( "The VK_KHR_create_renderpass2 extension has been promoted to core in version 1.2." )
7353   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7354 
7355   //=== VK_IMG_relaxed_line_rasterization ===
7356   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7357   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7358 
7359   //=== VK_KHR_shared_presentable_image ===
7360   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7361   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7362 
7363   //=== VK_KHR_external_fence_capabilities ===
7364   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7365   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7366   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence_capabilities extension has been promoted to core in version 1.1." )
7367   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7368 
7369   //=== VK_KHR_external_fence ===
7370   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7371   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7372   VULKAN_HPP_DEPRECATED( "The VK_KHR_external_fence extension has been promoted to core in version 1.1." )
7373   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7374 
7375 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7376   //=== VK_KHR_external_fence_win32 ===
7377   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7378   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7379 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7380 
7381   //=== VK_KHR_external_fence_fd ===
7382   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7383   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7384 
7385   //=== VK_KHR_performance_query ===
7386   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7387   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7388 
7389   //=== VK_KHR_maintenance2 ===
7390   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7391   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7392   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance2 extension has been promoted to core in version 1.1." )
7393   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7394 
7395   //=== VK_KHR_get_surface_capabilities2 ===
7396   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7397   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7398 
7399   //=== VK_KHR_variable_pointers ===
7400   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7401   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7402   VULKAN_HPP_DEPRECATED( "The VK_KHR_variable_pointers extension has been promoted to core in version 1.1." )
7403   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7404 
7405   //=== VK_KHR_get_display_properties2 ===
7406   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7407   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7408 
7409 #if defined( VK_USE_PLATFORM_IOS_MVK )
7410   //=== VK_MVK_ios_surface ===
7411   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7412   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7413   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7414   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7415 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7416 
7417 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7418   //=== VK_MVK_macos_surface ===
7419   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7420   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7421   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7422   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7423 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7424 
7425   //=== VK_EXT_external_memory_dma_buf ===
7426   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7427   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7428 
7429   //=== VK_EXT_queue_family_foreign ===
7430   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7431   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7432 
7433   //=== VK_KHR_dedicated_allocation ===
7434   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7435   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7436   VULKAN_HPP_DEPRECATED( "The VK_KHR_dedicated_allocation extension has been promoted to core in version 1.1." )
7437   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7438 
7439   //=== VK_EXT_debug_utils ===
7440   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7441   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7442 
7443 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7444   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7445   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7446   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7447 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7448 
7449   //=== VK_EXT_sampler_filter_minmax ===
7450   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7451   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7452   VULKAN_HPP_DEPRECATED( "The VK_EXT_sampler_filter_minmax extension has been promoted to core in version 1.2." )
7453   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7454 
7455   //=== VK_KHR_storage_buffer_storage_class ===
7456   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7457   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7458   VULKAN_HPP_DEPRECATED( "The VK_KHR_storage_buffer_storage_class extension has been promoted to core in version 1.1." )
7459   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7460 
7461   //=== VK_AMD_gpu_shader_int16 ===
7462   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7463   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7464   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7465   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7466 
7467 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7468   //=== VK_AMDX_shader_enqueue ===
7469   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7470   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7471 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7472 
7473   //=== VK_AMD_mixed_attachment_samples ===
7474   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7475   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7476 
7477   //=== VK_AMD_shader_fragment_mask ===
7478   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7479   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7480 
7481   //=== VK_EXT_inline_uniform_block ===
7482   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7483   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7484   VULKAN_HPP_DEPRECATED( "The VK_EXT_inline_uniform_block extension has been promoted to core in version 1.3." )
7485   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7486 
7487   //=== VK_EXT_shader_stencil_export ===
7488   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7489   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7490 
7491   //=== VK_EXT_sample_locations ===
7492   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7493   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7494 
7495   //=== VK_KHR_relaxed_block_layout ===
7496   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7497   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7498   VULKAN_HPP_DEPRECATED( "The VK_KHR_relaxed_block_layout extension has been promoted to core in version 1.1." )
7499   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7500 
7501   //=== VK_KHR_get_memory_requirements2 ===
7502   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7503   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7504   VULKAN_HPP_DEPRECATED( "The VK_KHR_get_memory_requirements2 extension has been promoted to core in version 1.1." )
7505   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7506 
7507   //=== VK_KHR_image_format_list ===
7508   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7509   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7510   VULKAN_HPP_DEPRECATED( "The VK_KHR_image_format_list extension has been promoted to core in version 1.2." )
7511   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7512 
7513   //=== VK_EXT_blend_operation_advanced ===
7514   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7515   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7516 
7517   //=== VK_NV_fragment_coverage_to_color ===
7518   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7519   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7520 
7521   //=== VK_KHR_acceleration_structure ===
7522   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7523   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7524 
7525   //=== VK_KHR_ray_tracing_pipeline ===
7526   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7527   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7528 
7529   //=== VK_KHR_ray_query ===
7530   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7531   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7532 
7533   //=== VK_NV_framebuffer_mixed_samples ===
7534   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7535   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7536 
7537   //=== VK_NV_fill_rectangle ===
7538   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7539   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7540 
7541   //=== VK_NV_shader_sm_builtins ===
7542   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7543   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7544 
7545   //=== VK_EXT_post_depth_coverage ===
7546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7547   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7548 
7549   //=== VK_KHR_sampler_ycbcr_conversion ===
7550   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7551   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7552   VULKAN_HPP_DEPRECATED( "The VK_KHR_sampler_ycbcr_conversion extension has been promoted to core in version 1.1." )
7553   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7554 
7555   //=== VK_KHR_bind_memory2 ===
7556   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7557   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7558   VULKAN_HPP_DEPRECATED( "The VK_KHR_bind_memory2 extension has been promoted to core in version 1.1." )
7559   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7560 
7561   //=== VK_EXT_image_drm_format_modifier ===
7562   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7563   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7564 
7565   //=== VK_EXT_validation_cache ===
7566   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7567   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7568 
7569   //=== VK_EXT_descriptor_indexing ===
7570   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7571   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7572   VULKAN_HPP_DEPRECATED( "The VK_EXT_descriptor_indexing extension has been promoted to core in version 1.2." )
7573   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7574 
7575   //=== VK_EXT_shader_viewport_index_layer ===
7576   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7577   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7578   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_viewport_index_layer extension has been promoted to core in version 1.2." )
7579   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7580 
7581 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7582   //=== VK_KHR_portability_subset ===
7583   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7584   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7585 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7586 
7587   //=== VK_NV_shading_rate_image ===
7588   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7589   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7590 
7591   //=== VK_NV_ray_tracing ===
7592   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7593   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion   = VK_NV_RAY_TRACING_SPEC_VERSION;
7594 
7595   //=== VK_NV_representative_fragment_test ===
7596   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7597   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7598 
7599   //=== VK_KHR_maintenance3 ===
7600   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7601   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7602   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance3 extension has been promoted to core in version 1.1." )
7603   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7604 
7605   //=== VK_KHR_draw_indirect_count ===
7606   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7607   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7608   VULKAN_HPP_DEPRECATED( "The VK_KHR_draw_indirect_count extension has been promoted to core in version 1.2." )
7609   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7610 
7611   //=== VK_EXT_filter_cubic ===
7612   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7613   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7614 
7615   //=== VK_QCOM_render_pass_shader_resolve ===
7616   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7617   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7618 
7619   //=== VK_EXT_global_priority ===
7620   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7621   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7622   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority extension has been promoted to VK_KHR_global_priority." )
7623   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7624 
7625   //=== VK_KHR_shader_subgroup_extended_types ===
7626   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7627   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7628   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_subgroup_extended_types extension has been promoted to core in version 1.2." )
7629   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7630 
7631   //=== VK_KHR_8bit_storage ===
7632   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7633   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7634   VULKAN_HPP_DEPRECATED( "The VK_KHR_8bit_storage extension has been promoted to core in version 1.2." )
7635   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7636 
7637   //=== VK_EXT_external_memory_host ===
7638   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7639   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7640 
7641   //=== VK_AMD_buffer_marker ===
7642   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7643   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7644 
7645   //=== VK_KHR_shader_atomic_int64 ===
7646   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7647   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7648   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_atomic_int64 extension has been promoted to core in version 1.2." )
7649   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7650 
7651   //=== VK_KHR_shader_clock ===
7652   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7653   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7654 
7655   //=== VK_AMD_pipeline_compiler_control ===
7656   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7657   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7658 
7659   //=== VK_EXT_calibrated_timestamps ===
7660   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7661   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7662   VULKAN_HPP_DEPRECATED( "The VK_EXT_calibrated_timestamps extension has been promoted to VK_KHR_calibrated_timestamps." )
7663   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7664 
7665   //=== VK_AMD_shader_core_properties ===
7666   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7667   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7668 
7669   //=== VK_KHR_video_decode_h265 ===
7670   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7671   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7672 
7673   //=== VK_KHR_global_priority ===
7674   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7675   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7676 
7677   //=== VK_AMD_memory_overallocation_behavior ===
7678   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7679   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7680 
7681   //=== VK_EXT_vertex_attribute_divisor ===
7682   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7683   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7684   VULKAN_HPP_DEPRECATED( "The VK_EXT_vertex_attribute_divisor extension has been promoted to VK_KHR_vertex_attribute_divisor." )
7685   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7686 
7687 #if defined( VK_USE_PLATFORM_GGP )
7688   //=== VK_GGP_frame_token ===
7689   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7690   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7691 #endif /*VK_USE_PLATFORM_GGP*/
7692 
7693   //=== VK_EXT_pipeline_creation_feedback ===
7694   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7696   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_feedback extension has been promoted to core in version 1.3." )
7697   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7698 
7699   //=== VK_KHR_driver_properties ===
7700   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7701   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
7702   VULKAN_HPP_DEPRECATED( "The VK_KHR_driver_properties extension has been promoted to core in version 1.2." )
7703   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
7704 
7705   //=== VK_KHR_shader_float_controls ===
7706   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7707   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
7708   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_float_controls extension has been promoted to core in version 1.2." )
7709   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
7710 
7711   //=== VK_NV_shader_subgroup_partitioned ===
7712   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
7713   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
7714 
7715   //=== VK_KHR_depth_stencil_resolve ===
7716   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7717   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
7718   VULKAN_HPP_DEPRECATED( "The VK_KHR_depth_stencil_resolve extension has been promoted to core in version 1.2." )
7719   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
7720 
7721   //=== VK_KHR_swapchain_mutable_format ===
7722   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
7723   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
7724 
7725   //=== VK_NV_compute_shader_derivatives ===
7726   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
7727   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
7728 
7729   //=== VK_NV_mesh_shader ===
7730   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
7731   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
7732 
7733   //=== VK_NV_fragment_shader_barycentric ===
7734   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7735   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
7736   VULKAN_HPP_DEPRECATED( "The VK_NV_fragment_shader_barycentric extension has been promoted to VK_KHR_fragment_shader_barycentric." )
7737   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
7738 
7739   //=== VK_NV_shader_image_footprint ===
7740   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
7741   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
7742 
7743   //=== VK_NV_scissor_exclusive ===
7744   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
7745   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
7746 
7747   //=== VK_NV_device_diagnostic_checkpoints ===
7748   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
7749   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
7750 
7751   //=== VK_KHR_timeline_semaphore ===
7752   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7753   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
7754   VULKAN_HPP_DEPRECATED( "The VK_KHR_timeline_semaphore extension has been promoted to core in version 1.2." )
7755   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
7756 
7757   //=== VK_INTEL_shader_integer_functions2 ===
7758   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
7759   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
7760 
7761   //=== VK_INTEL_performance_query ===
7762   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
7763   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
7764 
7765   //=== VK_KHR_vulkan_memory_model ===
7766   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7767   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
7768   VULKAN_HPP_DEPRECATED( "The VK_KHR_vulkan_memory_model extension has been promoted to core in version 1.2." )
7769   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
7770 
7771   //=== VK_EXT_pci_bus_info ===
7772   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
7773   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
7774 
7775   //=== VK_AMD_display_native_hdr ===
7776   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
7777   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
7778 
7779 #if defined( VK_USE_PLATFORM_FUCHSIA )
7780   //=== VK_FUCHSIA_imagepipe_surface ===
7781   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
7782   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
7783 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7784 
7785   //=== VK_KHR_shader_terminate_invocation ===
7786   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7787   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
7788   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_terminate_invocation extension has been promoted to core in version 1.3." )
7789   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
7790 
7791 #if defined( VK_USE_PLATFORM_METAL_EXT )
7792   //=== VK_EXT_metal_surface ===
7793   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
7794   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
7795 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7796 
7797   //=== VK_EXT_fragment_density_map ===
7798   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
7799   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
7800 
7801   //=== VK_EXT_scalar_block_layout ===
7802   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7803   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
7804   VULKAN_HPP_DEPRECATED( "The VK_EXT_scalar_block_layout extension has been promoted to core in version 1.2." )
7805   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
7806 
7807   //=== VK_GOOGLE_hlsl_functionality1 ===
7808   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
7809   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
7810 
7811   //=== VK_GOOGLE_decorate_string ===
7812   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
7813   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
7814 
7815   //=== VK_EXT_subgroup_size_control ===
7816   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7817   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
7818   VULKAN_HPP_DEPRECATED( "The VK_EXT_subgroup_size_control extension has been promoted to core in version 1.3." )
7819   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
7820 
7821   //=== VK_KHR_fragment_shading_rate ===
7822   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
7823   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
7824 
7825   //=== VK_AMD_shader_core_properties2 ===
7826   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
7827   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
7828 
7829   //=== VK_AMD_device_coherent_memory ===
7830   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
7831   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
7832 
7833   //=== VK_EXT_shader_image_atomic_int64 ===
7834   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
7835   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
7836 
7837   //=== VK_KHR_spirv_1_4 ===
7838   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7839   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
7840   VULKAN_HPP_DEPRECATED( "The VK_KHR_spirv_1_4 extension has been promoted to core in version 1.2." )
7841   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion = VK_KHR_SPIRV_1_4_SPEC_VERSION;
7842 
7843   //=== VK_EXT_memory_budget ===
7844   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
7845   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
7846 
7847   //=== VK_EXT_memory_priority ===
7848   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
7849   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
7850 
7851   //=== VK_KHR_surface_protected_capabilities ===
7852   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
7853   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
7854 
7855   //=== VK_NV_dedicated_allocation_image_aliasing ===
7856   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
7857   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
7858 
7859   //=== VK_KHR_separate_depth_stencil_layouts ===
7860   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7861   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
7862   VULKAN_HPP_DEPRECATED( "The VK_KHR_separate_depth_stencil_layouts extension has been promoted to core in version 1.2." )
7863   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
7864 
7865   //=== VK_EXT_buffer_device_address ===
7866   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7867   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7868   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7869   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7870 
7871   //=== VK_EXT_tooling_info ===
7872   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7873   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
7874   VULKAN_HPP_DEPRECATED( "The VK_EXT_tooling_info extension has been promoted to core in version 1.3." )
7875   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion = VK_EXT_TOOLING_INFO_SPEC_VERSION;
7876 
7877   //=== VK_EXT_separate_stencil_usage ===
7878   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7879   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
7880   VULKAN_HPP_DEPRECATED( "The VK_EXT_separate_stencil_usage extension has been promoted to core in version 1.2." )
7881   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
7882 
7883   //=== VK_EXT_validation_features ===
7884   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7885   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
7886   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7887   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
7888 
7889   //=== VK_KHR_present_wait ===
7890   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
7891   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
7892 
7893   //=== VK_NV_cooperative_matrix ===
7894   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
7895   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
7896 
7897   //=== VK_NV_coverage_reduction_mode ===
7898   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
7899   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
7900 
7901   //=== VK_EXT_fragment_shader_interlock ===
7902   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
7903   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
7904 
7905   //=== VK_EXT_ycbcr_image_arrays ===
7906   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
7907   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
7908 
7909   //=== VK_KHR_uniform_buffer_standard_layout ===
7910   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7911   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
7912   VULKAN_HPP_DEPRECATED( "The VK_KHR_uniform_buffer_standard_layout extension has been promoted to core in version 1.2." )
7913   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
7914 
7915   //=== VK_EXT_provoking_vertex ===
7916   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
7917   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
7918 
7919 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7920   //=== VK_EXT_full_screen_exclusive ===
7921   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
7922   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
7923 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7924 
7925   //=== VK_EXT_headless_surface ===
7926   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
7927   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
7928 
7929   //=== VK_KHR_buffer_device_address ===
7930   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7931   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7932   VULKAN_HPP_DEPRECATED( "The VK_KHR_buffer_device_address extension has been promoted to core in version 1.2." )
7933   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7934 
7935   //=== VK_EXT_line_rasterization ===
7936   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
7937   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion   = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
7938 
7939   //=== VK_EXT_shader_atomic_float ===
7940   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
7941   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
7942 
7943   //=== VK_EXT_host_query_reset ===
7944   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7945   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
7946   VULKAN_HPP_DEPRECATED( "The VK_EXT_host_query_reset extension has been promoted to core in version 1.2." )
7947   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
7948 
7949   //=== VK_EXT_index_type_uint8 ===
7950   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
7951   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion   = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
7952 
7953   //=== VK_EXT_extended_dynamic_state ===
7954   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
7955   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
7956   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state extension has been promoted to core in version 1.3." )
7957   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
7958 
7959   //=== VK_KHR_deferred_host_operations ===
7960   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
7961   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
7962 
7963   //=== VK_KHR_pipeline_executable_properties ===
7964   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
7965   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
7966 
7967   //=== VK_EXT_host_image_copy ===
7968   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
7969   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
7970 
7971   //=== VK_KHR_map_memory2 ===
7972   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
7973   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
7974 
7975   //=== VK_EXT_shader_atomic_float2 ===
7976   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
7977   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
7978 
7979   //=== VK_EXT_surface_maintenance1 ===
7980   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
7981   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
7982 
7983   //=== VK_EXT_swapchain_maintenance1 ===
7984   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
7985   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
7986 
7987   //=== VK_EXT_shader_demote_to_helper_invocation ===
7988   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
7989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
7990   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_demote_to_helper_invocation extension has been promoted to core in version 1.3." )
7991   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
7992 
7993   //=== VK_NV_device_generated_commands ===
7994   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
7995   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
7996 
7997   //=== VK_NV_inherited_viewport_scissor ===
7998   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
7999   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8000 
8001   //=== VK_KHR_shader_integer_dot_product ===
8002   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8003   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8004   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_integer_dot_product extension has been promoted to core in version 1.3." )
8005   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8006 
8007   //=== VK_EXT_texel_buffer_alignment ===
8008   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8009   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8010   VULKAN_HPP_DEPRECATED( "The VK_EXT_texel_buffer_alignment extension has been promoted to core in version 1.3." )
8011   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8012 
8013   //=== VK_QCOM_render_pass_transform ===
8014   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8015   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8016 
8017   //=== VK_EXT_depth_bias_control ===
8018   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8019   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8020 
8021   //=== VK_EXT_device_memory_report ===
8022   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8023   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8024 
8025   //=== VK_EXT_acquire_drm_display ===
8026   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8027   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8028 
8029   //=== VK_EXT_robustness2 ===
8030   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8031   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8032 
8033   //=== VK_EXT_custom_border_color ===
8034   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8035   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8036 
8037   //=== VK_GOOGLE_user_type ===
8038   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8039   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8040 
8041   //=== VK_KHR_pipeline_library ===
8042   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8043   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8044 
8045   //=== VK_NV_present_barrier ===
8046   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8047   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8048 
8049   //=== VK_KHR_shader_non_semantic_info ===
8050   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8051   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8052   VULKAN_HPP_DEPRECATED( "The VK_KHR_shader_non_semantic_info extension has been promoted to core in version 1.3." )
8053   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8054 
8055   //=== VK_KHR_present_id ===
8056   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8057   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8058 
8059   //=== VK_EXT_private_data ===
8060   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8061   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8062   VULKAN_HPP_DEPRECATED( "The VK_EXT_private_data extension has been promoted to core in version 1.3." )
8063   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8064 
8065   //=== VK_EXT_pipeline_creation_cache_control ===
8066   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8067   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8068   VULKAN_HPP_DEPRECATED( "The VK_EXT_pipeline_creation_cache_control extension has been promoted to core in version 1.3." )
8069   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8070 
8071   //=== VK_KHR_video_encode_queue ===
8072   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8073   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8074 
8075   //=== VK_NV_device_diagnostics_config ===
8076   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8077   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8078 
8079   //=== VK_QCOM_render_pass_store_ops ===
8080   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8081   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8082 
8083 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8084   //=== VK_NV_cuda_kernel_launch ===
8085   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8086   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8087 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8088 
8089   //=== VK_NV_low_latency ===
8090   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8091   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8092 
8093 #if defined( VK_USE_PLATFORM_METAL_EXT )
8094   //=== VK_EXT_metal_objects ===
8095   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8096   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8097 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8098 
8099   //=== VK_KHR_synchronization2 ===
8100   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8101   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8102   VULKAN_HPP_DEPRECATED( "The VK_KHR_synchronization2 extension has been promoted to core in version 1.3." )
8103   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8104 
8105   //=== VK_EXT_descriptor_buffer ===
8106   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8107   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8108 
8109   //=== VK_EXT_graphics_pipeline_library ===
8110   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8111   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8112 
8113   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8114   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8115   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8116 
8117   //=== VK_KHR_fragment_shader_barycentric ===
8118   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8119   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8120 
8121   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8122   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8123   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8124 
8125   //=== VK_KHR_zero_initialize_workgroup_memory ===
8126   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8127   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8128   VULKAN_HPP_DEPRECATED( "The VK_KHR_zero_initialize_workgroup_memory extension has been promoted to core in version 1.3." )
8129   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8130 
8131   //=== VK_NV_fragment_shading_rate_enums ===
8132   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8133   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8134 
8135   //=== VK_NV_ray_tracing_motion_blur ===
8136   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8137   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8138 
8139   //=== VK_EXT_mesh_shader ===
8140   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8141   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8142 
8143   //=== VK_EXT_ycbcr_2plane_444_formats ===
8144   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8145   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8146   VULKAN_HPP_DEPRECATED( "The VK_EXT_ycbcr_2plane_444_formats extension has been promoted to core in version 1.3." )
8147   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8148 
8149   //=== VK_EXT_fragment_density_map2 ===
8150   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8151   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8152 
8153   //=== VK_QCOM_rotated_copy_commands ===
8154   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8155   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8156 
8157   //=== VK_EXT_image_robustness ===
8158   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8159   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8160   VULKAN_HPP_DEPRECATED( "The VK_EXT_image_robustness extension has been promoted to core in version 1.3." )
8161   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8162 
8163   //=== VK_KHR_workgroup_memory_explicit_layout ===
8164   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8165   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8166 
8167   //=== VK_KHR_copy_commands2 ===
8168   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8169   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8170   VULKAN_HPP_DEPRECATED( "The VK_KHR_copy_commands2 extension has been promoted to core in version 1.3." )
8171   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8172 
8173   //=== VK_EXT_image_compression_control ===
8174   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8175   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8176 
8177   //=== VK_EXT_attachment_feedback_loop_layout ===
8178   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8179   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8180 
8181   //=== VK_EXT_4444_formats ===
8182   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8183   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8184   VULKAN_HPP_DEPRECATED( "The VK_EXT_4444_formats extension has been promoted to core in version 1.3." )
8185   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion = VK_EXT_4444_FORMATS_SPEC_VERSION;
8186 
8187   //=== VK_EXT_device_fault ===
8188   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8189   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8190 
8191   //=== VK_ARM_rasterization_order_attachment_access ===
8192   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8193   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8194   VULKAN_HPP_DEPRECATED( "The VK_ARM_rasterization_order_attachment_access extension has been promoted to VK_EXT_rasterization_order_attachment_access." )
8195   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8196 
8197   //=== VK_EXT_rgba10x6_formats ===
8198   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8199   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8200 
8201 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8202   //=== VK_NV_acquire_winrt_display ===
8203   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8204   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8205 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8206 
8207 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8208   //=== VK_EXT_directfb_surface ===
8209   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8210   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8211 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8212 
8213   //=== VK_VALVE_mutable_descriptor_type ===
8214   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8215   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8216   VULKAN_HPP_DEPRECATED( "The VK_VALVE_mutable_descriptor_type extension has been promoted to VK_EXT_mutable_descriptor_type." )
8217   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8218 
8219   //=== VK_EXT_vertex_input_dynamic_state ===
8220   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8221   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8222 
8223   //=== VK_EXT_physical_device_drm ===
8224   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8225   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8226 
8227   //=== VK_EXT_device_address_binding_report ===
8228   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8229   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8230 
8231   //=== VK_EXT_depth_clip_control ===
8232   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8233   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8234 
8235   //=== VK_EXT_primitive_topology_list_restart ===
8236   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8237   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8238 
8239   //=== VK_KHR_format_feature_flags2 ===
8240   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8241   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8242   VULKAN_HPP_DEPRECATED( "The VK_KHR_format_feature_flags2 extension has been promoted to core in version 1.3." )
8243   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8244 
8245 #if defined( VK_USE_PLATFORM_FUCHSIA )
8246   //=== VK_FUCHSIA_external_memory ===
8247   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8248   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8249 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8250 
8251 #if defined( VK_USE_PLATFORM_FUCHSIA )
8252   //=== VK_FUCHSIA_external_semaphore ===
8253   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8254   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8255 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8256 
8257 #if defined( VK_USE_PLATFORM_FUCHSIA )
8258   //=== VK_FUCHSIA_buffer_collection ===
8259   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8260   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8261 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8262 
8263   //=== VK_HUAWEI_subpass_shading ===
8264   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8265   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8266 
8267   //=== VK_HUAWEI_invocation_mask ===
8268   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8269   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8270 
8271   //=== VK_NV_external_memory_rdma ===
8272   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8273   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8274 
8275   //=== VK_EXT_pipeline_properties ===
8276   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8277   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8278 
8279   //=== VK_EXT_frame_boundary ===
8280   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8281   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8282 
8283   //=== VK_EXT_multisampled_render_to_single_sampled ===
8284   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8285   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8286 
8287   //=== VK_EXT_extended_dynamic_state2 ===
8288   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8289   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8290   VULKAN_HPP_DEPRECATED( "The VK_EXT_extended_dynamic_state2 extension has been promoted to core in version 1.3." )
8291   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8292 
8293 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8294   //=== VK_QNX_screen_surface ===
8295   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8296   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8297 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8298 
8299   //=== VK_EXT_color_write_enable ===
8300   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8301   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8302 
8303   //=== VK_EXT_primitives_generated_query ===
8304   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8305   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8306 
8307   //=== VK_KHR_ray_tracing_maintenance1 ===
8308   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8309   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8310 
8311   //=== VK_EXT_global_priority_query ===
8312   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8313   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8314   VULKAN_HPP_DEPRECATED( "The VK_EXT_global_priority_query extension has been promoted to VK_KHR_global_priority." )
8315   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8316 
8317   //=== VK_EXT_image_view_min_lod ===
8318   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8319   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8320 
8321   //=== VK_EXT_multi_draw ===
8322   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8323   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8324 
8325   //=== VK_EXT_image_2d_view_of_3d ===
8326   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8327   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8328 
8329   //=== VK_KHR_portability_enumeration ===
8330   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8331   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8332 
8333   //=== VK_EXT_shader_tile_image ===
8334   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8335   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8336 
8337   //=== VK_EXT_opacity_micromap ===
8338   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8339   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8340 
8341 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8342   //=== VK_NV_displacement_micromap ===
8343   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8344   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8345 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8346 
8347   //=== VK_EXT_load_store_op_none ===
8348   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8349   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion   = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8350 
8351   //=== VK_HUAWEI_cluster_culling_shader ===
8352   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8353   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8354 
8355   //=== VK_EXT_border_color_swizzle ===
8356   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8357   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8358 
8359   //=== VK_EXT_pageable_device_local_memory ===
8360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8362 
8363   //=== VK_KHR_maintenance4 ===
8364   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8365   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8366   VULKAN_HPP_DEPRECATED( "The VK_KHR_maintenance4 extension has been promoted to core in version 1.3." )
8367   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8368 
8369   //=== VK_ARM_shader_core_properties ===
8370   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8371   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8372 
8373   //=== VK_ARM_scheduling_controls ===
8374   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8375   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8376 
8377   //=== VK_EXT_image_sliced_view_of_3d ===
8378   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8379   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8380 
8381   //=== VK_VALVE_descriptor_set_host_mapping ===
8382   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8383   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8384 
8385   //=== VK_EXT_depth_clamp_zero_one ===
8386   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8387   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8388 
8389   //=== VK_EXT_non_seamless_cube_map ===
8390   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8391   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8392 
8393   //=== VK_ARM_render_pass_striped ===
8394   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8395   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8396 
8397   //=== VK_QCOM_fragment_density_map_offset ===
8398   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8399   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8400 
8401   //=== VK_NV_copy_memory_indirect ===
8402   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8403   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8404 
8405   //=== VK_NV_memory_decompression ===
8406   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8407   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8408 
8409   //=== VK_NV_device_generated_commands_compute ===
8410   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8411   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8412 
8413   //=== VK_NV_linear_color_attachment ===
8414   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8415   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8416 
8417   //=== VK_GOOGLE_surfaceless_query ===
8418   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8419   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8420 
8421   //=== VK_EXT_image_compression_control_swapchain ===
8422   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8423   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8424 
8425   //=== VK_QCOM_image_processing ===
8426   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8427   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8428 
8429   //=== VK_EXT_nested_command_buffer ===
8430   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8431   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8432 
8433   //=== VK_EXT_external_memory_acquire_unmodified ===
8434   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8435   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8436 
8437   //=== VK_EXT_extended_dynamic_state3 ===
8438   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8439   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8440 
8441   //=== VK_EXT_subpass_merge_feedback ===
8442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8443   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8444 
8445   //=== VK_LUNARG_direct_driver_loading ===
8446   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8447   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8448 
8449   //=== VK_EXT_shader_module_identifier ===
8450   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8451   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8452 
8453   //=== VK_EXT_rasterization_order_attachment_access ===
8454   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8455   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8456 
8457   //=== VK_NV_optical_flow ===
8458   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8459   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8460 
8461   //=== VK_EXT_legacy_dithering ===
8462   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8464 
8465   //=== VK_EXT_pipeline_protected_access ===
8466   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8467   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8468 
8469 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8470   //=== VK_ANDROID_external_format_resolve ===
8471   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8472   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8473 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8474 
8475   //=== VK_KHR_maintenance5 ===
8476   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8477   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8478 
8479   //=== VK_KHR_ray_tracing_position_fetch ===
8480   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8481   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8482 
8483   //=== VK_EXT_shader_object ===
8484   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8485   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8486 
8487   //=== VK_QCOM_tile_properties ===
8488   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8489   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8490 
8491   //=== VK_SEC_amigo_profiling ===
8492   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8493   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8494 
8495   //=== VK_QCOM_multiview_per_view_viewports ===
8496   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8497   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8498 
8499   //=== VK_NV_ray_tracing_invocation_reorder ===
8500   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8501   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8502 
8503   //=== VK_NV_extended_sparse_address_space ===
8504   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8505   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8506 
8507   //=== VK_EXT_mutable_descriptor_type ===
8508   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8509   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8510 
8511   //=== VK_EXT_layer_settings ===
8512   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8513   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8514 
8515   //=== VK_ARM_shader_core_builtins ===
8516   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8517   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8518 
8519   //=== VK_EXT_pipeline_library_group_handles ===
8520   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8521   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8522 
8523   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8524   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8525   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8526 
8527   //=== VK_NV_low_latency2 ===
8528   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8529   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8530 
8531   //=== VK_KHR_cooperative_matrix ===
8532   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8533   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8534 
8535   //=== VK_QCOM_multiview_per_view_render_areas ===
8536   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8537   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8538 
8539   //=== VK_KHR_video_maintenance1 ===
8540   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8541   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8542 
8543   //=== VK_NV_per_stage_descriptor_set ===
8544   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8545   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8546 
8547   //=== VK_QCOM_image_processing2 ===
8548   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8549   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8550 
8551   //=== VK_QCOM_filter_cubic_weights ===
8552   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8553   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8554 
8555   //=== VK_QCOM_ycbcr_degamma ===
8556   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8557   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8558 
8559   //=== VK_QCOM_filter_cubic_clamp ===
8560   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8561   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8562 
8563   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8564   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8565   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8566 
8567   //=== VK_KHR_vertex_attribute_divisor ===
8568   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8569   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8570 
8571 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8572   //=== VK_QNX_external_memory_screen_buffer ===
8573   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8574   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8575 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8576 
8577   //=== VK_MSFT_layered_driver ===
8578   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8579   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8580 
8581   //=== VK_KHR_calibrated_timestamps ===
8582   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8583   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8584 
8585   //=== VK_KHR_maintenance6 ===
8586   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8587   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8588 
8589   //=== VK_NV_descriptor_pool_overallocation ===
8590   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8591   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8592 
8593 }  // namespace VULKAN_HPP_NAMESPACE
8594 
8595 // clang-format off
8596 #include <vulkan/vulkan_handles.hpp>
8597 #include <vulkan/vulkan_structs.hpp>
8598 #include <vulkan/vulkan_funcs.hpp>
8599 
8600 // clang-format on
8601 
8602 namespace VULKAN_HPP_NAMESPACE
8603 {
8604 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8605 
8606   //=======================
8607   //=== STRUCTS EXTENDS ===
8608   //=======================
8609 
8610   //=== VK_VERSION_1_0 ===
8611   template <>
8612   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
8613   {
8614     enum
8615     {
8616       value = true
8617     };
8618   };
8619 
8620   template <>
8621   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfoKHR>
8622   {
8623     enum
8624     {
8625       value = true
8626     };
8627   };
8628 
8629   template <>
8630   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfoKHR>
8631   {
8632     enum
8633     {
8634       value = true
8635     };
8636   };
8637 
8638   template <>
8639   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfoKHR>
8640   {
8641     enum
8642     {
8643       value = true
8644     };
8645   };
8646 
8647   template <>
8648   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfoKHR>
8649   {
8650     enum
8651     {
8652       value = true
8653     };
8654   };
8655 
8656   template <>
8657   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
8658   {
8659     enum
8660     {
8661       value = true
8662     };
8663   };
8664 
8665   template <>
8666   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
8667   {
8668     enum
8669     {
8670       value = true
8671     };
8672   };
8673 
8674   //=== VK_VERSION_1_1 ===
8675   template <>
8676   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8677   {
8678     enum
8679     {
8680       value = true
8681     };
8682   };
8683 
8684   template <>
8685   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
8686   {
8687     enum
8688     {
8689       value = true
8690     };
8691   };
8692 
8693   template <>
8694   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
8695   {
8696     enum
8697     {
8698       value = true
8699     };
8700   };
8701 
8702   template <>
8703   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
8704   {
8705     enum
8706     {
8707       value = true
8708     };
8709   };
8710 
8711   template <>
8712   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
8713   {
8714     enum
8715     {
8716       value = true
8717     };
8718   };
8719 
8720   template <>
8721   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
8722   {
8723     enum
8724     {
8725       value = true
8726     };
8727   };
8728 
8729   template <>
8730   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
8731   {
8732     enum
8733     {
8734       value = true
8735     };
8736   };
8737 
8738   template <>
8739   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
8740   {
8741     enum
8742     {
8743       value = true
8744     };
8745   };
8746 
8747   template <>
8748   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
8749   {
8750     enum
8751     {
8752       value = true
8753     };
8754   };
8755 
8756   template <>
8757   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
8758   {
8759     enum
8760     {
8761       value = true
8762     };
8763   };
8764 
8765   template <>
8766   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
8767   {
8768     enum
8769     {
8770       value = true
8771     };
8772   };
8773 
8774   template <>
8775   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
8776   {
8777     enum
8778     {
8779       value = true
8780     };
8781   };
8782 
8783   template <>
8784   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
8785   {
8786     enum
8787     {
8788       value = true
8789     };
8790   };
8791 
8792   template <>
8793   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
8794   {
8795     enum
8796     {
8797       value = true
8798     };
8799   };
8800 
8801   template <>
8802   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
8803   {
8804     enum
8805     {
8806       value = true
8807     };
8808   };
8809 
8810   template <>
8811   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
8812   {
8813     enum
8814     {
8815       value = true
8816     };
8817   };
8818 
8819   template <>
8820   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
8821   {
8822     enum
8823     {
8824       value = true
8825     };
8826   };
8827 
8828   template <>
8829   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
8830   {
8831     enum
8832     {
8833       value = true
8834     };
8835   };
8836 
8837   template <>
8838   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
8839   {
8840     enum
8841     {
8842       value = true
8843     };
8844   };
8845 
8846   template <>
8847   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
8848   {
8849     enum
8850     {
8851       value = true
8852     };
8853   };
8854 
8855   template <>
8856   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
8857   {
8858     enum
8859     {
8860       value = true
8861     };
8862   };
8863 
8864   template <>
8865   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
8866   {
8867     enum
8868     {
8869       value = true
8870     };
8871   };
8872 
8873   template <>
8874   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
8875   {
8876     enum
8877     {
8878       value = true
8879     };
8880   };
8881 
8882   template <>
8883   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
8884   {
8885     enum
8886     {
8887       value = true
8888     };
8889   };
8890 
8891   template <>
8892   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
8893   {
8894     enum
8895     {
8896       value = true
8897     };
8898   };
8899 
8900   template <>
8901   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
8902   {
8903     enum
8904     {
8905       value = true
8906     };
8907   };
8908 
8909   template <>
8910   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
8911   {
8912     enum
8913     {
8914       value = true
8915     };
8916   };
8917 
8918   template <>
8919   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
8920   {
8921     enum
8922     {
8923       value = true
8924     };
8925   };
8926 
8927   template <>
8928   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
8929   {
8930     enum
8931     {
8932       value = true
8933     };
8934   };
8935 
8936   template <>
8937   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
8938   {
8939     enum
8940     {
8941       value = true
8942     };
8943   };
8944 
8945   template <>
8946   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
8947   {
8948     enum
8949     {
8950       value = true
8951     };
8952   };
8953 
8954   template <>
8955   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
8956   {
8957     enum
8958     {
8959       value = true
8960     };
8961   };
8962 
8963   template <>
8964   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
8965   {
8966     enum
8967     {
8968       value = true
8969     };
8970   };
8971 
8972   template <>
8973   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
8974   {
8975     enum
8976     {
8977       value = true
8978     };
8979   };
8980 
8981   template <>
8982   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
8983   {
8984     enum
8985     {
8986       value = true
8987     };
8988   };
8989 
8990   template <>
8991   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
8992   {
8993     enum
8994     {
8995       value = true
8996     };
8997   };
8998 
8999   template <>
9000   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9001   {
9002     enum
9003     {
9004       value = true
9005     };
9006   };
9007 
9008   template <>
9009   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9010   {
9011     enum
9012     {
9013       value = true
9014     };
9015   };
9016 
9017   template <>
9018   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9019   {
9020     enum
9021     {
9022       value = true
9023     };
9024   };
9025 
9026   template <>
9027   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9028   {
9029     enum
9030     {
9031       value = true
9032     };
9033   };
9034 
9035   template <>
9036   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9037   {
9038     enum
9039     {
9040       value = true
9041     };
9042   };
9043 
9044   template <>
9045   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9046   {
9047     enum
9048     {
9049       value = true
9050     };
9051   };
9052 
9053   template <>
9054   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9055   {
9056     enum
9057     {
9058       value = true
9059     };
9060   };
9061 
9062   template <>
9063   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9064   {
9065     enum
9066     {
9067       value = true
9068     };
9069   };
9070 
9071   template <>
9072   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9073   {
9074     enum
9075     {
9076       value = true
9077     };
9078   };
9079 
9080   template <>
9081   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9082   {
9083     enum
9084     {
9085       value = true
9086     };
9087   };
9088 
9089   template <>
9090   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9091   {
9092     enum
9093     {
9094       value = true
9095     };
9096   };
9097 
9098   //=== VK_VERSION_1_2 ===
9099   template <>
9100   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9101   {
9102     enum
9103     {
9104       value = true
9105     };
9106   };
9107 
9108   template <>
9109   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9110   {
9111     enum
9112     {
9113       value = true
9114     };
9115   };
9116 
9117   template <>
9118   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9119   {
9120     enum
9121     {
9122       value = true
9123     };
9124   };
9125 
9126   template <>
9127   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9128   {
9129     enum
9130     {
9131       value = true
9132     };
9133   };
9134 
9135   template <>
9136   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9137   {
9138     enum
9139     {
9140       value = true
9141     };
9142   };
9143 
9144   template <>
9145   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9146   {
9147     enum
9148     {
9149       value = true
9150     };
9151   };
9152 
9153   template <>
9154   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9155   {
9156     enum
9157     {
9158       value = true
9159     };
9160   };
9161 
9162   template <>
9163   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9164   {
9165     enum
9166     {
9167       value = true
9168     };
9169   };
9170 
9171   template <>
9172   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9173   {
9174     enum
9175     {
9176       value = true
9177     };
9178   };
9179 
9180   template <>
9181   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9182   {
9183     enum
9184     {
9185       value = true
9186     };
9187   };
9188 
9189   template <>
9190   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9191   {
9192     enum
9193     {
9194       value = true
9195     };
9196   };
9197 
9198   template <>
9199   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9200   {
9201     enum
9202     {
9203       value = true
9204     };
9205   };
9206 
9207   template <>
9208   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9209   {
9210     enum
9211     {
9212       value = true
9213     };
9214   };
9215 
9216   template <>
9217   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9218   {
9219     enum
9220     {
9221       value = true
9222     };
9223   };
9224 
9225   template <>
9226   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9227   {
9228     enum
9229     {
9230       value = true
9231     };
9232   };
9233 
9234   template <>
9235   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9236   {
9237     enum
9238     {
9239       value = true
9240     };
9241   };
9242 
9243   template <>
9244   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9245   {
9246     enum
9247     {
9248       value = true
9249     };
9250   };
9251 
9252   template <>
9253   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9254   {
9255     enum
9256     {
9257       value = true
9258     };
9259   };
9260 
9261   template <>
9262   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9263   {
9264     enum
9265     {
9266       value = true
9267     };
9268   };
9269 
9270   template <>
9271   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9272   {
9273     enum
9274     {
9275       value = true
9276     };
9277   };
9278 
9279   template <>
9280   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9281   {
9282     enum
9283     {
9284       value = true
9285     };
9286   };
9287 
9288   template <>
9289   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9290   {
9291     enum
9292     {
9293       value = true
9294     };
9295   };
9296 
9297   template <>
9298   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9299   {
9300     enum
9301     {
9302       value = true
9303     };
9304   };
9305 
9306   template <>
9307   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9308   {
9309     enum
9310     {
9311       value = true
9312     };
9313   };
9314 
9315   template <>
9316   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9317   {
9318     enum
9319     {
9320       value = true
9321     };
9322   };
9323 
9324   template <>
9325   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9326   {
9327     enum
9328     {
9329       value = true
9330     };
9331   };
9332 
9333   template <>
9334   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9335   {
9336     enum
9337     {
9338       value = true
9339     };
9340   };
9341 
9342   template <>
9343   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9344   {
9345     enum
9346     {
9347       value = true
9348     };
9349   };
9350 
9351   template <>
9352   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9353   {
9354     enum
9355     {
9356       value = true
9357     };
9358   };
9359 
9360   template <>
9361   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9362   {
9363     enum
9364     {
9365       value = true
9366     };
9367   };
9368 
9369   template <>
9370   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9371   {
9372     enum
9373     {
9374       value = true
9375     };
9376   };
9377 
9378   template <>
9379   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9380   {
9381     enum
9382     {
9383       value = true
9384     };
9385   };
9386 
9387   template <>
9388   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9389   {
9390     enum
9391     {
9392       value = true
9393     };
9394   };
9395 
9396   template <>
9397   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9398   {
9399     enum
9400     {
9401       value = true
9402     };
9403   };
9404 
9405   template <>
9406   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9407   {
9408     enum
9409     {
9410       value = true
9411     };
9412   };
9413 
9414   template <>
9415   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9416   {
9417     enum
9418     {
9419       value = true
9420     };
9421   };
9422 
9423   template <>
9424   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9425   {
9426     enum
9427     {
9428       value = true
9429     };
9430   };
9431 
9432   template <>
9433   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9434   {
9435     enum
9436     {
9437       value = true
9438     };
9439   };
9440 
9441   template <>
9442   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9443   {
9444     enum
9445     {
9446       value = true
9447     };
9448   };
9449 
9450   template <>
9451   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9452   {
9453     enum
9454     {
9455       value = true
9456     };
9457   };
9458 
9459   template <>
9460   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9461   {
9462     enum
9463     {
9464       value = true
9465     };
9466   };
9467 
9468   template <>
9469   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9470   {
9471     enum
9472     {
9473       value = true
9474     };
9475   };
9476 
9477   template <>
9478   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9479   {
9480     enum
9481     {
9482       value = true
9483     };
9484   };
9485 
9486   template <>
9487   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9488   {
9489     enum
9490     {
9491       value = true
9492     };
9493   };
9494 
9495   template <>
9496   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9497   {
9498     enum
9499     {
9500       value = true
9501     };
9502   };
9503 
9504   template <>
9505   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9506   {
9507     enum
9508     {
9509       value = true
9510     };
9511   };
9512 
9513   template <>
9514   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9515   {
9516     enum
9517     {
9518       value = true
9519     };
9520   };
9521 
9522   template <>
9523   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9524   {
9525     enum
9526     {
9527       value = true
9528     };
9529   };
9530 
9531   template <>
9532   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9533   {
9534     enum
9535     {
9536       value = true
9537     };
9538   };
9539 
9540   template <>
9541   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9542   {
9543     enum
9544     {
9545       value = true
9546     };
9547   };
9548 
9549   template <>
9550   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9551   {
9552     enum
9553     {
9554       value = true
9555     };
9556   };
9557 
9558   template <>
9559   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9560   {
9561     enum
9562     {
9563       value = true
9564     };
9565   };
9566 
9567   template <>
9568   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9569   {
9570     enum
9571     {
9572       value = true
9573     };
9574   };
9575 
9576   template <>
9577   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9578   {
9579     enum
9580     {
9581       value = true
9582     };
9583   };
9584 
9585   template <>
9586   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9587   {
9588     enum
9589     {
9590       value = true
9591     };
9592   };
9593 
9594   template <>
9595   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
9596   {
9597     enum
9598     {
9599       value = true
9600     };
9601   };
9602 
9603   template <>
9604   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
9605   {
9606     enum
9607     {
9608       value = true
9609     };
9610   };
9611 
9612   template <>
9613   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
9614   {
9615     enum
9616     {
9617       value = true
9618     };
9619   };
9620 
9621   //=== VK_VERSION_1_3 ===
9622   template <>
9623   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
9624   {
9625     enum
9626     {
9627       value = true
9628     };
9629   };
9630 
9631   template <>
9632   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
9633   {
9634     enum
9635     {
9636       value = true
9637     };
9638   };
9639 
9640   template <>
9641   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
9642   {
9643     enum
9644     {
9645       value = true
9646     };
9647   };
9648 
9649   template <>
9650   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
9651   {
9652     enum
9653     {
9654       value = true
9655     };
9656   };
9657 
9658   template <>
9659   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
9660   {
9661     enum
9662     {
9663       value = true
9664     };
9665   };
9666 
9667   template <>
9668   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
9669   {
9670     enum
9671     {
9672       value = true
9673     };
9674   };
9675 
9676   template <>
9677   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
9678   {
9679     enum
9680     {
9681       value = true
9682     };
9683   };
9684 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
9685   template <>
9686   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
9687   {
9688     enum
9689     {
9690       value = true
9691     };
9692   };
9693 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
9694   template <>
9695   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
9696   {
9697     enum
9698     {
9699       value = true
9700     };
9701   };
9702 
9703   template <>
9704   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
9705   {
9706     enum
9707     {
9708       value = true
9709     };
9710   };
9711 
9712   template <>
9713   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
9714   {
9715     enum
9716     {
9717       value = true
9718     };
9719   };
9720 
9721   template <>
9722   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
9723   {
9724     enum
9725     {
9726       value = true
9727     };
9728   };
9729 
9730   template <>
9731   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
9732   {
9733     enum
9734     {
9735       value = true
9736     };
9737   };
9738 
9739   template <>
9740   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
9741   {
9742     enum
9743     {
9744       value = true
9745     };
9746   };
9747 
9748   template <>
9749   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
9750   {
9751     enum
9752     {
9753       value = true
9754     };
9755   };
9756 
9757   template <>
9758   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
9759   {
9760     enum
9761     {
9762       value = true
9763     };
9764   };
9765 
9766   template <>
9767   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
9768   {
9769     enum
9770     {
9771       value = true
9772     };
9773   };
9774 
9775   template <>
9776   struct StructExtends<MemoryBarrier2, SubpassDependency2>
9777   {
9778     enum
9779     {
9780       value = true
9781     };
9782   };
9783 
9784   template <>
9785   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
9786   {
9787     enum
9788     {
9789       value = true
9790     };
9791   };
9792 
9793   template <>
9794   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
9795   {
9796     enum
9797     {
9798       value = true
9799     };
9800   };
9801 
9802   template <>
9803   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
9804   {
9805     enum
9806     {
9807       value = true
9808     };
9809   };
9810 
9811   template <>
9812   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
9813   {
9814     enum
9815     {
9816       value = true
9817     };
9818   };
9819 
9820   template <>
9821   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
9822   {
9823     enum
9824     {
9825       value = true
9826     };
9827   };
9828 
9829   template <>
9830   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
9831   {
9832     enum
9833     {
9834       value = true
9835     };
9836   };
9837 
9838   template <>
9839   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
9840   {
9841     enum
9842     {
9843       value = true
9844     };
9845   };
9846 
9847   template <>
9848   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
9849   {
9850     enum
9851     {
9852       value = true
9853     };
9854   };
9855 
9856   template <>
9857   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
9858   {
9859     enum
9860     {
9861       value = true
9862     };
9863   };
9864 
9865   template <>
9866   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
9867   {
9868     enum
9869     {
9870       value = true
9871     };
9872   };
9873 
9874   template <>
9875   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
9876   {
9877     enum
9878     {
9879       value = true
9880     };
9881   };
9882 
9883   template <>
9884   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
9885   {
9886     enum
9887     {
9888       value = true
9889     };
9890   };
9891 
9892   template <>
9893   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
9894   {
9895     enum
9896     {
9897       value = true
9898     };
9899   };
9900 
9901   template <>
9902   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
9903   {
9904     enum
9905     {
9906       value = true
9907     };
9908   };
9909 
9910   template <>
9911   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
9912   {
9913     enum
9914     {
9915       value = true
9916     };
9917   };
9918 
9919   template <>
9920   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
9921   {
9922     enum
9923     {
9924       value = true
9925     };
9926   };
9927 
9928   template <>
9929   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
9930   {
9931     enum
9932     {
9933       value = true
9934     };
9935   };
9936 
9937   template <>
9938   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
9939   {
9940     enum
9941     {
9942       value = true
9943     };
9944   };
9945 
9946   template <>
9947   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
9948   {
9949     enum
9950     {
9951       value = true
9952     };
9953   };
9954 
9955   template <>
9956   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
9957   {
9958     enum
9959     {
9960       value = true
9961     };
9962   };
9963 
9964   template <>
9965   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
9966   {
9967     enum
9968     {
9969       value = true
9970     };
9971   };
9972 
9973   template <>
9974   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
9975   {
9976     enum
9977     {
9978       value = true
9979     };
9980   };
9981 
9982   template <>
9983   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
9984   {
9985     enum
9986     {
9987       value = true
9988     };
9989   };
9990 
9991   template <>
9992   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
9993   {
9994     enum
9995     {
9996       value = true
9997     };
9998   };
9999 
10000   template <>
10001   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10002   {
10003     enum
10004     {
10005       value = true
10006     };
10007   };
10008 
10009   template <>
10010   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10011   {
10012     enum
10013     {
10014       value = true
10015     };
10016   };
10017 
10018   template <>
10019   struct StructExtends<FormatProperties3, FormatProperties2>
10020   {
10021     enum
10022     {
10023       value = true
10024     };
10025   };
10026 
10027   template <>
10028   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10029   {
10030     enum
10031     {
10032       value = true
10033     };
10034   };
10035 
10036   template <>
10037   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10038   {
10039     enum
10040     {
10041       value = true
10042     };
10043   };
10044 
10045   template <>
10046   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10047   {
10048     enum
10049     {
10050       value = true
10051     };
10052   };
10053 
10054   //=== VK_KHR_swapchain ===
10055   template <>
10056   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
10057   {
10058     enum
10059     {
10060       value = true
10061     };
10062   };
10063 
10064   template <>
10065   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
10066   {
10067     enum
10068     {
10069       value = true
10070     };
10071   };
10072 
10073   template <>
10074   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
10075   {
10076     enum
10077     {
10078       value = true
10079     };
10080   };
10081 
10082   template <>
10083   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
10084   {
10085     enum
10086     {
10087       value = true
10088     };
10089   };
10090 
10091   //=== VK_KHR_display_swapchain ===
10092   template <>
10093   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
10094   {
10095     enum
10096     {
10097       value = true
10098     };
10099   };
10100 
10101   //=== VK_EXT_debug_report ===
10102   template <>
10103   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
10104   {
10105     enum
10106     {
10107       value = true
10108     };
10109   };
10110 
10111   //=== VK_AMD_rasterization_order ===
10112   template <>
10113   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
10114   {
10115     enum
10116     {
10117       value = true
10118     };
10119   };
10120 
10121   //=== VK_KHR_video_queue ===
10122   template <>
10123   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
10124   {
10125     enum
10126     {
10127       value = true
10128     };
10129   };
10130 
10131   template <>
10132   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
10133   {
10134     enum
10135     {
10136       value = true
10137     };
10138   };
10139 
10140   template <>
10141   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
10142   {
10143     enum
10144     {
10145       value = true
10146     };
10147   };
10148 
10149   template <>
10150   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
10151   {
10152     enum
10153     {
10154       value = true
10155     };
10156   };
10157 
10158   template <>
10159   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
10160   {
10161     enum
10162     {
10163       value = true
10164     };
10165   };
10166 
10167   template <>
10168   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
10169   {
10170     enum
10171     {
10172       value = true
10173     };
10174   };
10175 
10176   template <>
10177   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
10178   {
10179     enum
10180     {
10181       value = true
10182     };
10183   };
10184 
10185   //=== VK_KHR_video_decode_queue ===
10186   template <>
10187   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
10188   {
10189     enum
10190     {
10191       value = true
10192     };
10193   };
10194 
10195   template <>
10196   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
10197   {
10198     enum
10199     {
10200       value = true
10201     };
10202   };
10203 
10204   template <>
10205   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
10206   {
10207     enum
10208     {
10209       value = true
10210     };
10211   };
10212 
10213   //=== VK_NV_dedicated_allocation ===
10214   template <>
10215   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
10216   {
10217     enum
10218     {
10219       value = true
10220     };
10221   };
10222 
10223   template <>
10224   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
10225   {
10226     enum
10227     {
10228       value = true
10229     };
10230   };
10231 
10232   template <>
10233   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
10234   {
10235     enum
10236     {
10237       value = true
10238     };
10239   };
10240 
10241   //=== VK_EXT_transform_feedback ===
10242   template <>
10243   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
10244   {
10245     enum
10246     {
10247       value = true
10248     };
10249   };
10250 
10251   template <>
10252   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
10253   {
10254     enum
10255     {
10256       value = true
10257     };
10258   };
10259 
10260   template <>
10261   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
10262   {
10263     enum
10264     {
10265       value = true
10266     };
10267   };
10268 
10269   template <>
10270   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
10271   {
10272     enum
10273     {
10274       value = true
10275     };
10276   };
10277 
10278   //=== VK_KHR_video_encode_h264 ===
10279   template <>
10280   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10281   {
10282     enum
10283     {
10284       value = true
10285     };
10286   };
10287 
10288   template <>
10289   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10290   {
10291     enum
10292     {
10293       value = true
10294     };
10295   };
10296 
10297   template <>
10298   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10299   {
10300     enum
10301     {
10302       value = true
10303     };
10304   };
10305 
10306   template <>
10307   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10308   {
10309     enum
10310     {
10311       value = true
10312     };
10313   };
10314 
10315   template <>
10316   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10317   {
10318     enum
10319     {
10320       value = true
10321     };
10322   };
10323 
10324   template <>
10325   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10326   {
10327     enum
10328     {
10329       value = true
10330     };
10331   };
10332 
10333   template <>
10334   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10335   {
10336     enum
10337     {
10338       value = true
10339     };
10340   };
10341 
10342   template <>
10343   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
10344   {
10345     enum
10346     {
10347       value = true
10348     };
10349   };
10350 
10351   template <>
10352   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10353   {
10354     enum
10355     {
10356       value = true
10357     };
10358   };
10359 
10360   template <>
10361   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10362   {
10363     enum
10364     {
10365       value = true
10366     };
10367   };
10368 
10369   template <>
10370   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10371   {
10372     enum
10373     {
10374       value = true
10375     };
10376   };
10377 
10378   template <>
10379   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
10380   {
10381     enum
10382     {
10383       value = true
10384     };
10385   };
10386 
10387   template <>
10388   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
10389   {
10390     enum
10391     {
10392       value = true
10393     };
10394   };
10395 
10396   template <>
10397   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10398   {
10399     enum
10400     {
10401       value = true
10402     };
10403   };
10404 
10405   template <>
10406   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10407   {
10408     enum
10409     {
10410       value = true
10411     };
10412   };
10413 
10414   //=== VK_KHR_video_encode_h265 ===
10415   template <>
10416   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
10417   {
10418     enum
10419     {
10420       value = true
10421     };
10422   };
10423 
10424   template <>
10425   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10426   {
10427     enum
10428     {
10429       value = true
10430     };
10431   };
10432 
10433   template <>
10434   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10435   {
10436     enum
10437     {
10438       value = true
10439     };
10440   };
10441 
10442   template <>
10443   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10444   {
10445     enum
10446     {
10447       value = true
10448     };
10449   };
10450 
10451   template <>
10452   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10453   {
10454     enum
10455     {
10456       value = true
10457     };
10458   };
10459 
10460   template <>
10461   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10462   {
10463     enum
10464     {
10465       value = true
10466     };
10467   };
10468 
10469   template <>
10470   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10471   {
10472     enum
10473     {
10474       value = true
10475     };
10476   };
10477 
10478   template <>
10479   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
10480   {
10481     enum
10482     {
10483       value = true
10484     };
10485   };
10486 
10487   template <>
10488   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10489   {
10490     enum
10491     {
10492       value = true
10493     };
10494   };
10495 
10496   template <>
10497   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
10498   {
10499     enum
10500     {
10501       value = true
10502     };
10503   };
10504 
10505   template <>
10506   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
10507   {
10508     enum
10509     {
10510       value = true
10511     };
10512   };
10513 
10514   template <>
10515   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
10516   {
10517     enum
10518     {
10519       value = true
10520     };
10521   };
10522 
10523   template <>
10524   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
10525   {
10526     enum
10527     {
10528       value = true
10529     };
10530   };
10531 
10532   template <>
10533   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
10534   {
10535     enum
10536     {
10537       value = true
10538     };
10539   };
10540 
10541   template <>
10542   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
10543   {
10544     enum
10545     {
10546       value = true
10547     };
10548   };
10549 
10550   //=== VK_KHR_video_decode_h264 ===
10551   template <>
10552   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
10553   {
10554     enum
10555     {
10556       value = true
10557     };
10558   };
10559 
10560   template <>
10561   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
10562   {
10563     enum
10564     {
10565       value = true
10566     };
10567   };
10568 
10569   template <>
10570   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10571   {
10572     enum
10573     {
10574       value = true
10575     };
10576   };
10577 
10578   template <>
10579   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10580   {
10581     enum
10582     {
10583       value = true
10584     };
10585   };
10586 
10587   template <>
10588   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10589   {
10590     enum
10591     {
10592       value = true
10593     };
10594   };
10595 
10596   template <>
10597   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
10598   {
10599     enum
10600     {
10601       value = true
10602     };
10603   };
10604 
10605   template <>
10606   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
10607   {
10608     enum
10609     {
10610       value = true
10611     };
10612   };
10613 
10614   //=== VK_AMD_texture_gather_bias_lod ===
10615   template <>
10616   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
10617   {
10618     enum
10619     {
10620       value = true
10621     };
10622   };
10623 
10624   //=== VK_KHR_dynamic_rendering ===
10625   template <>
10626   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
10627   {
10628     enum
10629     {
10630       value = true
10631     };
10632   };
10633 
10634   template <>
10635   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
10636   {
10637     enum
10638     {
10639       value = true
10640     };
10641   };
10642 
10643   template <>
10644   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
10645   {
10646     enum
10647     {
10648       value = true
10649     };
10650   };
10651 
10652   template <>
10653   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
10654   {
10655     enum
10656     {
10657       value = true
10658     };
10659   };
10660 
10661   template <>
10662   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
10663   {
10664     enum
10665     {
10666       value = true
10667     };
10668   };
10669 
10670   template <>
10671   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
10672   {
10673     enum
10674     {
10675       value = true
10676     };
10677   };
10678 
10679   template <>
10680   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
10681   {
10682     enum
10683     {
10684       value = true
10685     };
10686   };
10687 
10688   //=== VK_NV_corner_sampled_image ===
10689   template <>
10690   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
10691   {
10692     enum
10693     {
10694       value = true
10695     };
10696   };
10697 
10698   template <>
10699   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
10700   {
10701     enum
10702     {
10703       value = true
10704     };
10705   };
10706 
10707   //=== VK_NV_external_memory ===
10708   template <>
10709   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
10710   {
10711     enum
10712     {
10713       value = true
10714     };
10715   };
10716 
10717   template <>
10718   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
10719   {
10720     enum
10721     {
10722       value = true
10723     };
10724   };
10725 
10726 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10727   //=== VK_NV_external_memory_win32 ===
10728   template <>
10729   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10730   {
10731     enum
10732     {
10733       value = true
10734     };
10735   };
10736 
10737   template <>
10738   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
10739   {
10740     enum
10741     {
10742       value = true
10743     };
10744   };
10745 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10746 
10747 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10748   //=== VK_NV_win32_keyed_mutex ===
10749   template <>
10750   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
10751   {
10752     enum
10753     {
10754       value = true
10755     };
10756   };
10757 
10758   template <>
10759   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
10760   {
10761     enum
10762     {
10763       value = true
10764     };
10765   };
10766 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10767 
10768   //=== VK_EXT_validation_flags ===
10769   template <>
10770   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
10771   {
10772     enum
10773     {
10774       value = true
10775     };
10776   };
10777 
10778   //=== VK_EXT_astc_decode_mode ===
10779   template <>
10780   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
10781   {
10782     enum
10783     {
10784       value = true
10785     };
10786   };
10787 
10788   template <>
10789   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
10790   {
10791     enum
10792     {
10793       value = true
10794     };
10795   };
10796 
10797   template <>
10798   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
10799   {
10800     enum
10801     {
10802       value = true
10803     };
10804   };
10805 
10806   //=== VK_EXT_pipeline_robustness ===
10807   template <>
10808   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
10809   {
10810     enum
10811     {
10812       value = true
10813     };
10814   };
10815 
10816   template <>
10817   struct StructExtends<PhysicalDevicePipelineRobustnessFeaturesEXT, DeviceCreateInfo>
10818   {
10819     enum
10820     {
10821       value = true
10822     };
10823   };
10824 
10825   template <>
10826   struct StructExtends<PhysicalDevicePipelineRobustnessPropertiesEXT, PhysicalDeviceProperties2>
10827   {
10828     enum
10829     {
10830       value = true
10831     };
10832   };
10833 
10834   template <>
10835   struct StructExtends<PipelineRobustnessCreateInfoEXT, GraphicsPipelineCreateInfo>
10836   {
10837     enum
10838     {
10839       value = true
10840     };
10841   };
10842 
10843   template <>
10844   struct StructExtends<PipelineRobustnessCreateInfoEXT, ComputePipelineCreateInfo>
10845   {
10846     enum
10847     {
10848       value = true
10849     };
10850   };
10851 
10852   template <>
10853   struct StructExtends<PipelineRobustnessCreateInfoEXT, PipelineShaderStageCreateInfo>
10854   {
10855     enum
10856     {
10857       value = true
10858     };
10859   };
10860 
10861   template <>
10862   struct StructExtends<PipelineRobustnessCreateInfoEXT, RayTracingPipelineCreateInfoKHR>
10863   {
10864     enum
10865     {
10866       value = true
10867     };
10868   };
10869 
10870 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10871   //=== VK_KHR_external_memory_win32 ===
10872   template <>
10873   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10874   {
10875     enum
10876     {
10877       value = true
10878     };
10879   };
10880 
10881   template <>
10882   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
10883   {
10884     enum
10885     {
10886       value = true
10887     };
10888   };
10889 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10890 
10891   //=== VK_KHR_external_memory_fd ===
10892   template <>
10893   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
10894   {
10895     enum
10896     {
10897       value = true
10898     };
10899   };
10900 
10901 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10902   //=== VK_KHR_win32_keyed_mutex ===
10903   template <>
10904   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
10905   {
10906     enum
10907     {
10908       value = true
10909     };
10910   };
10911 
10912   template <>
10913   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
10914   {
10915     enum
10916     {
10917       value = true
10918     };
10919   };
10920 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10921 
10922 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
10923   //=== VK_KHR_external_semaphore_win32 ===
10924   template <>
10925   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
10926   {
10927     enum
10928     {
10929       value = true
10930     };
10931   };
10932 
10933   template <>
10934   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
10935   {
10936     enum
10937     {
10938       value = true
10939     };
10940   };
10941 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
10942 
10943   //=== VK_KHR_push_descriptor ===
10944   template <>
10945   struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
10946   {
10947     enum
10948     {
10949       value = true
10950     };
10951   };
10952 
10953   //=== VK_EXT_conditional_rendering ===
10954   template <>
10955   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
10956   {
10957     enum
10958     {
10959       value = true
10960     };
10961   };
10962 
10963   template <>
10964   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
10965   {
10966     enum
10967     {
10968       value = true
10969     };
10970   };
10971 
10972   template <>
10973   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
10974   {
10975     enum
10976     {
10977       value = true
10978     };
10979   };
10980 
10981   //=== VK_KHR_incremental_present ===
10982   template <>
10983   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
10984   {
10985     enum
10986     {
10987       value = true
10988     };
10989   };
10990 
10991   //=== VK_NV_clip_space_w_scaling ===
10992   template <>
10993   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
10994   {
10995     enum
10996     {
10997       value = true
10998     };
10999   };
11000 
11001   //=== VK_EXT_display_control ===
11002   template <>
11003   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11004   {
11005     enum
11006     {
11007       value = true
11008     };
11009   };
11010 
11011   //=== VK_GOOGLE_display_timing ===
11012   template <>
11013   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11014   {
11015     enum
11016     {
11017       value = true
11018     };
11019   };
11020 
11021   //=== VK_NVX_multiview_per_view_attributes ===
11022   template <>
11023   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11024   {
11025     enum
11026     {
11027       value = true
11028     };
11029   };
11030 
11031   //=== VK_NV_viewport_swizzle ===
11032   template <>
11033   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11034   {
11035     enum
11036     {
11037       value = true
11038     };
11039   };
11040 
11041   //=== VK_EXT_discard_rectangles ===
11042   template <>
11043   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11044   {
11045     enum
11046     {
11047       value = true
11048     };
11049   };
11050 
11051   template <>
11052   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11053   {
11054     enum
11055     {
11056       value = true
11057     };
11058   };
11059 
11060   //=== VK_EXT_conservative_rasterization ===
11061   template <>
11062   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11063   {
11064     enum
11065     {
11066       value = true
11067     };
11068   };
11069 
11070   template <>
11071   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11072   {
11073     enum
11074     {
11075       value = true
11076     };
11077   };
11078 
11079   //=== VK_EXT_depth_clip_enable ===
11080   template <>
11081   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11082   {
11083     enum
11084     {
11085       value = true
11086     };
11087   };
11088 
11089   template <>
11090   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11091   {
11092     enum
11093     {
11094       value = true
11095     };
11096   };
11097 
11098   template <>
11099   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11100   {
11101     enum
11102     {
11103       value = true
11104     };
11105   };
11106 
11107   //=== VK_IMG_relaxed_line_rasterization ===
11108   template <>
11109   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11110   {
11111     enum
11112     {
11113       value = true
11114     };
11115   };
11116 
11117   template <>
11118   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11119   {
11120     enum
11121     {
11122       value = true
11123     };
11124   };
11125 
11126   //=== VK_KHR_shared_presentable_image ===
11127   template <>
11128   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11129   {
11130     enum
11131     {
11132       value = true
11133     };
11134   };
11135 
11136 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11137   //=== VK_KHR_external_fence_win32 ===
11138   template <>
11139   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11140   {
11141     enum
11142     {
11143       value = true
11144     };
11145   };
11146 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11147 
11148   //=== VK_KHR_performance_query ===
11149   template <>
11150   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
11151   {
11152     enum
11153     {
11154       value = true
11155     };
11156   };
11157 
11158   template <>
11159   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
11160   {
11161     enum
11162     {
11163       value = true
11164     };
11165   };
11166 
11167   template <>
11168   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
11169   {
11170     enum
11171     {
11172       value = true
11173     };
11174   };
11175 
11176   template <>
11177   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
11178   {
11179     enum
11180     {
11181       value = true
11182     };
11183   };
11184 
11185   template <>
11186   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
11187   {
11188     enum
11189     {
11190       value = true
11191     };
11192   };
11193 
11194   template <>
11195   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
11196   {
11197     enum
11198     {
11199       value = true
11200     };
11201   };
11202 
11203   //=== VK_EXT_debug_utils ===
11204   template <>
11205   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
11206   {
11207     enum
11208     {
11209       value = true
11210     };
11211   };
11212 
11213   template <>
11214   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
11215   {
11216     enum
11217     {
11218       value = true
11219     };
11220   };
11221 
11222 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
11223   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
11224   template <>
11225   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
11226   {
11227     enum
11228     {
11229       value = true
11230     };
11231   };
11232 
11233   template <>
11234   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
11235   {
11236     enum
11237     {
11238       value = true
11239     };
11240   };
11241 
11242   template <>
11243   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
11244   {
11245     enum
11246     {
11247       value = true
11248     };
11249   };
11250 
11251   template <>
11252   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
11253   {
11254     enum
11255     {
11256       value = true
11257     };
11258   };
11259 
11260   template <>
11261   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
11262   {
11263     enum
11264     {
11265       value = true
11266     };
11267   };
11268 
11269   template <>
11270   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
11271   {
11272     enum
11273     {
11274       value = true
11275     };
11276   };
11277 
11278   template <>
11279   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
11280   {
11281     enum
11282     {
11283       value = true
11284     };
11285   };
11286 
11287   template <>
11288   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
11289   {
11290     enum
11291     {
11292       value = true
11293     };
11294   };
11295 
11296   template <>
11297   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
11298   {
11299     enum
11300     {
11301       value = true
11302     };
11303   };
11304 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11305 
11306 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11307   //=== VK_AMDX_shader_enqueue ===
11308   template <>
11309   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
11310   {
11311     enum
11312     {
11313       value = true
11314     };
11315   };
11316 
11317   template <>
11318   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
11319   {
11320     enum
11321     {
11322       value = true
11323     };
11324   };
11325 
11326   template <>
11327   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
11328   {
11329     enum
11330     {
11331       value = true
11332     };
11333   };
11334 
11335   template <>
11336   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
11337   {
11338     enum
11339     {
11340       value = true
11341     };
11342   };
11343 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11344 
11345   //=== VK_EXT_sample_locations ===
11346   template <>
11347   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
11348   {
11349     enum
11350     {
11351       value = true
11352     };
11353   };
11354 
11355   template <>
11356   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
11357   {
11358     enum
11359     {
11360       value = true
11361     };
11362   };
11363 
11364   template <>
11365   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
11366   {
11367     enum
11368     {
11369       value = true
11370     };
11371   };
11372 
11373   template <>
11374   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
11375   {
11376     enum
11377     {
11378       value = true
11379     };
11380   };
11381 
11382   template <>
11383   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
11384   {
11385     enum
11386     {
11387       value = true
11388     };
11389   };
11390 
11391   //=== VK_EXT_blend_operation_advanced ===
11392   template <>
11393   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
11394   {
11395     enum
11396     {
11397       value = true
11398     };
11399   };
11400 
11401   template <>
11402   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
11403   {
11404     enum
11405     {
11406       value = true
11407     };
11408   };
11409 
11410   template <>
11411   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
11412   {
11413     enum
11414     {
11415       value = true
11416     };
11417   };
11418 
11419   template <>
11420   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
11421   {
11422     enum
11423     {
11424       value = true
11425     };
11426   };
11427 
11428   //=== VK_NV_fragment_coverage_to_color ===
11429   template <>
11430   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11431   {
11432     enum
11433     {
11434       value = true
11435     };
11436   };
11437 
11438   //=== VK_KHR_acceleration_structure ===
11439   template <>
11440   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
11441   {
11442     enum
11443     {
11444       value = true
11445     };
11446   };
11447 
11448   template <>
11449   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
11450   {
11451     enum
11452     {
11453       value = true
11454     };
11455   };
11456 
11457   template <>
11458   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
11459   {
11460     enum
11461     {
11462       value = true
11463     };
11464   };
11465 
11466   template <>
11467   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
11468   {
11469     enum
11470     {
11471       value = true
11472     };
11473   };
11474 
11475   //=== VK_KHR_ray_tracing_pipeline ===
11476   template <>
11477   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
11478   {
11479     enum
11480     {
11481       value = true
11482     };
11483   };
11484 
11485   template <>
11486   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
11487   {
11488     enum
11489     {
11490       value = true
11491     };
11492   };
11493 
11494   template <>
11495   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
11496   {
11497     enum
11498     {
11499       value = true
11500     };
11501   };
11502 
11503   //=== VK_KHR_ray_query ===
11504   template <>
11505   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
11506   {
11507     enum
11508     {
11509       value = true
11510     };
11511   };
11512 
11513   template <>
11514   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
11515   {
11516     enum
11517     {
11518       value = true
11519     };
11520   };
11521 
11522   //=== VK_NV_framebuffer_mixed_samples ===
11523   template <>
11524   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
11525   {
11526     enum
11527     {
11528       value = true
11529     };
11530   };
11531 
11532   //=== VK_NV_shader_sm_builtins ===
11533   template <>
11534   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
11535   {
11536     enum
11537     {
11538       value = true
11539     };
11540   };
11541 
11542   template <>
11543   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
11544   {
11545     enum
11546     {
11547       value = true
11548     };
11549   };
11550 
11551   template <>
11552   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
11553   {
11554     enum
11555     {
11556       value = true
11557     };
11558   };
11559 
11560   //=== VK_EXT_image_drm_format_modifier ===
11561   template <>
11562   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
11563   {
11564     enum
11565     {
11566       value = true
11567     };
11568   };
11569 
11570   template <>
11571   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
11572   {
11573     enum
11574     {
11575       value = true
11576     };
11577   };
11578 
11579   template <>
11580   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
11581   {
11582     enum
11583     {
11584       value = true
11585     };
11586   };
11587 
11588   template <>
11589   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
11590   {
11591     enum
11592     {
11593       value = true
11594     };
11595   };
11596 
11597   template <>
11598   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
11599   {
11600     enum
11601     {
11602       value = true
11603     };
11604   };
11605 
11606   //=== VK_EXT_validation_cache ===
11607   template <>
11608   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
11609   {
11610     enum
11611     {
11612       value = true
11613     };
11614   };
11615 
11616   template <>
11617   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
11618   {
11619     enum
11620     {
11621       value = true
11622     };
11623   };
11624 
11625 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11626   //=== VK_KHR_portability_subset ===
11627   template <>
11628   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
11629   {
11630     enum
11631     {
11632       value = true
11633     };
11634   };
11635 
11636   template <>
11637   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
11638   {
11639     enum
11640     {
11641       value = true
11642     };
11643   };
11644 
11645   template <>
11646   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
11647   {
11648     enum
11649     {
11650       value = true
11651     };
11652   };
11653 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11654 
11655   //=== VK_NV_shading_rate_image ===
11656   template <>
11657   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
11658   {
11659     enum
11660     {
11661       value = true
11662     };
11663   };
11664 
11665   template <>
11666   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
11667   {
11668     enum
11669     {
11670       value = true
11671     };
11672   };
11673 
11674   template <>
11675   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
11676   {
11677     enum
11678     {
11679       value = true
11680     };
11681   };
11682 
11683   template <>
11684   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
11685   {
11686     enum
11687     {
11688       value = true
11689     };
11690   };
11691 
11692   template <>
11693   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
11694   {
11695     enum
11696     {
11697       value = true
11698     };
11699   };
11700 
11701   //=== VK_NV_ray_tracing ===
11702   template <>
11703   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
11704   {
11705     enum
11706     {
11707       value = true
11708     };
11709   };
11710 
11711   template <>
11712   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
11713   {
11714     enum
11715     {
11716       value = true
11717     };
11718   };
11719 
11720   //=== VK_NV_representative_fragment_test ===
11721   template <>
11722   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
11723   {
11724     enum
11725     {
11726       value = true
11727     };
11728   };
11729 
11730   template <>
11731   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
11732   {
11733     enum
11734     {
11735       value = true
11736     };
11737   };
11738 
11739   template <>
11740   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
11741   {
11742     enum
11743     {
11744       value = true
11745     };
11746   };
11747 
11748   //=== VK_EXT_filter_cubic ===
11749   template <>
11750   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
11751   {
11752     enum
11753     {
11754       value = true
11755     };
11756   };
11757 
11758   template <>
11759   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
11760   {
11761     enum
11762     {
11763       value = true
11764     };
11765   };
11766 
11767   //=== VK_EXT_external_memory_host ===
11768   template <>
11769   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
11770   {
11771     enum
11772     {
11773       value = true
11774     };
11775   };
11776 
11777   template <>
11778   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
11779   {
11780     enum
11781     {
11782       value = true
11783     };
11784   };
11785 
11786   //=== VK_KHR_shader_clock ===
11787   template <>
11788   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
11789   {
11790     enum
11791     {
11792       value = true
11793     };
11794   };
11795 
11796   template <>
11797   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
11798   {
11799     enum
11800     {
11801       value = true
11802     };
11803   };
11804 
11805   //=== VK_AMD_pipeline_compiler_control ===
11806   template <>
11807   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
11808   {
11809     enum
11810     {
11811       value = true
11812     };
11813   };
11814 
11815   template <>
11816   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
11817   {
11818     enum
11819     {
11820       value = true
11821     };
11822   };
11823 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11824   template <>
11825   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
11826   {
11827     enum
11828     {
11829       value = true
11830     };
11831   };
11832 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11833 
11834   //=== VK_AMD_shader_core_properties ===
11835   template <>
11836   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
11837   {
11838     enum
11839     {
11840       value = true
11841     };
11842   };
11843 
11844   //=== VK_KHR_video_decode_h265 ===
11845   template <>
11846   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11847   {
11848     enum
11849     {
11850       value = true
11851     };
11852   };
11853 
11854   template <>
11855   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11856   {
11857     enum
11858     {
11859       value = true
11860     };
11861   };
11862 
11863   template <>
11864   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11865   {
11866     enum
11867     {
11868       value = true
11869     };
11870   };
11871 
11872   template <>
11873   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11874   {
11875     enum
11876     {
11877       value = true
11878     };
11879   };
11880 
11881   template <>
11882   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11883   {
11884     enum
11885     {
11886       value = true
11887     };
11888   };
11889 
11890   template <>
11891   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
11892   {
11893     enum
11894     {
11895       value = true
11896     };
11897   };
11898 
11899   template <>
11900   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11901   {
11902     enum
11903     {
11904       value = true
11905     };
11906   };
11907 
11908   //=== VK_KHR_global_priority ===
11909   template <>
11910   struct StructExtends<DeviceQueueGlobalPriorityCreateInfoKHR, DeviceQueueCreateInfo>
11911   {
11912     enum
11913     {
11914       value = true
11915     };
11916   };
11917 
11918   template <>
11919   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, PhysicalDeviceFeatures2>
11920   {
11921     enum
11922     {
11923       value = true
11924     };
11925   };
11926 
11927   template <>
11928   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, DeviceCreateInfo>
11929   {
11930     enum
11931     {
11932       value = true
11933     };
11934   };
11935 
11936   template <>
11937   struct StructExtends<QueueFamilyGlobalPriorityPropertiesKHR, QueueFamilyProperties2>
11938   {
11939     enum
11940     {
11941       value = true
11942     };
11943   };
11944 
11945   //=== VK_AMD_memory_overallocation_behavior ===
11946   template <>
11947   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
11948   {
11949     enum
11950     {
11951       value = true
11952     };
11953   };
11954 
11955   //=== VK_EXT_vertex_attribute_divisor ===
11956   template <>
11957   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
11958   {
11959     enum
11960     {
11961       value = true
11962     };
11963   };
11964 
11965 #  if defined( VK_USE_PLATFORM_GGP )
11966   //=== VK_GGP_frame_token ===
11967   template <>
11968   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
11969   {
11970     enum
11971     {
11972       value = true
11973     };
11974   };
11975 #  endif /*VK_USE_PLATFORM_GGP*/
11976 
11977   //=== VK_NV_compute_shader_derivatives ===
11978   template <>
11979   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
11980   {
11981     enum
11982     {
11983       value = true
11984     };
11985   };
11986 
11987   template <>
11988   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
11989   {
11990     enum
11991     {
11992       value = true
11993     };
11994   };
11995 
11996   //=== VK_NV_mesh_shader ===
11997   template <>
11998   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
11999   {
12000     enum
12001     {
12002       value = true
12003     };
12004   };
12005 
12006   template <>
12007   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12008   {
12009     enum
12010     {
12011       value = true
12012     };
12013   };
12014 
12015   template <>
12016   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12017   {
12018     enum
12019     {
12020       value = true
12021     };
12022   };
12023 
12024   //=== VK_NV_shader_image_footprint ===
12025   template <>
12026   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12027   {
12028     enum
12029     {
12030       value = true
12031     };
12032   };
12033 
12034   template <>
12035   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12036   {
12037     enum
12038     {
12039       value = true
12040     };
12041   };
12042 
12043   //=== VK_NV_scissor_exclusive ===
12044   template <>
12045   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12046   {
12047     enum
12048     {
12049       value = true
12050     };
12051   };
12052 
12053   template <>
12054   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12055   {
12056     enum
12057     {
12058       value = true
12059     };
12060   };
12061 
12062   template <>
12063   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12064   {
12065     enum
12066     {
12067       value = true
12068     };
12069   };
12070 
12071   //=== VK_NV_device_diagnostic_checkpoints ===
12072   template <>
12073   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12074   {
12075     enum
12076     {
12077       value = true
12078     };
12079   };
12080 
12081   //=== VK_INTEL_shader_integer_functions2 ===
12082   template <>
12083   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12084   {
12085     enum
12086     {
12087       value = true
12088     };
12089   };
12090 
12091   template <>
12092   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12093   {
12094     enum
12095     {
12096       value = true
12097     };
12098   };
12099 
12100   //=== VK_INTEL_performance_query ===
12101   template <>
12102   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12103   {
12104     enum
12105     {
12106       value = true
12107     };
12108   };
12109 
12110   //=== VK_EXT_pci_bus_info ===
12111   template <>
12112   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12113   {
12114     enum
12115     {
12116       value = true
12117     };
12118   };
12119 
12120   //=== VK_AMD_display_native_hdr ===
12121   template <>
12122   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12123   {
12124     enum
12125     {
12126       value = true
12127     };
12128   };
12129 
12130   template <>
12131   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12132   {
12133     enum
12134     {
12135       value = true
12136     };
12137   };
12138 
12139   //=== VK_EXT_fragment_density_map ===
12140   template <>
12141   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12142   {
12143     enum
12144     {
12145       value = true
12146     };
12147   };
12148 
12149   template <>
12150   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12151   {
12152     enum
12153     {
12154       value = true
12155     };
12156   };
12157 
12158   template <>
12159   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12160   {
12161     enum
12162     {
12163       value = true
12164     };
12165   };
12166 
12167   template <>
12168   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12169   {
12170     enum
12171     {
12172       value = true
12173     };
12174   };
12175 
12176   template <>
12177   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
12178   {
12179     enum
12180     {
12181       value = true
12182     };
12183   };
12184 
12185   //=== VK_KHR_fragment_shading_rate ===
12186   template <>
12187   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
12188   {
12189     enum
12190     {
12191       value = true
12192     };
12193   };
12194 
12195   template <>
12196   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
12197   {
12198     enum
12199     {
12200       value = true
12201     };
12202   };
12203 
12204   template <>
12205   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
12206   {
12207     enum
12208     {
12209       value = true
12210     };
12211   };
12212 
12213   template <>
12214   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
12215   {
12216     enum
12217     {
12218       value = true
12219     };
12220   };
12221 
12222   template <>
12223   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
12224   {
12225     enum
12226     {
12227       value = true
12228     };
12229   };
12230 
12231   //=== VK_AMD_shader_core_properties2 ===
12232   template <>
12233   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
12234   {
12235     enum
12236     {
12237       value = true
12238     };
12239   };
12240 
12241   //=== VK_AMD_device_coherent_memory ===
12242   template <>
12243   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
12244   {
12245     enum
12246     {
12247       value = true
12248     };
12249   };
12250 
12251   template <>
12252   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
12253   {
12254     enum
12255     {
12256       value = true
12257     };
12258   };
12259 
12260   //=== VK_EXT_shader_image_atomic_int64 ===
12261   template <>
12262   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
12263   {
12264     enum
12265     {
12266       value = true
12267     };
12268   };
12269 
12270   template <>
12271   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
12272   {
12273     enum
12274     {
12275       value = true
12276     };
12277   };
12278 
12279   //=== VK_EXT_memory_budget ===
12280   template <>
12281   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
12282   {
12283     enum
12284     {
12285       value = true
12286     };
12287   };
12288 
12289   //=== VK_EXT_memory_priority ===
12290   template <>
12291   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
12292   {
12293     enum
12294     {
12295       value = true
12296     };
12297   };
12298 
12299   template <>
12300   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
12301   {
12302     enum
12303     {
12304       value = true
12305     };
12306   };
12307 
12308   template <>
12309   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
12310   {
12311     enum
12312     {
12313       value = true
12314     };
12315   };
12316 
12317   //=== VK_KHR_surface_protected_capabilities ===
12318   template <>
12319   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
12320   {
12321     enum
12322     {
12323       value = true
12324     };
12325   };
12326 
12327   //=== VK_NV_dedicated_allocation_image_aliasing ===
12328   template <>
12329   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
12330   {
12331     enum
12332     {
12333       value = true
12334     };
12335   };
12336 
12337   template <>
12338   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
12339   {
12340     enum
12341     {
12342       value = true
12343     };
12344   };
12345 
12346   //=== VK_EXT_buffer_device_address ===
12347   template <>
12348   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
12349   {
12350     enum
12351     {
12352       value = true
12353     };
12354   };
12355 
12356   template <>
12357   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
12358   {
12359     enum
12360     {
12361       value = true
12362     };
12363   };
12364 
12365   template <>
12366   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
12367   {
12368     enum
12369     {
12370       value = true
12371     };
12372   };
12373 
12374   //=== VK_EXT_validation_features ===
12375   template <>
12376   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
12377   {
12378     enum
12379     {
12380       value = true
12381     };
12382   };
12383 
12384   //=== VK_KHR_present_wait ===
12385   template <>
12386   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
12387   {
12388     enum
12389     {
12390       value = true
12391     };
12392   };
12393 
12394   template <>
12395   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
12396   {
12397     enum
12398     {
12399       value = true
12400     };
12401   };
12402 
12403   //=== VK_NV_cooperative_matrix ===
12404   template <>
12405   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
12406   {
12407     enum
12408     {
12409       value = true
12410     };
12411   };
12412 
12413   template <>
12414   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
12415   {
12416     enum
12417     {
12418       value = true
12419     };
12420   };
12421 
12422   template <>
12423   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
12424   {
12425     enum
12426     {
12427       value = true
12428     };
12429   };
12430 
12431   //=== VK_NV_coverage_reduction_mode ===
12432   template <>
12433   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
12434   {
12435     enum
12436     {
12437       value = true
12438     };
12439   };
12440 
12441   template <>
12442   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
12443   {
12444     enum
12445     {
12446       value = true
12447     };
12448   };
12449 
12450   template <>
12451   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12452   {
12453     enum
12454     {
12455       value = true
12456     };
12457   };
12458 
12459   //=== VK_EXT_fragment_shader_interlock ===
12460   template <>
12461   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
12462   {
12463     enum
12464     {
12465       value = true
12466     };
12467   };
12468 
12469   template <>
12470   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
12471   {
12472     enum
12473     {
12474       value = true
12475     };
12476   };
12477 
12478   //=== VK_EXT_ycbcr_image_arrays ===
12479   template <>
12480   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
12481   {
12482     enum
12483     {
12484       value = true
12485     };
12486   };
12487 
12488   template <>
12489   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
12490   {
12491     enum
12492     {
12493       value = true
12494     };
12495   };
12496 
12497   //=== VK_EXT_provoking_vertex ===
12498   template <>
12499   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
12500   {
12501     enum
12502     {
12503       value = true
12504     };
12505   };
12506 
12507   template <>
12508   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
12509   {
12510     enum
12511     {
12512       value = true
12513     };
12514   };
12515 
12516   template <>
12517   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
12518   {
12519     enum
12520     {
12521       value = true
12522     };
12523   };
12524 
12525   template <>
12526   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
12527   {
12528     enum
12529     {
12530       value = true
12531     };
12532   };
12533 
12534 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
12535   //=== VK_EXT_full_screen_exclusive ===
12536   template <>
12537   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12538   {
12539     enum
12540     {
12541       value = true
12542     };
12543   };
12544 
12545   template <>
12546   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
12547   {
12548     enum
12549     {
12550       value = true
12551     };
12552   };
12553 
12554   template <>
12555   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
12556   {
12557     enum
12558     {
12559       value = true
12560     };
12561   };
12562 
12563   template <>
12564   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
12565   {
12566     enum
12567     {
12568       value = true
12569     };
12570   };
12571 
12572   template <>
12573   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
12574   {
12575     enum
12576     {
12577       value = true
12578     };
12579   };
12580 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
12581 
12582   //=== VK_EXT_line_rasterization ===
12583   template <>
12584   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
12585   {
12586     enum
12587     {
12588       value = true
12589     };
12590   };
12591 
12592   template <>
12593   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
12594   {
12595     enum
12596     {
12597       value = true
12598     };
12599   };
12600 
12601   template <>
12602   struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
12603   {
12604     enum
12605     {
12606       value = true
12607     };
12608   };
12609 
12610   template <>
12611   struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
12612   {
12613     enum
12614     {
12615       value = true
12616     };
12617   };
12618 
12619   //=== VK_EXT_shader_atomic_float ===
12620   template <>
12621   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
12622   {
12623     enum
12624     {
12625       value = true
12626     };
12627   };
12628 
12629   template <>
12630   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
12631   {
12632     enum
12633     {
12634       value = true
12635     };
12636   };
12637 
12638   //=== VK_EXT_index_type_uint8 ===
12639   template <>
12640   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
12641   {
12642     enum
12643     {
12644       value = true
12645     };
12646   };
12647 
12648   template <>
12649   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
12650   {
12651     enum
12652     {
12653       value = true
12654     };
12655   };
12656 
12657   //=== VK_EXT_extended_dynamic_state ===
12658   template <>
12659   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
12660   {
12661     enum
12662     {
12663       value = true
12664     };
12665   };
12666 
12667   template <>
12668   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
12669   {
12670     enum
12671     {
12672       value = true
12673     };
12674   };
12675 
12676   //=== VK_KHR_pipeline_executable_properties ===
12677   template <>
12678   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
12679   {
12680     enum
12681     {
12682       value = true
12683     };
12684   };
12685 
12686   template <>
12687   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
12688   {
12689     enum
12690     {
12691       value = true
12692     };
12693   };
12694 
12695   //=== VK_EXT_host_image_copy ===
12696   template <>
12697   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, PhysicalDeviceFeatures2>
12698   {
12699     enum
12700     {
12701       value = true
12702     };
12703   };
12704 
12705   template <>
12706   struct StructExtends<PhysicalDeviceHostImageCopyFeaturesEXT, DeviceCreateInfo>
12707   {
12708     enum
12709     {
12710       value = true
12711     };
12712   };
12713 
12714   template <>
12715   struct StructExtends<PhysicalDeviceHostImageCopyPropertiesEXT, PhysicalDeviceProperties2>
12716   {
12717     enum
12718     {
12719       value = true
12720     };
12721   };
12722 
12723   template <>
12724   struct StructExtends<SubresourceHostMemcpySizeEXT, SubresourceLayout2KHR>
12725   {
12726     enum
12727     {
12728       value = true
12729     };
12730   };
12731 
12732   template <>
12733   struct StructExtends<HostImageCopyDevicePerformanceQueryEXT, ImageFormatProperties2>
12734   {
12735     enum
12736     {
12737       value = true
12738     };
12739   };
12740 
12741   //=== VK_EXT_shader_atomic_float2 ===
12742   template <>
12743   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
12744   {
12745     enum
12746     {
12747       value = true
12748     };
12749   };
12750 
12751   template <>
12752   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
12753   {
12754     enum
12755     {
12756       value = true
12757     };
12758   };
12759 
12760   //=== VK_EXT_surface_maintenance1 ===
12761   template <>
12762   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
12763   {
12764     enum
12765     {
12766       value = true
12767     };
12768   };
12769 
12770   template <>
12771   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
12772   {
12773     enum
12774     {
12775       value = true
12776     };
12777   };
12778 
12779   template <>
12780   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
12781   {
12782     enum
12783     {
12784       value = true
12785     };
12786   };
12787 
12788   //=== VK_EXT_swapchain_maintenance1 ===
12789   template <>
12790   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
12791   {
12792     enum
12793     {
12794       value = true
12795     };
12796   };
12797 
12798   template <>
12799   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
12800   {
12801     enum
12802     {
12803       value = true
12804     };
12805   };
12806 
12807   template <>
12808   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
12809   {
12810     enum
12811     {
12812       value = true
12813     };
12814   };
12815 
12816   template <>
12817   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
12818   {
12819     enum
12820     {
12821       value = true
12822     };
12823   };
12824 
12825   template <>
12826   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
12827   {
12828     enum
12829     {
12830       value = true
12831     };
12832   };
12833 
12834   template <>
12835   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
12836   {
12837     enum
12838     {
12839       value = true
12840     };
12841   };
12842 
12843   //=== VK_NV_device_generated_commands ===
12844   template <>
12845   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
12846   {
12847     enum
12848     {
12849       value = true
12850     };
12851   };
12852 
12853   template <>
12854   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
12855   {
12856     enum
12857     {
12858       value = true
12859     };
12860   };
12861 
12862   template <>
12863   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
12864   {
12865     enum
12866     {
12867       value = true
12868     };
12869   };
12870 
12871   template <>
12872   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
12873   {
12874     enum
12875     {
12876       value = true
12877     };
12878   };
12879 
12880   //=== VK_NV_inherited_viewport_scissor ===
12881   template <>
12882   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
12883   {
12884     enum
12885     {
12886       value = true
12887     };
12888   };
12889 
12890   template <>
12891   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
12892   {
12893     enum
12894     {
12895       value = true
12896     };
12897   };
12898 
12899   template <>
12900   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
12901   {
12902     enum
12903     {
12904       value = true
12905     };
12906   };
12907 
12908   //=== VK_EXT_texel_buffer_alignment ===
12909   template <>
12910   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
12911   {
12912     enum
12913     {
12914       value = true
12915     };
12916   };
12917 
12918   template <>
12919   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
12920   {
12921     enum
12922     {
12923       value = true
12924     };
12925   };
12926 
12927   //=== VK_QCOM_render_pass_transform ===
12928   template <>
12929   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
12930   {
12931     enum
12932     {
12933       value = true
12934     };
12935   };
12936 
12937   template <>
12938   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
12939   {
12940     enum
12941     {
12942       value = true
12943     };
12944   };
12945 
12946   //=== VK_EXT_depth_bias_control ===
12947   template <>
12948   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
12949   {
12950     enum
12951     {
12952       value = true
12953     };
12954   };
12955 
12956   template <>
12957   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
12958   {
12959     enum
12960     {
12961       value = true
12962     };
12963   };
12964 
12965   template <>
12966   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
12967   {
12968     enum
12969     {
12970       value = true
12971     };
12972   };
12973 
12974   template <>
12975   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
12976   {
12977     enum
12978     {
12979       value = true
12980     };
12981   };
12982 
12983   //=== VK_EXT_device_memory_report ===
12984   template <>
12985   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
12986   {
12987     enum
12988     {
12989       value = true
12990     };
12991   };
12992 
12993   template <>
12994   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
12995   {
12996     enum
12997     {
12998       value = true
12999     };
13000   };
13001 
13002   template <>
13003   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13004   {
13005     enum
13006     {
13007       value = true
13008     };
13009   };
13010 
13011   //=== VK_EXT_robustness2 ===
13012   template <>
13013   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13014   {
13015     enum
13016     {
13017       value = true
13018     };
13019   };
13020 
13021   template <>
13022   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13023   {
13024     enum
13025     {
13026       value = true
13027     };
13028   };
13029 
13030   template <>
13031   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13032   {
13033     enum
13034     {
13035       value = true
13036     };
13037   };
13038 
13039   //=== VK_EXT_custom_border_color ===
13040   template <>
13041   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13042   {
13043     enum
13044     {
13045       value = true
13046     };
13047   };
13048 
13049   template <>
13050   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13051   {
13052     enum
13053     {
13054       value = true
13055     };
13056   };
13057 
13058   template <>
13059   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13060   {
13061     enum
13062     {
13063       value = true
13064     };
13065   };
13066 
13067   template <>
13068   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13069   {
13070     enum
13071     {
13072       value = true
13073     };
13074   };
13075 
13076   //=== VK_KHR_pipeline_library ===
13077   template <>
13078   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13079   {
13080     enum
13081     {
13082       value = true
13083     };
13084   };
13085 
13086   //=== VK_NV_present_barrier ===
13087   template <>
13088   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13089   {
13090     enum
13091     {
13092       value = true
13093     };
13094   };
13095 
13096   template <>
13097   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13098   {
13099     enum
13100     {
13101       value = true
13102     };
13103   };
13104 
13105   template <>
13106   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13107   {
13108     enum
13109     {
13110       value = true
13111     };
13112   };
13113 
13114   template <>
13115   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13116   {
13117     enum
13118     {
13119       value = true
13120     };
13121   };
13122 
13123   //=== VK_KHR_present_id ===
13124   template <>
13125   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13126   {
13127     enum
13128     {
13129       value = true
13130     };
13131   };
13132 
13133   template <>
13134   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13135   {
13136     enum
13137     {
13138       value = true
13139     };
13140   };
13141 
13142   template <>
13143   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13144   {
13145     enum
13146     {
13147       value = true
13148     };
13149   };
13150 
13151   //=== VK_KHR_video_encode_queue ===
13152   template <>
13153   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13154   {
13155     enum
13156     {
13157       value = true
13158     };
13159   };
13160 
13161   template <>
13162   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13163   {
13164     enum
13165     {
13166       value = true
13167     };
13168   };
13169 
13170   template <>
13171   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13172   {
13173     enum
13174     {
13175       value = true
13176     };
13177   };
13178 
13179   template <>
13180   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13181   {
13182     enum
13183     {
13184       value = true
13185     };
13186   };
13187 
13188   template <>
13189   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
13190   {
13191     enum
13192     {
13193       value = true
13194     };
13195   };
13196 
13197   template <>
13198   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
13199   {
13200     enum
13201     {
13202       value = true
13203     };
13204   };
13205 
13206   template <>
13207   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
13208   {
13209     enum
13210     {
13211       value = true
13212     };
13213   };
13214 
13215   template <>
13216   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
13217   {
13218     enum
13219     {
13220       value = true
13221     };
13222   };
13223 
13224   //=== VK_NV_device_diagnostics_config ===
13225   template <>
13226   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
13227   {
13228     enum
13229     {
13230       value = true
13231     };
13232   };
13233 
13234   template <>
13235   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
13236   {
13237     enum
13238     {
13239       value = true
13240     };
13241   };
13242 
13243   template <>
13244   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
13245   {
13246     enum
13247     {
13248       value = true
13249     };
13250   };
13251 
13252 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
13253   //=== VK_NV_cuda_kernel_launch ===
13254   template <>
13255   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
13256   {
13257     enum
13258     {
13259       value = true
13260     };
13261   };
13262 
13263   template <>
13264   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
13265   {
13266     enum
13267     {
13268       value = true
13269     };
13270   };
13271 
13272   template <>
13273   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
13274   {
13275     enum
13276     {
13277       value = true
13278     };
13279   };
13280 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
13281 
13282   //=== VK_NV_low_latency ===
13283   template <>
13284   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
13285   {
13286     enum
13287     {
13288       value = true
13289     };
13290   };
13291 
13292 #  if defined( VK_USE_PLATFORM_METAL_EXT )
13293   //=== VK_EXT_metal_objects ===
13294   template <>
13295   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
13296   {
13297     enum
13298     {
13299       value = true
13300     };
13301   };
13302 
13303   template <>
13304   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
13305   {
13306     enum
13307     {
13308       value = true
13309     };
13310   };
13311 
13312   template <>
13313   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
13314   {
13315     enum
13316     {
13317       value = true
13318     };
13319   };
13320 
13321   template <>
13322   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
13323   {
13324     enum
13325     {
13326       value = true
13327     };
13328   };
13329 
13330   template <>
13331   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
13332   {
13333     enum
13334     {
13335       value = true
13336     };
13337   };
13338 
13339   template <>
13340   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
13341   {
13342     enum
13343     {
13344       value = true
13345     };
13346   };
13347 
13348   template <>
13349   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
13350   {
13351     enum
13352     {
13353       value = true
13354     };
13355   };
13356 
13357   template <>
13358   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
13359   {
13360     enum
13361     {
13362       value = true
13363     };
13364   };
13365 
13366   template <>
13367   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
13368   {
13369     enum
13370     {
13371       value = true
13372     };
13373   };
13374 
13375   template <>
13376   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
13377   {
13378     enum
13379     {
13380       value = true
13381     };
13382   };
13383 
13384   template <>
13385   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
13386   {
13387     enum
13388     {
13389       value = true
13390     };
13391   };
13392 
13393   template <>
13394   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
13395   {
13396     enum
13397     {
13398       value = true
13399     };
13400   };
13401 
13402   template <>
13403   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
13404   {
13405     enum
13406     {
13407       value = true
13408     };
13409   };
13410 
13411   template <>
13412   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
13413   {
13414     enum
13415     {
13416       value = true
13417     };
13418   };
13419 
13420   template <>
13421   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
13422   {
13423     enum
13424     {
13425       value = true
13426     };
13427   };
13428 
13429   template <>
13430   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
13431   {
13432     enum
13433     {
13434       value = true
13435     };
13436   };
13437 
13438   template <>
13439   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
13440   {
13441     enum
13442     {
13443       value = true
13444     };
13445   };
13446 
13447   template <>
13448   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
13449   {
13450     enum
13451     {
13452       value = true
13453     };
13454   };
13455 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
13456 
13457   //=== VK_KHR_synchronization2 ===
13458   template <>
13459   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
13460   {
13461     enum
13462     {
13463       value = true
13464     };
13465   };
13466 
13467   //=== VK_EXT_descriptor_buffer ===
13468   template <>
13469   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
13470   {
13471     enum
13472     {
13473       value = true
13474     };
13475   };
13476 
13477   template <>
13478   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
13479   {
13480     enum
13481     {
13482       value = true
13483     };
13484   };
13485 
13486   template <>
13487   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
13488   {
13489     enum
13490     {
13491       value = true
13492     };
13493   };
13494 
13495   template <>
13496   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
13497   {
13498     enum
13499     {
13500       value = true
13501     };
13502   };
13503 
13504   template <>
13505   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
13506   {
13507     enum
13508     {
13509       value = true
13510     };
13511   };
13512 
13513   template <>
13514   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
13515   {
13516     enum
13517     {
13518       value = true
13519     };
13520   };
13521 
13522   template <>
13523   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
13524   {
13525     enum
13526     {
13527       value = true
13528     };
13529   };
13530 
13531   template <>
13532   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
13533   {
13534     enum
13535     {
13536       value = true
13537     };
13538   };
13539 
13540   template <>
13541   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
13542   {
13543     enum
13544     {
13545       value = true
13546     };
13547   };
13548 
13549   template <>
13550   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
13551   {
13552     enum
13553     {
13554       value = true
13555     };
13556   };
13557 
13558   template <>
13559   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
13560   {
13561     enum
13562     {
13563       value = true
13564     };
13565   };
13566 
13567   //=== VK_EXT_graphics_pipeline_library ===
13568   template <>
13569   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
13570   {
13571     enum
13572     {
13573       value = true
13574     };
13575   };
13576 
13577   template <>
13578   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
13579   {
13580     enum
13581     {
13582       value = true
13583     };
13584   };
13585 
13586   template <>
13587   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
13588   {
13589     enum
13590     {
13591       value = true
13592     };
13593   };
13594 
13595   template <>
13596   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
13597   {
13598     enum
13599     {
13600       value = true
13601     };
13602   };
13603 
13604   //=== VK_AMD_shader_early_and_late_fragment_tests ===
13605   template <>
13606   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
13607   {
13608     enum
13609     {
13610       value = true
13611     };
13612   };
13613 
13614   template <>
13615   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
13616   {
13617     enum
13618     {
13619       value = true
13620     };
13621   };
13622 
13623   //=== VK_KHR_fragment_shader_barycentric ===
13624   template <>
13625   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
13626   {
13627     enum
13628     {
13629       value = true
13630     };
13631   };
13632 
13633   template <>
13634   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
13635   {
13636     enum
13637     {
13638       value = true
13639     };
13640   };
13641 
13642   template <>
13643   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
13644   {
13645     enum
13646     {
13647       value = true
13648     };
13649   };
13650 
13651   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
13652   template <>
13653   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
13654   {
13655     enum
13656     {
13657       value = true
13658     };
13659   };
13660 
13661   template <>
13662   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
13663   {
13664     enum
13665     {
13666       value = true
13667     };
13668   };
13669 
13670   //=== VK_NV_fragment_shading_rate_enums ===
13671   template <>
13672   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
13673   {
13674     enum
13675     {
13676       value = true
13677     };
13678   };
13679 
13680   template <>
13681   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
13682   {
13683     enum
13684     {
13685       value = true
13686     };
13687   };
13688 
13689   template <>
13690   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
13691   {
13692     enum
13693     {
13694       value = true
13695     };
13696   };
13697 
13698   template <>
13699   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
13700   {
13701     enum
13702     {
13703       value = true
13704     };
13705   };
13706 
13707   //=== VK_NV_ray_tracing_motion_blur ===
13708   template <>
13709   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
13710   {
13711     enum
13712     {
13713       value = true
13714     };
13715   };
13716 
13717   template <>
13718   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
13719   {
13720     enum
13721     {
13722       value = true
13723     };
13724   };
13725 
13726   template <>
13727   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
13728   {
13729     enum
13730     {
13731       value = true
13732     };
13733   };
13734 
13735   template <>
13736   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
13737   {
13738     enum
13739     {
13740       value = true
13741     };
13742   };
13743 
13744   //=== VK_EXT_mesh_shader ===
13745   template <>
13746   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
13747   {
13748     enum
13749     {
13750       value = true
13751     };
13752   };
13753 
13754   template <>
13755   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
13756   {
13757     enum
13758     {
13759       value = true
13760     };
13761   };
13762 
13763   template <>
13764   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
13765   {
13766     enum
13767     {
13768       value = true
13769     };
13770   };
13771 
13772   //=== VK_EXT_ycbcr_2plane_444_formats ===
13773   template <>
13774   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13775   {
13776     enum
13777     {
13778       value = true
13779     };
13780   };
13781 
13782   template <>
13783   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
13784   {
13785     enum
13786     {
13787       value = true
13788     };
13789   };
13790 
13791   //=== VK_EXT_fragment_density_map2 ===
13792   template <>
13793   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
13794   {
13795     enum
13796     {
13797       value = true
13798     };
13799   };
13800 
13801   template <>
13802   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
13803   {
13804     enum
13805     {
13806       value = true
13807     };
13808   };
13809 
13810   template <>
13811   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
13812   {
13813     enum
13814     {
13815       value = true
13816     };
13817   };
13818 
13819   //=== VK_QCOM_rotated_copy_commands ===
13820   template <>
13821   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
13822   {
13823     enum
13824     {
13825       value = true
13826     };
13827   };
13828 
13829   template <>
13830   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
13831   {
13832     enum
13833     {
13834       value = true
13835     };
13836   };
13837 
13838   //=== VK_KHR_workgroup_memory_explicit_layout ===
13839   template <>
13840   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
13841   {
13842     enum
13843     {
13844       value = true
13845     };
13846   };
13847 
13848   template <>
13849   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
13850   {
13851     enum
13852     {
13853       value = true
13854     };
13855   };
13856 
13857   //=== VK_EXT_image_compression_control ===
13858   template <>
13859   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
13860   {
13861     enum
13862     {
13863       value = true
13864     };
13865   };
13866 
13867   template <>
13868   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
13869   {
13870     enum
13871     {
13872       value = true
13873     };
13874   };
13875 
13876   template <>
13877   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
13878   {
13879     enum
13880     {
13881       value = true
13882     };
13883   };
13884 
13885   template <>
13886   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
13887   {
13888     enum
13889     {
13890       value = true
13891     };
13892   };
13893 
13894   template <>
13895   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
13896   {
13897     enum
13898     {
13899       value = true
13900     };
13901   };
13902 
13903   template <>
13904   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
13905   {
13906     enum
13907     {
13908       value = true
13909     };
13910   };
13911 
13912   template <>
13913   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
13914   {
13915     enum
13916     {
13917       value = true
13918     };
13919   };
13920 
13921   template <>
13922   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2KHR>
13923   {
13924     enum
13925     {
13926       value = true
13927     };
13928   };
13929 
13930   //=== VK_EXT_attachment_feedback_loop_layout ===
13931   template <>
13932   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
13933   {
13934     enum
13935     {
13936       value = true
13937     };
13938   };
13939 
13940   template <>
13941   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
13942   {
13943     enum
13944     {
13945       value = true
13946     };
13947   };
13948 
13949   //=== VK_EXT_4444_formats ===
13950   template <>
13951   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13952   {
13953     enum
13954     {
13955       value = true
13956     };
13957   };
13958 
13959   template <>
13960   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
13961   {
13962     enum
13963     {
13964       value = true
13965     };
13966   };
13967 
13968   //=== VK_EXT_device_fault ===
13969   template <>
13970   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
13971   {
13972     enum
13973     {
13974       value = true
13975     };
13976   };
13977 
13978   template <>
13979   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
13980   {
13981     enum
13982     {
13983       value = true
13984     };
13985   };
13986 
13987   //=== VK_EXT_rgba10x6_formats ===
13988   template <>
13989   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
13990   {
13991     enum
13992     {
13993       value = true
13994     };
13995   };
13996 
13997   template <>
13998   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
13999   {
14000     enum
14001     {
14002       value = true
14003     };
14004   };
14005 
14006   //=== VK_EXT_vertex_input_dynamic_state ===
14007   template <>
14008   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14009   {
14010     enum
14011     {
14012       value = true
14013     };
14014   };
14015 
14016   template <>
14017   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14018   {
14019     enum
14020     {
14021       value = true
14022     };
14023   };
14024 
14025   //=== VK_EXT_physical_device_drm ===
14026   template <>
14027   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14028   {
14029     enum
14030     {
14031       value = true
14032     };
14033   };
14034 
14035   //=== VK_EXT_device_address_binding_report ===
14036   template <>
14037   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14038   {
14039     enum
14040     {
14041       value = true
14042     };
14043   };
14044 
14045   template <>
14046   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14047   {
14048     enum
14049     {
14050       value = true
14051     };
14052   };
14053 
14054   template <>
14055   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14056   {
14057     enum
14058     {
14059       value = true
14060     };
14061   };
14062 
14063   //=== VK_EXT_depth_clip_control ===
14064   template <>
14065   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14066   {
14067     enum
14068     {
14069       value = true
14070     };
14071   };
14072 
14073   template <>
14074   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14075   {
14076     enum
14077     {
14078       value = true
14079     };
14080   };
14081 
14082   template <>
14083   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14084   {
14085     enum
14086     {
14087       value = true
14088     };
14089   };
14090 
14091   //=== VK_EXT_primitive_topology_list_restart ===
14092   template <>
14093   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14094   {
14095     enum
14096     {
14097       value = true
14098     };
14099   };
14100 
14101   template <>
14102   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14103   {
14104     enum
14105     {
14106       value = true
14107     };
14108   };
14109 
14110 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14111   //=== VK_FUCHSIA_external_memory ===
14112   template <>
14113   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14114   {
14115     enum
14116     {
14117       value = true
14118     };
14119   };
14120 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14121 
14122 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14123   //=== VK_FUCHSIA_buffer_collection ===
14124   template <>
14125   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14126   {
14127     enum
14128     {
14129       value = true
14130     };
14131   };
14132 
14133   template <>
14134   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14135   {
14136     enum
14137     {
14138       value = true
14139     };
14140   };
14141 
14142   template <>
14143   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14144   {
14145     enum
14146     {
14147       value = true
14148     };
14149   };
14150 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14151 
14152   //=== VK_HUAWEI_subpass_shading ===
14153   template <>
14154   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14155   {
14156     enum
14157     {
14158       value = true
14159     };
14160   };
14161 
14162   template <>
14163   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14164   {
14165     enum
14166     {
14167       value = true
14168     };
14169   };
14170 
14171   template <>
14172   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14173   {
14174     enum
14175     {
14176       value = true
14177     };
14178   };
14179 
14180   template <>
14181   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
14182   {
14183     enum
14184     {
14185       value = true
14186     };
14187   };
14188 
14189   //=== VK_HUAWEI_invocation_mask ===
14190   template <>
14191   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
14192   {
14193     enum
14194     {
14195       value = true
14196     };
14197   };
14198 
14199   template <>
14200   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
14201   {
14202     enum
14203     {
14204       value = true
14205     };
14206   };
14207 
14208   //=== VK_NV_external_memory_rdma ===
14209   template <>
14210   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
14211   {
14212     enum
14213     {
14214       value = true
14215     };
14216   };
14217 
14218   template <>
14219   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
14220   {
14221     enum
14222     {
14223       value = true
14224     };
14225   };
14226 
14227   //=== VK_EXT_pipeline_properties ===
14228   template <>
14229   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
14230   {
14231     enum
14232     {
14233       value = true
14234     };
14235   };
14236 
14237   template <>
14238   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
14239   {
14240     enum
14241     {
14242       value = true
14243     };
14244   };
14245 
14246   //=== VK_EXT_frame_boundary ===
14247   template <>
14248   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
14249   {
14250     enum
14251     {
14252       value = true
14253     };
14254   };
14255 
14256   template <>
14257   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
14258   {
14259     enum
14260     {
14261       value = true
14262     };
14263   };
14264 
14265   template <>
14266   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
14267   {
14268     enum
14269     {
14270       value = true
14271     };
14272   };
14273 
14274   template <>
14275   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
14276   {
14277     enum
14278     {
14279       value = true
14280     };
14281   };
14282 
14283   template <>
14284   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
14285   {
14286     enum
14287     {
14288       value = true
14289     };
14290   };
14291 
14292   template <>
14293   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
14294   {
14295     enum
14296     {
14297       value = true
14298     };
14299   };
14300 
14301   //=== VK_EXT_multisampled_render_to_single_sampled ===
14302   template <>
14303   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
14304   {
14305     enum
14306     {
14307       value = true
14308     };
14309   };
14310 
14311   template <>
14312   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
14313   {
14314     enum
14315     {
14316       value = true
14317     };
14318   };
14319 
14320   template <>
14321   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
14322   {
14323     enum
14324     {
14325       value = true
14326     };
14327   };
14328 
14329   template <>
14330   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
14331   {
14332     enum
14333     {
14334       value = true
14335     };
14336   };
14337 
14338   template <>
14339   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
14340   {
14341     enum
14342     {
14343       value = true
14344     };
14345   };
14346 
14347   //=== VK_EXT_extended_dynamic_state2 ===
14348   template <>
14349   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
14350   {
14351     enum
14352     {
14353       value = true
14354     };
14355   };
14356 
14357   template <>
14358   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
14359   {
14360     enum
14361     {
14362       value = true
14363     };
14364   };
14365 
14366   //=== VK_EXT_color_write_enable ===
14367   template <>
14368   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
14369   {
14370     enum
14371     {
14372       value = true
14373     };
14374   };
14375 
14376   template <>
14377   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
14378   {
14379     enum
14380     {
14381       value = true
14382     };
14383   };
14384 
14385   template <>
14386   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
14387   {
14388     enum
14389     {
14390       value = true
14391     };
14392   };
14393 
14394   //=== VK_EXT_primitives_generated_query ===
14395   template <>
14396   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
14397   {
14398     enum
14399     {
14400       value = true
14401     };
14402   };
14403 
14404   template <>
14405   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
14406   {
14407     enum
14408     {
14409       value = true
14410     };
14411   };
14412 
14413   //=== VK_KHR_ray_tracing_maintenance1 ===
14414   template <>
14415   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
14416   {
14417     enum
14418     {
14419       value = true
14420     };
14421   };
14422 
14423   template <>
14424   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
14425   {
14426     enum
14427     {
14428       value = true
14429     };
14430   };
14431 
14432   //=== VK_EXT_image_view_min_lod ===
14433   template <>
14434   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
14435   {
14436     enum
14437     {
14438       value = true
14439     };
14440   };
14441 
14442   template <>
14443   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
14444   {
14445     enum
14446     {
14447       value = true
14448     };
14449   };
14450 
14451   template <>
14452   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
14453   {
14454     enum
14455     {
14456       value = true
14457     };
14458   };
14459 
14460   //=== VK_EXT_multi_draw ===
14461   template <>
14462   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
14463   {
14464     enum
14465     {
14466       value = true
14467     };
14468   };
14469 
14470   template <>
14471   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
14472   {
14473     enum
14474     {
14475       value = true
14476     };
14477   };
14478 
14479   template <>
14480   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
14481   {
14482     enum
14483     {
14484       value = true
14485     };
14486   };
14487 
14488   //=== VK_EXT_image_2d_view_of_3d ===
14489   template <>
14490   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14491   {
14492     enum
14493     {
14494       value = true
14495     };
14496   };
14497 
14498   template <>
14499   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
14500   {
14501     enum
14502     {
14503       value = true
14504     };
14505   };
14506 
14507   //=== VK_EXT_shader_tile_image ===
14508   template <>
14509   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
14510   {
14511     enum
14512     {
14513       value = true
14514     };
14515   };
14516 
14517   template <>
14518   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
14519   {
14520     enum
14521     {
14522       value = true
14523     };
14524   };
14525 
14526   template <>
14527   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
14528   {
14529     enum
14530     {
14531       value = true
14532     };
14533   };
14534 
14535   //=== VK_EXT_opacity_micromap ===
14536   template <>
14537   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
14538   {
14539     enum
14540     {
14541       value = true
14542     };
14543   };
14544 
14545   template <>
14546   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
14547   {
14548     enum
14549     {
14550       value = true
14551     };
14552   };
14553 
14554   template <>
14555   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
14556   {
14557     enum
14558     {
14559       value = true
14560     };
14561   };
14562 
14563   template <>
14564   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
14565   {
14566     enum
14567     {
14568       value = true
14569     };
14570   };
14571 
14572 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
14573   //=== VK_NV_displacement_micromap ===
14574   template <>
14575   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
14576   {
14577     enum
14578     {
14579       value = true
14580     };
14581   };
14582 
14583   template <>
14584   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
14585   {
14586     enum
14587     {
14588       value = true
14589     };
14590   };
14591 
14592   template <>
14593   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
14594   {
14595     enum
14596     {
14597       value = true
14598     };
14599   };
14600 
14601   template <>
14602   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
14603   {
14604     enum
14605     {
14606       value = true
14607     };
14608   };
14609 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
14610 
14611   //=== VK_HUAWEI_cluster_culling_shader ===
14612   template <>
14613   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
14614   {
14615     enum
14616     {
14617       value = true
14618     };
14619   };
14620 
14621   template <>
14622   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
14623   {
14624     enum
14625     {
14626       value = true
14627     };
14628   };
14629 
14630   template <>
14631   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
14632   {
14633     enum
14634     {
14635       value = true
14636     };
14637   };
14638 
14639   template <>
14640   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
14641   {
14642     enum
14643     {
14644       value = true
14645     };
14646   };
14647 
14648   //=== VK_EXT_border_color_swizzle ===
14649   template <>
14650   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
14651   {
14652     enum
14653     {
14654       value = true
14655     };
14656   };
14657 
14658   template <>
14659   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
14660   {
14661     enum
14662     {
14663       value = true
14664     };
14665   };
14666 
14667   template <>
14668   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
14669   {
14670     enum
14671     {
14672       value = true
14673     };
14674   };
14675 
14676   //=== VK_EXT_pageable_device_local_memory ===
14677   template <>
14678   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
14679   {
14680     enum
14681     {
14682       value = true
14683     };
14684   };
14685 
14686   template <>
14687   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
14688   {
14689     enum
14690     {
14691       value = true
14692     };
14693   };
14694 
14695   //=== VK_ARM_shader_core_properties ===
14696   template <>
14697   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
14698   {
14699     enum
14700     {
14701       value = true
14702     };
14703   };
14704 
14705   //=== VK_ARM_scheduling_controls ===
14706   template <>
14707   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
14708   {
14709     enum
14710     {
14711       value = true
14712     };
14713   };
14714 
14715   template <>
14716   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
14717   {
14718     enum
14719     {
14720       value = true
14721     };
14722   };
14723 
14724   template <>
14725   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
14726   {
14727     enum
14728     {
14729       value = true
14730     };
14731   };
14732 
14733   template <>
14734   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
14735   {
14736     enum
14737     {
14738       value = true
14739     };
14740   };
14741 
14742   template <>
14743   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
14744   {
14745     enum
14746     {
14747       value = true
14748     };
14749   };
14750 
14751   //=== VK_EXT_image_sliced_view_of_3d ===
14752   template <>
14753   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
14754   {
14755     enum
14756     {
14757       value = true
14758     };
14759   };
14760 
14761   template <>
14762   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
14763   {
14764     enum
14765     {
14766       value = true
14767     };
14768   };
14769 
14770   template <>
14771   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
14772   {
14773     enum
14774     {
14775       value = true
14776     };
14777   };
14778 
14779   //=== VK_VALVE_descriptor_set_host_mapping ===
14780   template <>
14781   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
14782   {
14783     enum
14784     {
14785       value = true
14786     };
14787   };
14788 
14789   template <>
14790   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
14791   {
14792     enum
14793     {
14794       value = true
14795     };
14796   };
14797 
14798   //=== VK_EXT_depth_clamp_zero_one ===
14799   template <>
14800   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
14801   {
14802     enum
14803     {
14804       value = true
14805     };
14806   };
14807 
14808   template <>
14809   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
14810   {
14811     enum
14812     {
14813       value = true
14814     };
14815   };
14816 
14817   //=== VK_EXT_non_seamless_cube_map ===
14818   template <>
14819   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
14820   {
14821     enum
14822     {
14823       value = true
14824     };
14825   };
14826 
14827   template <>
14828   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
14829   {
14830     enum
14831     {
14832       value = true
14833     };
14834   };
14835 
14836   //=== VK_ARM_render_pass_striped ===
14837   template <>
14838   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
14839   {
14840     enum
14841     {
14842       value = true
14843     };
14844   };
14845 
14846   template <>
14847   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
14848   {
14849     enum
14850     {
14851       value = true
14852     };
14853   };
14854 
14855   template <>
14856   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
14857   {
14858     enum
14859     {
14860       value = true
14861     };
14862   };
14863 
14864   template <>
14865   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
14866   {
14867     enum
14868     {
14869       value = true
14870     };
14871   };
14872 
14873   template <>
14874   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
14875   {
14876     enum
14877     {
14878       value = true
14879     };
14880   };
14881 
14882   template <>
14883   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
14884   {
14885     enum
14886     {
14887       value = true
14888     };
14889   };
14890 
14891   //=== VK_QCOM_fragment_density_map_offset ===
14892   template <>
14893   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
14894   {
14895     enum
14896     {
14897       value = true
14898     };
14899   };
14900 
14901   template <>
14902   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
14903   {
14904     enum
14905     {
14906       value = true
14907     };
14908   };
14909 
14910   template <>
14911   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
14912   {
14913     enum
14914     {
14915       value = true
14916     };
14917   };
14918 
14919   template <>
14920   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
14921   {
14922     enum
14923     {
14924       value = true
14925     };
14926   };
14927 
14928   //=== VK_NV_copy_memory_indirect ===
14929   template <>
14930   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
14931   {
14932     enum
14933     {
14934       value = true
14935     };
14936   };
14937 
14938   template <>
14939   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
14940   {
14941     enum
14942     {
14943       value = true
14944     };
14945   };
14946 
14947   template <>
14948   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
14949   {
14950     enum
14951     {
14952       value = true
14953     };
14954   };
14955 
14956   //=== VK_NV_memory_decompression ===
14957   template <>
14958   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
14959   {
14960     enum
14961     {
14962       value = true
14963     };
14964   };
14965 
14966   template <>
14967   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
14968   {
14969     enum
14970     {
14971       value = true
14972     };
14973   };
14974 
14975   template <>
14976   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
14977   {
14978     enum
14979     {
14980       value = true
14981     };
14982   };
14983 
14984   //=== VK_NV_device_generated_commands_compute ===
14985   template <>
14986   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
14987   {
14988     enum
14989     {
14990       value = true
14991     };
14992   };
14993 
14994   template <>
14995   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
14996   {
14997     enum
14998     {
14999       value = true
15000     };
15001   };
15002 
15003   //=== VK_NV_linear_color_attachment ===
15004   template <>
15005   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15006   {
15007     enum
15008     {
15009       value = true
15010     };
15011   };
15012 
15013   template <>
15014   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15015   {
15016     enum
15017     {
15018       value = true
15019     };
15020   };
15021 
15022   //=== VK_EXT_image_compression_control_swapchain ===
15023   template <>
15024   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15025   {
15026     enum
15027     {
15028       value = true
15029     };
15030   };
15031 
15032   template <>
15033   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15034   {
15035     enum
15036     {
15037       value = true
15038     };
15039   };
15040 
15041   //=== VK_QCOM_image_processing ===
15042   template <>
15043   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15044   {
15045     enum
15046     {
15047       value = true
15048     };
15049   };
15050 
15051   template <>
15052   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15053   {
15054     enum
15055     {
15056       value = true
15057     };
15058   };
15059 
15060   template <>
15061   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15062   {
15063     enum
15064     {
15065       value = true
15066     };
15067   };
15068 
15069   template <>
15070   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15071   {
15072     enum
15073     {
15074       value = true
15075     };
15076   };
15077 
15078   //=== VK_EXT_nested_command_buffer ===
15079   template <>
15080   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15081   {
15082     enum
15083     {
15084       value = true
15085     };
15086   };
15087 
15088   template <>
15089   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15090   {
15091     enum
15092     {
15093       value = true
15094     };
15095   };
15096 
15097   template <>
15098   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15099   {
15100     enum
15101     {
15102       value = true
15103     };
15104   };
15105 
15106   //=== VK_EXT_external_memory_acquire_unmodified ===
15107   template <>
15108   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15109   {
15110     enum
15111     {
15112       value = true
15113     };
15114   };
15115 
15116   template <>
15117   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15118   {
15119     enum
15120     {
15121       value = true
15122     };
15123   };
15124 
15125   template <>
15126   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15127   {
15128     enum
15129     {
15130       value = true
15131     };
15132   };
15133 
15134   template <>
15135   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
15136   {
15137     enum
15138     {
15139       value = true
15140     };
15141   };
15142 
15143   //=== VK_EXT_extended_dynamic_state3 ===
15144   template <>
15145   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
15146   {
15147     enum
15148     {
15149       value = true
15150     };
15151   };
15152 
15153   template <>
15154   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
15155   {
15156     enum
15157     {
15158       value = true
15159     };
15160   };
15161 
15162   template <>
15163   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
15164   {
15165     enum
15166     {
15167       value = true
15168     };
15169   };
15170 
15171   //=== VK_EXT_subpass_merge_feedback ===
15172   template <>
15173   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
15174   {
15175     enum
15176     {
15177       value = true
15178     };
15179   };
15180 
15181   template <>
15182   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
15183   {
15184     enum
15185     {
15186       value = true
15187     };
15188   };
15189 
15190   template <>
15191   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
15192   {
15193     enum
15194     {
15195       value = true
15196     };
15197   };
15198 
15199   template <>
15200   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
15201   {
15202     enum
15203     {
15204       value = true
15205     };
15206   };
15207 
15208   template <>
15209   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
15210   {
15211     enum
15212     {
15213       value = true
15214     };
15215   };
15216 
15217   template <>
15218   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
15219   {
15220     enum
15221     {
15222       value = true
15223     };
15224   };
15225 
15226   //=== VK_LUNARG_direct_driver_loading ===
15227   template <>
15228   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
15229   {
15230     enum
15231     {
15232       value = true
15233     };
15234   };
15235 
15236   //=== VK_EXT_shader_module_identifier ===
15237   template <>
15238   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
15239   {
15240     enum
15241     {
15242       value = true
15243     };
15244   };
15245 
15246   template <>
15247   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
15248   {
15249     enum
15250     {
15251       value = true
15252     };
15253   };
15254 
15255   template <>
15256   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
15257   {
15258     enum
15259     {
15260       value = true
15261     };
15262   };
15263 
15264   template <>
15265   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
15266   {
15267     enum
15268     {
15269       value = true
15270     };
15271   };
15272 
15273   //=== VK_EXT_rasterization_order_attachment_access ===
15274   template <>
15275   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
15276   {
15277     enum
15278     {
15279       value = true
15280     };
15281   };
15282 
15283   template <>
15284   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
15285   {
15286     enum
15287     {
15288       value = true
15289     };
15290   };
15291 
15292   //=== VK_NV_optical_flow ===
15293   template <>
15294   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
15295   {
15296     enum
15297     {
15298       value = true
15299     };
15300   };
15301 
15302   template <>
15303   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
15304   {
15305     enum
15306     {
15307       value = true
15308     };
15309   };
15310 
15311   template <>
15312   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
15313   {
15314     enum
15315     {
15316       value = true
15317     };
15318   };
15319 
15320   template <>
15321   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
15322   {
15323     enum
15324     {
15325       value = true
15326     };
15327   };
15328 
15329   template <>
15330   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
15331   {
15332     enum
15333     {
15334       value = true
15335     };
15336   };
15337 
15338   template <>
15339   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
15340   {
15341     enum
15342     {
15343       value = true
15344     };
15345   };
15346 
15347   //=== VK_EXT_legacy_dithering ===
15348   template <>
15349   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
15350   {
15351     enum
15352     {
15353       value = true
15354     };
15355   };
15356 
15357   template <>
15358   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
15359   {
15360     enum
15361     {
15362       value = true
15363     };
15364   };
15365 
15366   //=== VK_EXT_pipeline_protected_access ===
15367   template <>
15368   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, PhysicalDeviceFeatures2>
15369   {
15370     enum
15371     {
15372       value = true
15373     };
15374   };
15375 
15376   template <>
15377   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeaturesEXT, DeviceCreateInfo>
15378   {
15379     enum
15380     {
15381       value = true
15382     };
15383   };
15384 
15385 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
15386   //=== VK_ANDROID_external_format_resolve ===
15387   template <>
15388   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
15389   {
15390     enum
15391     {
15392       value = true
15393     };
15394   };
15395 
15396   template <>
15397   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
15398   {
15399     enum
15400     {
15401       value = true
15402     };
15403   };
15404 
15405   template <>
15406   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
15407   {
15408     enum
15409     {
15410       value = true
15411     };
15412   };
15413 
15414   template <>
15415   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
15416   {
15417     enum
15418     {
15419       value = true
15420     };
15421   };
15422 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
15423 
15424   //=== VK_KHR_maintenance5 ===
15425   template <>
15426   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, PhysicalDeviceFeatures2>
15427   {
15428     enum
15429     {
15430       value = true
15431     };
15432   };
15433 
15434   template <>
15435   struct StructExtends<PhysicalDeviceMaintenance5FeaturesKHR, DeviceCreateInfo>
15436   {
15437     enum
15438     {
15439       value = true
15440     };
15441   };
15442 
15443   template <>
15444   struct StructExtends<PhysicalDeviceMaintenance5PropertiesKHR, PhysicalDeviceProperties2>
15445   {
15446     enum
15447     {
15448       value = true
15449     };
15450   };
15451 
15452   template <>
15453   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, ComputePipelineCreateInfo>
15454   {
15455     enum
15456     {
15457       value = true
15458     };
15459   };
15460 
15461   template <>
15462   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, GraphicsPipelineCreateInfo>
15463   {
15464     enum
15465     {
15466       value = true
15467     };
15468   };
15469 
15470   template <>
15471   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoNV>
15472   {
15473     enum
15474     {
15475       value = true
15476     };
15477   };
15478 
15479   template <>
15480   struct StructExtends<PipelineCreateFlags2CreateInfoKHR, RayTracingPipelineCreateInfoKHR>
15481   {
15482     enum
15483     {
15484       value = true
15485     };
15486   };
15487 
15488   template <>
15489   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferViewCreateInfo>
15490   {
15491     enum
15492     {
15493       value = true
15494     };
15495   };
15496 
15497   template <>
15498   struct StructExtends<BufferUsageFlags2CreateInfoKHR, BufferCreateInfo>
15499   {
15500     enum
15501     {
15502       value = true
15503     };
15504   };
15505 
15506   template <>
15507   struct StructExtends<BufferUsageFlags2CreateInfoKHR, PhysicalDeviceExternalBufferInfo>
15508   {
15509     enum
15510     {
15511       value = true
15512     };
15513   };
15514 
15515   template <>
15516   struct StructExtends<BufferUsageFlags2CreateInfoKHR, DescriptorBufferBindingInfoEXT>
15517   {
15518     enum
15519     {
15520       value = true
15521     };
15522   };
15523 
15524   //=== VK_KHR_ray_tracing_position_fetch ===
15525   template <>
15526   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
15527   {
15528     enum
15529     {
15530       value = true
15531     };
15532   };
15533 
15534   template <>
15535   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
15536   {
15537     enum
15538     {
15539       value = true
15540     };
15541   };
15542 
15543   //=== VK_EXT_shader_object ===
15544   template <>
15545   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
15546   {
15547     enum
15548     {
15549       value = true
15550     };
15551   };
15552 
15553   template <>
15554   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
15555   {
15556     enum
15557     {
15558       value = true
15559     };
15560   };
15561 
15562   template <>
15563   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
15564   {
15565     enum
15566     {
15567       value = true
15568     };
15569   };
15570 
15571   //=== VK_QCOM_tile_properties ===
15572   template <>
15573   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
15574   {
15575     enum
15576     {
15577       value = true
15578     };
15579   };
15580 
15581   template <>
15582   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
15583   {
15584     enum
15585     {
15586       value = true
15587     };
15588   };
15589 
15590   //=== VK_SEC_amigo_profiling ===
15591   template <>
15592   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
15593   {
15594     enum
15595     {
15596       value = true
15597     };
15598   };
15599 
15600   template <>
15601   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
15602   {
15603     enum
15604     {
15605       value = true
15606     };
15607   };
15608 
15609   template <>
15610   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
15611   {
15612     enum
15613     {
15614       value = true
15615     };
15616   };
15617 
15618   //=== VK_QCOM_multiview_per_view_viewports ===
15619   template <>
15620   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
15621   {
15622     enum
15623     {
15624       value = true
15625     };
15626   };
15627 
15628   template <>
15629   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
15630   {
15631     enum
15632     {
15633       value = true
15634     };
15635   };
15636 
15637   //=== VK_NV_ray_tracing_invocation_reorder ===
15638   template <>
15639   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
15640   {
15641     enum
15642     {
15643       value = true
15644     };
15645   };
15646 
15647   template <>
15648   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
15649   {
15650     enum
15651     {
15652       value = true
15653     };
15654   };
15655 
15656   template <>
15657   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
15658   {
15659     enum
15660     {
15661       value = true
15662     };
15663   };
15664 
15665   //=== VK_NV_extended_sparse_address_space ===
15666   template <>
15667   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
15668   {
15669     enum
15670     {
15671       value = true
15672     };
15673   };
15674 
15675   template <>
15676   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
15677   {
15678     enum
15679     {
15680       value = true
15681     };
15682   };
15683 
15684   template <>
15685   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
15686   {
15687     enum
15688     {
15689       value = true
15690     };
15691   };
15692 
15693   //=== VK_EXT_mutable_descriptor_type ===
15694   template <>
15695   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
15696   {
15697     enum
15698     {
15699       value = true
15700     };
15701   };
15702 
15703   template <>
15704   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
15705   {
15706     enum
15707     {
15708       value = true
15709     };
15710   };
15711 
15712   template <>
15713   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
15714   {
15715     enum
15716     {
15717       value = true
15718     };
15719   };
15720 
15721   template <>
15722   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
15723   {
15724     enum
15725     {
15726       value = true
15727     };
15728   };
15729 
15730   //=== VK_EXT_layer_settings ===
15731   template <>
15732   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
15733   {
15734     enum
15735     {
15736       value = true
15737     };
15738   };
15739 
15740   //=== VK_ARM_shader_core_builtins ===
15741   template <>
15742   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
15743   {
15744     enum
15745     {
15746       value = true
15747     };
15748   };
15749 
15750   template <>
15751   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
15752   {
15753     enum
15754     {
15755       value = true
15756     };
15757   };
15758 
15759   template <>
15760   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
15761   {
15762     enum
15763     {
15764       value = true
15765     };
15766   };
15767 
15768   //=== VK_EXT_pipeline_library_group_handles ===
15769   template <>
15770   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
15771   {
15772     enum
15773     {
15774       value = true
15775     };
15776   };
15777 
15778   template <>
15779   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
15780   {
15781     enum
15782     {
15783       value = true
15784     };
15785   };
15786 
15787   //=== VK_EXT_dynamic_rendering_unused_attachments ===
15788   template <>
15789   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
15790   {
15791     enum
15792     {
15793       value = true
15794     };
15795   };
15796 
15797   template <>
15798   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
15799   {
15800     enum
15801     {
15802       value = true
15803     };
15804   };
15805 
15806   //=== VK_NV_low_latency2 ===
15807   template <>
15808   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
15809   {
15810     enum
15811     {
15812       value = true
15813     };
15814   };
15815 
15816   template <>
15817   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
15818   {
15819     enum
15820     {
15821       value = true
15822     };
15823   };
15824 
15825   template <>
15826   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
15827   {
15828     enum
15829     {
15830       value = true
15831     };
15832   };
15833 
15834   template <>
15835   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
15836   {
15837     enum
15838     {
15839       value = true
15840     };
15841   };
15842 
15843   //=== VK_KHR_cooperative_matrix ===
15844   template <>
15845   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
15846   {
15847     enum
15848     {
15849       value = true
15850     };
15851   };
15852 
15853   template <>
15854   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
15855   {
15856     enum
15857     {
15858       value = true
15859     };
15860   };
15861 
15862   template <>
15863   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
15864   {
15865     enum
15866     {
15867       value = true
15868     };
15869   };
15870 
15871   //=== VK_QCOM_multiview_per_view_render_areas ===
15872   template <>
15873   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
15874   {
15875     enum
15876     {
15877       value = true
15878     };
15879   };
15880 
15881   template <>
15882   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
15883   {
15884     enum
15885     {
15886       value = true
15887     };
15888   };
15889 
15890   template <>
15891   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
15892   {
15893     enum
15894     {
15895       value = true
15896     };
15897   };
15898 
15899   template <>
15900   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
15901   {
15902     enum
15903     {
15904       value = true
15905     };
15906   };
15907 
15908   //=== VK_KHR_video_maintenance1 ===
15909   template <>
15910   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
15911   {
15912     enum
15913     {
15914       value = true
15915     };
15916   };
15917 
15918   template <>
15919   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
15920   {
15921     enum
15922     {
15923       value = true
15924     };
15925   };
15926 
15927   template <>
15928   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
15929   {
15930     enum
15931     {
15932       value = true
15933     };
15934   };
15935 
15936   template <>
15937   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
15938   {
15939     enum
15940     {
15941       value = true
15942     };
15943   };
15944 
15945   //=== VK_NV_per_stage_descriptor_set ===
15946   template <>
15947   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
15948   {
15949     enum
15950     {
15951       value = true
15952     };
15953   };
15954 
15955   template <>
15956   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
15957   {
15958     enum
15959     {
15960       value = true
15961     };
15962   };
15963 
15964   //=== VK_QCOM_image_processing2 ===
15965   template <>
15966   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
15967   {
15968     enum
15969     {
15970       value = true
15971     };
15972   };
15973 
15974   template <>
15975   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
15976   {
15977     enum
15978     {
15979       value = true
15980     };
15981   };
15982 
15983   template <>
15984   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
15985   {
15986     enum
15987     {
15988       value = true
15989     };
15990   };
15991 
15992   template <>
15993   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
15994   {
15995     enum
15996     {
15997       value = true
15998     };
15999   };
16000 
16001   //=== VK_QCOM_filter_cubic_weights ===
16002   template <>
16003   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
16004   {
16005     enum
16006     {
16007       value = true
16008     };
16009   };
16010 
16011   template <>
16012   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
16013   {
16014     enum
16015     {
16016       value = true
16017     };
16018   };
16019 
16020   template <>
16021   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
16022   {
16023     enum
16024     {
16025       value = true
16026     };
16027   };
16028 
16029   template <>
16030   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
16031   {
16032     enum
16033     {
16034       value = true
16035     };
16036   };
16037 
16038   //=== VK_QCOM_ycbcr_degamma ===
16039   template <>
16040   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
16041   {
16042     enum
16043     {
16044       value = true
16045     };
16046   };
16047 
16048   template <>
16049   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
16050   {
16051     enum
16052     {
16053       value = true
16054     };
16055   };
16056 
16057   template <>
16058   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
16059   {
16060     enum
16061     {
16062       value = true
16063     };
16064   };
16065 
16066   //=== VK_QCOM_filter_cubic_clamp ===
16067   template <>
16068   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
16069   {
16070     enum
16071     {
16072       value = true
16073     };
16074   };
16075 
16076   template <>
16077   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
16078   {
16079     enum
16080     {
16081       value = true
16082     };
16083   };
16084 
16085   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
16086   template <>
16087   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
16088   {
16089     enum
16090     {
16091       value = true
16092     };
16093   };
16094 
16095   template <>
16096   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
16097   {
16098     enum
16099     {
16100       value = true
16101     };
16102   };
16103 
16104   //=== VK_KHR_vertex_attribute_divisor ===
16105   template <>
16106   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesKHR, PhysicalDeviceProperties2>
16107   {
16108     enum
16109     {
16110       value = true
16111     };
16112   };
16113 
16114   template <>
16115   struct StructExtends<PipelineVertexInputDivisorStateCreateInfoKHR, PipelineVertexInputStateCreateInfo>
16116   {
16117     enum
16118     {
16119       value = true
16120     };
16121   };
16122 
16123   template <>
16124   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, PhysicalDeviceFeatures2>
16125   {
16126     enum
16127     {
16128       value = true
16129     };
16130   };
16131 
16132   template <>
16133   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesKHR, DeviceCreateInfo>
16134   {
16135     enum
16136     {
16137       value = true
16138     };
16139   };
16140 
16141 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
16142   //=== VK_QNX_external_memory_screen_buffer ===
16143   template <>
16144   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
16145   {
16146     enum
16147     {
16148       value = true
16149     };
16150   };
16151 
16152   template <>
16153   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
16154   {
16155     enum
16156     {
16157       value = true
16158     };
16159   };
16160 
16161   template <>
16162   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
16163   {
16164     enum
16165     {
16166       value = true
16167     };
16168   };
16169 
16170   template <>
16171   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
16172   {
16173     enum
16174     {
16175       value = true
16176     };
16177   };
16178 
16179   template <>
16180   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
16181   {
16182     enum
16183     {
16184       value = true
16185     };
16186   };
16187 
16188   template <>
16189   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
16190   {
16191     enum
16192     {
16193       value = true
16194     };
16195   };
16196 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
16197 
16198   //=== VK_MSFT_layered_driver ===
16199   template <>
16200   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
16201   {
16202     enum
16203     {
16204       value = true
16205     };
16206   };
16207 
16208   //=== VK_KHR_maintenance6 ===
16209   template <>
16210   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, PhysicalDeviceFeatures2>
16211   {
16212     enum
16213     {
16214       value = true
16215     };
16216   };
16217 
16218   template <>
16219   struct StructExtends<PhysicalDeviceMaintenance6FeaturesKHR, DeviceCreateInfo>
16220   {
16221     enum
16222     {
16223       value = true
16224     };
16225   };
16226 
16227   template <>
16228   struct StructExtends<PhysicalDeviceMaintenance6PropertiesKHR, PhysicalDeviceProperties2>
16229   {
16230     enum
16231     {
16232       value = true
16233     };
16234   };
16235 
16236   template <>
16237   struct StructExtends<BindMemoryStatusKHR, BindBufferMemoryInfo>
16238   {
16239     enum
16240     {
16241       value = true
16242     };
16243   };
16244 
16245   template <>
16246   struct StructExtends<BindMemoryStatusKHR, BindImageMemoryInfo>
16247   {
16248     enum
16249     {
16250       value = true
16251     };
16252   };
16253 
16254   //=== VK_NV_descriptor_pool_overallocation ===
16255   template <>
16256   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
16257   {
16258     enum
16259     {
16260       value = true
16261     };
16262   };
16263 
16264   template <>
16265   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
16266   {
16267     enum
16268     {
16269       value = true
16270     };
16271   };
16272 
16273 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
16274 
16275 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
16276   class DynamicLoader
16277   {
16278   public:
16279 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )16280     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
16281 #  else
16282     DynamicLoader( std::string const & vulkanLibraryName = {} )
16283 #  endif
16284     {
16285       if ( !vulkanLibraryName.empty() )
16286       {
16287 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16288         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
16289 #  elif defined( _WIN32 )
16290         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
16291 #  else
16292 #    error unsupported platform
16293 #  endif
16294       }
16295       else
16296       {
16297 #  if defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16298         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
16299         if ( m_library == nullptr )
16300         {
16301           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
16302         }
16303 #  elif defined( __APPLE__ )
16304         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
16305         if ( m_library == nullptr )
16306         {
16307           m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
16308         }
16309 #  elif defined( _WIN32 )
16310         m_library = ::LoadLibraryA( "vulkan-1.dll" );
16311 #  else
16312 #    error unsupported platform
16313 #  endif
16314       }
16315 
16316 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
16317       if ( m_library == nullptr )
16318       {
16319         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
16320         throw std::runtime_error( "Failed to load vulkan library!" );
16321       }
16322 #  endif
16323     }
16324 
16325     DynamicLoader( DynamicLoader const & ) = delete;
16326 
DynamicLoader(DynamicLoader && other)16327     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
16328     {
16329       other.m_library = nullptr;
16330     }
16331 
16332     DynamicLoader & operator=( DynamicLoader const & ) = delete;
16333 
operator =(DynamicLoader && other)16334     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
16335     {
16336       std::swap( m_library, other.m_library );
16337       return *this;
16338     }
16339 
~DynamicLoader()16340     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
16341     {
16342       if ( m_library )
16343       {
16344 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16345         dlclose( m_library );
16346 #  elif defined( _WIN32 )
16347         ::FreeLibrary( m_library );
16348 #  else
16349 #    error unsupported platform
16350 #  endif
16351       }
16352     }
16353 
16354     template <typename T>
getProcAddress(const char * function) const16355     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
16356     {
16357 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16358       return (T)dlsym( m_library, function );
16359 #  elif defined( _WIN32 )
16360       return ( T )::GetProcAddress( m_library, function );
16361 #  else
16362 #    error unsupported platform
16363 #  endif
16364     }
16365 
success() const16366     bool success() const VULKAN_HPP_NOEXCEPT
16367     {
16368       return m_library != nullptr;
16369     }
16370 
16371   private:
16372 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
16373     void * m_library;
16374 #  elif defined( _WIN32 )
16375     ::HINSTANCE m_library;
16376 #  else
16377 #    error unsupported platform
16378 #  endif
16379   };
16380 #endif
16381 
16382   using PFN_dummy = void ( * )();
16383 
16384   class DispatchLoaderDynamic : public DispatchLoaderBase
16385   {
16386   public:
16387     //=== VK_VERSION_1_0 ===
16388     PFN_vkCreateInstance                               vkCreateInstance                               = 0;
16389     PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
16390     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
16391     PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
16392     PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
16393     PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
16394     PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
16395     PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
16396     PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
16397     PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
16398     PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
16399     PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
16400     PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
16401     PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
16402     PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
16403     PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
16404     PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
16405     PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
16406     PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
16407     PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
16408     PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
16409     PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
16410     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
16411     PFN_vkMapMemory                                    vkMapMemory                                    = 0;
16412     PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
16413     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
16414     PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
16415     PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
16416     PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
16417     PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
16418     PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
16419     PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
16420     PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
16421     PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
16422     PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
16423     PFN_vkCreateFence                                  vkCreateFence                                  = 0;
16424     PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
16425     PFN_vkResetFences                                  vkResetFences                                  = 0;
16426     PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
16427     PFN_vkWaitForFences                                vkWaitForFences                                = 0;
16428     PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
16429     PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
16430     PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
16431     PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
16432     PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
16433     PFN_vkSetEvent                                     vkSetEvent                                     = 0;
16434     PFN_vkResetEvent                                   vkResetEvent                                   = 0;
16435     PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
16436     PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
16437     PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
16438     PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
16439     PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
16440     PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
16441     PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
16442     PFN_vkCreateImage                                  vkCreateImage                                  = 0;
16443     PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
16444     PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
16445     PFN_vkCreateImageView                              vkCreateImageView                              = 0;
16446     PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
16447     PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
16448     PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
16449     PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
16450     PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
16451     PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
16452     PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
16453     PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
16454     PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
16455     PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
16456     PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
16457     PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
16458     PFN_vkCreateSampler                                vkCreateSampler                                = 0;
16459     PFN_vkDestroySampler                               vkDestroySampler                               = 0;
16460     PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
16461     PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
16462     PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
16463     PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
16464     PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
16465     PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
16466     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
16467     PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
16468     PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
16469     PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
16470     PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
16471     PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
16472     PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
16473     PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
16474     PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
16475     PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
16476     PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
16477     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
16478     PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
16479     PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
16480     PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
16481     PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
16482     PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
16483     PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
16484     PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
16485     PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
16486     PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
16487     PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
16488     PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
16489     PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
16490     PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
16491     PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
16492     PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
16493     PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
16494     PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
16495     PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
16496     PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
16497     PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
16498     PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
16499     PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
16500     PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
16501     PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
16502     PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
16503     PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
16504     PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
16505     PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
16506     PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
16507     PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
16508     PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
16509     PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
16510     PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
16511     PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
16512     PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
16513     PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
16514     PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
16515     PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
16516     PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
16517     PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
16518     PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
16519     PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
16520     PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
16521     PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
16522     PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
16523     PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
16524     PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
16525 
16526     //=== VK_VERSION_1_1 ===
16527     PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
16528     PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
16529     PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
16530     PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
16531     PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
16532     PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
16533     PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
16534     PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
16535     PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
16536     PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
16537     PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
16538     PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
16539     PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
16540     PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
16541     PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
16542     PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
16543     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
16544     PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
16545     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
16546     PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
16547     PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
16548     PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
16549     PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
16550     PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
16551     PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
16552     PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
16553     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
16554     PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
16555 
16556     //=== VK_VERSION_1_2 ===
16557     PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
16558     PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
16559     PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
16560     PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
16561     PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
16562     PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
16563     PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
16564     PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
16565     PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
16566     PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
16567     PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
16568     PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
16569     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
16570 
16571     //=== VK_VERSION_1_3 ===
16572     PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
16573     PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
16574     PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
16575     PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
16576     PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
16577     PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
16578     PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
16579     PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
16580     PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
16581     PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
16582     PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
16583     PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
16584     PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
16585     PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
16586     PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
16587     PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
16588     PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
16589     PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
16590     PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
16591     PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
16592     PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
16593     PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
16594     PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
16595     PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
16596     PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
16597     PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
16598     PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
16599     PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
16600     PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
16601     PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
16602     PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
16603     PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
16604     PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
16605     PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
16606     PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
16607     PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
16608     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
16609 
16610     //=== VK_KHR_surface ===
16611     PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
16612     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
16613     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
16614     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
16615     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
16616 
16617     //=== VK_KHR_swapchain ===
16618     PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
16619     PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
16620     PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
16621     PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
16622     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
16623     PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
16624     PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
16625     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
16626     PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
16627 
16628     //=== VK_KHR_display ===
16629     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
16630     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
16631     PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
16632     PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
16633     PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
16634     PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
16635     PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
16636 
16637     //=== VK_KHR_display_swapchain ===
16638     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
16639 
16640 #if defined( VK_USE_PLATFORM_XLIB_KHR )
16641     //=== VK_KHR_xlib_surface ===
16642     PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
16643     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
16644 #else
16645     PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
16646     PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
16647 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
16648 
16649 #if defined( VK_USE_PLATFORM_XCB_KHR )
16650     //=== VK_KHR_xcb_surface ===
16651     PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
16652     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
16653 #else
16654     PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
16655     PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
16656 #endif /*VK_USE_PLATFORM_XCB_KHR*/
16657 
16658 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
16659     //=== VK_KHR_wayland_surface ===
16660     PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
16661     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
16662 #else
16663     PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
16664     PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
16665 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
16666 
16667 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
16668     //=== VK_KHR_android_surface ===
16669     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
16670 #else
16671     PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
16672 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16673 
16674 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16675     //=== VK_KHR_win32_surface ===
16676     PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
16677     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
16678 #else
16679     PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
16680     PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
16681 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16682 
16683     //=== VK_EXT_debug_report ===
16684     PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
16685     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
16686     PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
16687 
16688     //=== VK_EXT_debug_marker ===
16689     PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
16690     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
16691     PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
16692     PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
16693     PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
16694 
16695     //=== VK_KHR_video_queue ===
16696     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
16697     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
16698     PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
16699     PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
16700     PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
16701     PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
16702     PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
16703     PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
16704     PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
16705     PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
16706     PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
16707     PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
16708 
16709     //=== VK_KHR_video_decode_queue ===
16710     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
16711 
16712     //=== VK_EXT_transform_feedback ===
16713     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
16714     PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
16715     PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
16716     PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
16717     PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
16718     PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
16719 
16720     //=== VK_NVX_binary_import ===
16721     PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
16722     PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
16723     PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
16724     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
16725     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
16726 
16727     //=== VK_NVX_image_view_handle ===
16728     PFN_vkGetImageViewHandleNVX  vkGetImageViewHandleNVX  = 0;
16729     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
16730 
16731     //=== VK_AMD_draw_indirect_count ===
16732     PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
16733     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
16734 
16735     //=== VK_AMD_shader_info ===
16736     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
16737 
16738     //=== VK_KHR_dynamic_rendering ===
16739     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
16740     PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
16741 
16742 #if defined( VK_USE_PLATFORM_GGP )
16743     //=== VK_GGP_stream_descriptor_surface ===
16744     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
16745 #else
16746     PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
16747 #endif /*VK_USE_PLATFORM_GGP*/
16748 
16749     //=== VK_NV_external_memory_capabilities ===
16750     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
16751 
16752 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16753     //=== VK_NV_external_memory_win32 ===
16754     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
16755 #else
16756     PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
16757 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16758 
16759     //=== VK_KHR_get_physical_device_properties2 ===
16760     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
16761     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
16762     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
16763     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
16764     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
16765     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
16766     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
16767 
16768     //=== VK_KHR_device_group ===
16769     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
16770     PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
16771     PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
16772 
16773 #if defined( VK_USE_PLATFORM_VI_NN )
16774     //=== VK_NN_vi_surface ===
16775     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
16776 #else
16777     PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
16778 #endif /*VK_USE_PLATFORM_VI_NN*/
16779 
16780     //=== VK_KHR_maintenance1 ===
16781     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
16782 
16783     //=== VK_KHR_device_group_creation ===
16784     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
16785 
16786     //=== VK_KHR_external_memory_capabilities ===
16787     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
16788 
16789 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16790     //=== VK_KHR_external_memory_win32 ===
16791     PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
16792     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
16793 #else
16794     PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
16795     PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
16796 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16797 
16798     //=== VK_KHR_external_memory_fd ===
16799     PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
16800     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
16801 
16802     //=== VK_KHR_external_semaphore_capabilities ===
16803     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
16804 
16805 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16806     //=== VK_KHR_external_semaphore_win32 ===
16807     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
16808     PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
16809 #else
16810     PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
16811     PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
16812 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16813 
16814     //=== VK_KHR_external_semaphore_fd ===
16815     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
16816     PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
16817 
16818     //=== VK_KHR_push_descriptor ===
16819     PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
16820     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
16821 
16822     //=== VK_EXT_conditional_rendering ===
16823     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
16824     PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
16825 
16826     //=== VK_KHR_descriptor_update_template ===
16827     PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
16828     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
16829     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
16830 
16831     //=== VK_NV_clip_space_w_scaling ===
16832     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
16833 
16834     //=== VK_EXT_direct_mode_display ===
16835     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
16836 
16837 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
16838     //=== VK_EXT_acquire_xlib_display ===
16839     PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
16840     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
16841 #else
16842     PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
16843     PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
16844 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
16845 
16846     //=== VK_EXT_display_surface_counter ===
16847     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
16848 
16849     //=== VK_EXT_display_control ===
16850     PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
16851     PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
16852     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
16853     PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
16854 
16855     //=== VK_GOOGLE_display_timing ===
16856     PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
16857     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
16858 
16859     //=== VK_EXT_discard_rectangles ===
16860     PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
16861     PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
16862     PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
16863 
16864     //=== VK_EXT_hdr_metadata ===
16865     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
16866 
16867     //=== VK_KHR_create_renderpass2 ===
16868     PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
16869     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
16870     PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
16871     PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
16872 
16873     //=== VK_KHR_shared_presentable_image ===
16874     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
16875 
16876     //=== VK_KHR_external_fence_capabilities ===
16877     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
16878 
16879 #if defined( VK_USE_PLATFORM_WIN32_KHR )
16880     //=== VK_KHR_external_fence_win32 ===
16881     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
16882     PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
16883 #else
16884     PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
16885     PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
16886 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
16887 
16888     //=== VK_KHR_external_fence_fd ===
16889     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
16890     PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
16891 
16892     //=== VK_KHR_performance_query ===
16893     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
16894     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
16895     PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
16896     PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
16897 
16898     //=== VK_KHR_get_surface_capabilities2 ===
16899     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
16900     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
16901 
16902     //=== VK_KHR_get_display_properties2 ===
16903     PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
16904     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
16905     PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
16906     PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
16907 
16908 #if defined( VK_USE_PLATFORM_IOS_MVK )
16909     //=== VK_MVK_ios_surface ===
16910     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
16911 #else
16912     PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
16913 #endif /*VK_USE_PLATFORM_IOS_MVK*/
16914 
16915 #if defined( VK_USE_PLATFORM_MACOS_MVK )
16916     //=== VK_MVK_macos_surface ===
16917     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
16918 #else
16919     PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
16920 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
16921 
16922     //=== VK_EXT_debug_utils ===
16923     PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
16924     PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
16925     PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
16926     PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
16927     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
16928     PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
16929     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
16930     PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
16931     PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
16932     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
16933     PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
16934 
16935 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
16936     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
16937     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
16938     PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
16939 #else
16940     PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
16941     PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
16942 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16943 
16944 #if defined( VK_ENABLE_BETA_EXTENSIONS )
16945     //=== VK_AMDX_shader_enqueue ===
16946     PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
16947     PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
16948     PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
16949     PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
16950     PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
16951     PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
16952     PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
16953 #else
16954     PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
16955     PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
16956     PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
16957     PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
16958     PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
16959     PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
16960     PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
16961 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
16962 
16963     //=== VK_EXT_sample_locations ===
16964     PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
16965     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
16966 
16967     //=== VK_KHR_get_memory_requirements2 ===
16968     PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
16969     PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
16970     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
16971 
16972     //=== VK_KHR_acceleration_structure ===
16973     PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
16974     PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
16975     PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
16976     PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
16977     PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
16978     PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
16979     PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
16980     PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
16981     PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
16982     PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
16983     PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
16984     PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
16985     PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
16986     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
16987     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
16988     PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
16989 
16990     //=== VK_KHR_ray_tracing_pipeline ===
16991     PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
16992     PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
16993     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
16994     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
16995     PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
16996     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
16997     PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
16998 
16999     //=== VK_KHR_sampler_ycbcr_conversion ===
17000     PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
17001     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
17002 
17003     //=== VK_KHR_bind_memory2 ===
17004     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
17005     PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
17006 
17007     //=== VK_EXT_image_drm_format_modifier ===
17008     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
17009 
17010     //=== VK_EXT_validation_cache ===
17011     PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
17012     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
17013     PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
17014     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
17015 
17016     //=== VK_NV_shading_rate_image ===
17017     PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
17018     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
17019     PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
17020 
17021     //=== VK_NV_ray_tracing ===
17022     PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
17023     PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
17024     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
17025     PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
17026     PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
17027     PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
17028     PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
17029     PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
17030     PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
17031     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
17032     PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
17033     PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
17034 
17035     //=== VK_KHR_maintenance3 ===
17036     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
17037 
17038     //=== VK_KHR_draw_indirect_count ===
17039     PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
17040     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
17041 
17042     //=== VK_EXT_external_memory_host ===
17043     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
17044 
17045     //=== VK_AMD_buffer_marker ===
17046     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
17047 
17048     //=== VK_EXT_calibrated_timestamps ===
17049     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
17050     PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
17051 
17052     //=== VK_NV_mesh_shader ===
17053     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
17054     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
17055     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
17056 
17057     //=== VK_NV_scissor_exclusive ===
17058     PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
17059     PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
17060 
17061     //=== VK_NV_device_diagnostic_checkpoints ===
17062     PFN_vkCmdSetCheckpointNV       vkCmdSetCheckpointNV       = 0;
17063     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
17064 
17065     //=== VK_KHR_timeline_semaphore ===
17066     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
17067     PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
17068     PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
17069 
17070     //=== VK_INTEL_performance_query ===
17071     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
17072     PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
17073     PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
17074     PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
17075     PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
17076     PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
17077     PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
17078     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
17079     PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
17080 
17081     //=== VK_AMD_display_native_hdr ===
17082     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
17083 
17084 #if defined( VK_USE_PLATFORM_FUCHSIA )
17085     //=== VK_FUCHSIA_imagepipe_surface ===
17086     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
17087 #else
17088     PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
17089 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17090 
17091 #if defined( VK_USE_PLATFORM_METAL_EXT )
17092     //=== VK_EXT_metal_surface ===
17093     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
17094 #else
17095     PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
17096 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17097 
17098     //=== VK_KHR_fragment_shading_rate ===
17099     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
17100     PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
17101 
17102     //=== VK_EXT_buffer_device_address ===
17103     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
17104 
17105     //=== VK_EXT_tooling_info ===
17106     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
17107 
17108     //=== VK_KHR_present_wait ===
17109     PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
17110 
17111     //=== VK_NV_cooperative_matrix ===
17112     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
17113 
17114     //=== VK_NV_coverage_reduction_mode ===
17115     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
17116 
17117 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17118     //=== VK_EXT_full_screen_exclusive ===
17119     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
17120     PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
17121     PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
17122     PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
17123 #else
17124     PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
17125     PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
17126     PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
17127     PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
17128 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17129 
17130     //=== VK_EXT_headless_surface ===
17131     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
17132 
17133     //=== VK_KHR_buffer_device_address ===
17134     PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
17135     PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
17136     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
17137 
17138     //=== VK_EXT_line_rasterization ===
17139     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
17140 
17141     //=== VK_EXT_host_query_reset ===
17142     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
17143 
17144     //=== VK_EXT_extended_dynamic_state ===
17145     PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
17146     PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
17147     PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
17148     PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
17149     PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
17150     PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
17151     PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
17152     PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
17153     PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
17154     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
17155     PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
17156     PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
17157 
17158     //=== VK_KHR_deferred_host_operations ===
17159     PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
17160     PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
17161     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
17162     PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
17163     PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
17164 
17165     //=== VK_KHR_pipeline_executable_properties ===
17166     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
17167     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
17168     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
17169 
17170     //=== VK_EXT_host_image_copy ===
17171     PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
17172     PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
17173     PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
17174     PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
17175     PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
17176 
17177     //=== VK_KHR_map_memory2 ===
17178     PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
17179     PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
17180 
17181     //=== VK_EXT_swapchain_maintenance1 ===
17182     PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
17183 
17184     //=== VK_NV_device_generated_commands ===
17185     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
17186     PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
17187     PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
17188     PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
17189     PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
17190     PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
17191 
17192     //=== VK_EXT_depth_bias_control ===
17193     PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
17194 
17195     //=== VK_EXT_acquire_drm_display ===
17196     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
17197     PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
17198 
17199     //=== VK_EXT_private_data ===
17200     PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
17201     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
17202     PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
17203     PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
17204 
17205     //=== VK_KHR_video_encode_queue ===
17206     PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
17207     PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
17208     PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
17209 
17210 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17211     //=== VK_NV_cuda_kernel_launch ===
17212     PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
17213     PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
17214     PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
17215     PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
17216     PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
17217     PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
17218 #else
17219     PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
17220     PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
17221     PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
17222     PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
17223     PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
17224     PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
17225 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17226 
17227 #if defined( VK_USE_PLATFORM_METAL_EXT )
17228     //=== VK_EXT_metal_objects ===
17229     PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
17230 #else
17231     PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
17232 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17233 
17234     //=== VK_KHR_synchronization2 ===
17235     PFN_vkCmdSetEvent2KHR           vkCmdSetEvent2KHR           = 0;
17236     PFN_vkCmdResetEvent2KHR         vkCmdResetEvent2KHR         = 0;
17237     PFN_vkCmdWaitEvents2KHR         vkCmdWaitEvents2KHR         = 0;
17238     PFN_vkCmdPipelineBarrier2KHR    vkCmdPipelineBarrier2KHR    = 0;
17239     PFN_vkCmdWriteTimestamp2KHR     vkCmdWriteTimestamp2KHR     = 0;
17240     PFN_vkQueueSubmit2KHR           vkQueueSubmit2KHR           = 0;
17241     PFN_vkCmdWriteBufferMarker2AMD  vkCmdWriteBufferMarker2AMD  = 0;
17242     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
17243 
17244     //=== VK_EXT_descriptor_buffer ===
17245     PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
17246     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
17247     PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
17248     PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
17249     PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
17250     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
17251     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
17252     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
17253     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
17254     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
17255     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
17256 
17257     //=== VK_NV_fragment_shading_rate_enums ===
17258     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
17259 
17260     //=== VK_EXT_mesh_shader ===
17261     PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
17262     PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
17263     PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
17264 
17265     //=== VK_KHR_copy_commands2 ===
17266     PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
17267     PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
17268     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
17269     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
17270     PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
17271     PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
17272 
17273     //=== VK_EXT_device_fault ===
17274     PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
17275 
17276 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17277     //=== VK_NV_acquire_winrt_display ===
17278     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
17279     PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
17280 #else
17281     PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
17282     PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
17283 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17284 
17285 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
17286     //=== VK_EXT_directfb_surface ===
17287     PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
17288     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
17289 #else
17290     PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
17291     PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
17292 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
17293 
17294     //=== VK_EXT_vertex_input_dynamic_state ===
17295     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
17296 
17297 #if defined( VK_USE_PLATFORM_FUCHSIA )
17298     //=== VK_FUCHSIA_external_memory ===
17299     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
17300     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
17301 #else
17302     PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
17303     PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
17304 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17305 
17306 #if defined( VK_USE_PLATFORM_FUCHSIA )
17307     //=== VK_FUCHSIA_external_semaphore ===
17308     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
17309     PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
17310 #else
17311     PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
17312     PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
17313 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17314 
17315 #if defined( VK_USE_PLATFORM_FUCHSIA )
17316     //=== VK_FUCHSIA_buffer_collection ===
17317     PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
17318     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
17319     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
17320     PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
17321     PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
17322 #else
17323     PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
17324     PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
17325     PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
17326     PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
17327     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
17328 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17329 
17330     //=== VK_HUAWEI_subpass_shading ===
17331     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
17332     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
17333 
17334     //=== VK_HUAWEI_invocation_mask ===
17335     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
17336 
17337     //=== VK_NV_external_memory_rdma ===
17338     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
17339 
17340     //=== VK_EXT_pipeline_properties ===
17341     PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
17342 
17343     //=== VK_EXT_extended_dynamic_state2 ===
17344     PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
17345     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
17346     PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
17347     PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
17348     PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
17349 
17350 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17351     //=== VK_QNX_screen_surface ===
17352     PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
17353     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
17354 #else
17355     PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
17356     PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
17357 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17358 
17359     //=== VK_EXT_color_write_enable ===
17360     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
17361 
17362     //=== VK_KHR_ray_tracing_maintenance1 ===
17363     PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
17364 
17365     //=== VK_EXT_multi_draw ===
17366     PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
17367     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
17368 
17369     //=== VK_EXT_opacity_micromap ===
17370     PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
17371     PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
17372     PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
17373     PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
17374     PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
17375     PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
17376     PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
17377     PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
17378     PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
17379     PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
17380     PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
17381     PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
17382     PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
17383     PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
17384 
17385     //=== VK_HUAWEI_cluster_culling_shader ===
17386     PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
17387     PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
17388 
17389     //=== VK_EXT_pageable_device_local_memory ===
17390     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
17391 
17392     //=== VK_KHR_maintenance4 ===
17393     PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
17394     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
17395     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
17396 
17397     //=== VK_VALVE_descriptor_set_host_mapping ===
17398     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
17399     PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
17400 
17401     //=== VK_NV_copy_memory_indirect ===
17402     PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
17403     PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
17404 
17405     //=== VK_NV_memory_decompression ===
17406     PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
17407     PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
17408 
17409     //=== VK_NV_device_generated_commands_compute ===
17410     PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
17411     PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
17412     PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
17413 
17414     //=== VK_EXT_extended_dynamic_state3 ===
17415     PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
17416     PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
17417     PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
17418     PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
17419     PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
17420     PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
17421     PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
17422     PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
17423     PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
17424     PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
17425     PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
17426     PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
17427     PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
17428     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
17429     PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
17430     PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
17431     PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
17432     PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
17433     PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
17434     PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
17435     PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
17436     PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
17437     PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
17438     PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
17439     PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
17440     PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
17441     PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
17442     PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
17443     PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
17444     PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
17445     PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
17446 
17447     //=== VK_EXT_shader_module_identifier ===
17448     PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
17449     PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
17450 
17451     //=== VK_NV_optical_flow ===
17452     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
17453     PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
17454     PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
17455     PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
17456     PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
17457 
17458     //=== VK_KHR_maintenance5 ===
17459     PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
17460     PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
17461     PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
17462     PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
17463 
17464     //=== VK_EXT_shader_object ===
17465     PFN_vkCreateShadersEXT       vkCreateShadersEXT       = 0;
17466     PFN_vkDestroyShaderEXT       vkDestroyShaderEXT       = 0;
17467     PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
17468     PFN_vkCmdBindShadersEXT      vkCmdBindShadersEXT      = 0;
17469 
17470     //=== VK_QCOM_tile_properties ===
17471     PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
17472     PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
17473 
17474     //=== VK_NV_low_latency2 ===
17475     PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
17476     PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
17477     PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
17478     PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
17479     PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
17480 
17481     //=== VK_KHR_cooperative_matrix ===
17482     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
17483 
17484     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
17485     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
17486 
17487 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
17488     //=== VK_QNX_external_memory_screen_buffer ===
17489     PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
17490 #else
17491     PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
17492 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17493 
17494     //=== VK_KHR_calibrated_timestamps ===
17495     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
17496     PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
17497 
17498     //=== VK_KHR_maintenance6 ===
17499     PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
17500     PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
17501     PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
17502     PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
17503     PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
17504     PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
17505 
17506   public:
17507     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
17508     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
17509 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)17510     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
17511     {
17512       init( getInstanceProcAddr );
17513     }
17514 
17515     // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)17516     DispatchLoaderDynamic( VkInstance                instance,
17517                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
17518                            VkDevice                  device            = {},
17519                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
17520     {
17521       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
17522     }
17523 
17524     template <typename DynamicLoader
17525 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
17526               = VULKAN_HPP_NAMESPACE::DynamicLoader
17527 #endif
17528               >
init()17529     void init()
17530     {
17531       static DynamicLoader dl;
17532       init( dl );
17533     }
17534 
17535     template <typename DynamicLoader>
init(DynamicLoader const & dl)17536     void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
17537     {
17538       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
17539       init( getInstanceProcAddr );
17540     }
17541 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)17542     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
17543     {
17544       VULKAN_HPP_ASSERT( getInstanceProcAddr );
17545 
17546       vkGetInstanceProcAddr = getInstanceProcAddr;
17547 
17548       //=== VK_VERSION_1_0 ===
17549       vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
17550       vkEnumerateInstanceExtensionProperties =
17551         PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
17552       vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
17553 
17554       //=== VK_VERSION_1_1 ===
17555       vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
17556     }
17557 
17558     // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)17559     void init( VkInstance                instance,
17560                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
17561                VkDevice                  device              = {},
17562                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
17563     {
17564       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
17565       vkGetInstanceProcAddr = getInstanceProcAddr;
17566       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
17567       if ( device )
17568       {
17569         init( VULKAN_HPP_NAMESPACE::Device( device ) );
17570       }
17571     }
17572 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)17573     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
17574     {
17575       VkInstance instance = static_cast<VkInstance>( instanceCpp );
17576 
17577       //=== VK_VERSION_1_0 ===
17578       vkDestroyInstance                   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
17579       vkEnumeratePhysicalDevices          = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
17580       vkGetPhysicalDeviceFeatures         = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
17581       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
17582       vkGetPhysicalDeviceImageFormatProperties =
17583         PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
17584       vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
17585       vkGetPhysicalDeviceQueueFamilyProperties =
17586         PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
17587       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
17588       vkGetDeviceProcAddr                 = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
17589       vkCreateDevice                      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
17590       vkDestroyDevice                     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
17591       vkEnumerateDeviceExtensionProperties =
17592         PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
17593       vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
17594       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
17595       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
17596       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
17597       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
17598       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
17599       vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
17600       vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
17601       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
17602       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
17603       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
17604       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
17605       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
17606       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
17607       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
17608       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
17609       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
17610       vkGetPhysicalDeviceSparseImageFormatProperties =
17611         PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
17612       vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
17613       vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
17614       vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
17615       vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
17616       vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
17617       vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
17618       vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
17619       vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
17620       vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
17621       vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
17622       vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
17623       vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
17624       vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
17625       vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
17626       vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
17627       vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
17628       vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
17629       vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
17630       vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
17631       vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
17632       vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
17633       vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
17634       vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
17635       vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
17636       vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
17637       vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
17638       vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
17639       vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
17640       vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
17641       vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
17642       vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
17643       vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
17644       vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
17645       vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
17646       vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
17647       vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
17648       vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
17649       vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
17650       vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
17651       vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
17652       vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
17653       vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
17654       vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
17655       vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
17656       vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
17657       vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
17658       vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
17659       vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
17660       vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
17661       vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
17662       vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
17663       vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
17664       vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
17665       vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
17666       vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
17667       vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
17668       vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
17669       vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
17670       vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
17671       vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
17672       vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
17673       vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
17674       vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
17675       vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
17676       vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
17677       vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
17678       vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
17679       vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
17680       vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
17681       vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
17682       vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
17683       vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
17684       vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
17685       vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
17686       vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
17687       vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
17688       vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
17689       vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
17690       vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
17691       vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
17692       vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
17693       vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
17694       vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
17695       vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
17696       vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
17697       vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
17698       vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
17699       vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
17700       vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
17701       vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
17702       vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
17703       vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
17704       vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
17705       vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
17706       vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
17707       vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
17708       vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
17709       vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
17710       vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
17711       vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
17712       vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
17713       vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
17714       vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
17715 
17716       //=== VK_VERSION_1_1 ===
17717       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
17718       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
17719       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
17720       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
17721       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
17722       vkEnumeratePhysicalDeviceGroups     = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
17723       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
17724       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
17725       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
17726       vkGetPhysicalDeviceFeatures2        = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
17727       vkGetPhysicalDeviceProperties2      = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
17728       vkGetPhysicalDeviceFormatProperties2 =
17729         PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
17730       vkGetPhysicalDeviceImageFormatProperties2 =
17731         PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
17732       vkGetPhysicalDeviceQueueFamilyProperties2 =
17733         PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
17734       vkGetPhysicalDeviceMemoryProperties2 =
17735         PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
17736       vkGetPhysicalDeviceSparseImageFormatProperties2 =
17737         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
17738       vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
17739       vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
17740       vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
17741       vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
17742       vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
17743       vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
17744       vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
17745       vkGetPhysicalDeviceExternalBufferProperties =
17746         PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
17747       vkGetPhysicalDeviceExternalFenceProperties =
17748         PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
17749       vkGetPhysicalDeviceExternalSemaphoreProperties =
17750         PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
17751       vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
17752 
17753       //=== VK_VERSION_1_2 ===
17754       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
17755       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
17756       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
17757       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
17758       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
17759       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
17760       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
17761       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
17762       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
17763       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
17764       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
17765       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
17766       vkGetDeviceMemoryOpaqueCaptureAddress =
17767         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
17768 
17769       //=== VK_VERSION_1_3 ===
17770       vkGetPhysicalDeviceToolProperties   = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
17771       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
17772       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
17773       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
17774       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
17775       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
17776       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
17777       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
17778       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
17779       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
17780       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
17781       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
17782       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
17783       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
17784       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
17785       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
17786       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
17787       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
17788       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
17789       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
17790       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
17791       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
17792       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
17793       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
17794       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
17795       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
17796       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
17797       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
17798       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
17799       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
17800       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
17801       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
17802       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
17803       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
17804       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
17805       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
17806       vkGetDeviceImageSparseMemoryRequirements =
17807         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
17808 
17809       //=== VK_KHR_surface ===
17810       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
17811       vkGetPhysicalDeviceSurfaceSupportKHR =
17812         PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
17813       vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
17814         PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
17815       vkGetPhysicalDeviceSurfaceFormatsKHR =
17816         PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
17817       vkGetPhysicalDeviceSurfacePresentModesKHR =
17818         PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
17819 
17820       //=== VK_KHR_swapchain ===
17821       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
17822       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
17823       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
17824       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
17825       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
17826       vkGetDeviceGroupPresentCapabilitiesKHR =
17827         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
17828       vkGetDeviceGroupSurfacePresentModesKHR =
17829         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
17830       vkGetPhysicalDevicePresentRectanglesKHR =
17831         PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
17832       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
17833 
17834       //=== VK_KHR_display ===
17835       vkGetPhysicalDeviceDisplayPropertiesKHR =
17836         PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
17837       vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
17838         PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
17839       vkGetDisplayPlaneSupportedDisplaysKHR =
17840         PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
17841       vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
17842       vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
17843       vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
17844       vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
17845 
17846       //=== VK_KHR_display_swapchain ===
17847       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
17848 
17849 #if defined( VK_USE_PLATFORM_XLIB_KHR )
17850       //=== VK_KHR_xlib_surface ===
17851       vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
17852       vkGetPhysicalDeviceXlibPresentationSupportKHR =
17853         PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
17854 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
17855 
17856 #if defined( VK_USE_PLATFORM_XCB_KHR )
17857       //=== VK_KHR_xcb_surface ===
17858       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
17859       vkGetPhysicalDeviceXcbPresentationSupportKHR =
17860         PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
17861 #endif /*VK_USE_PLATFORM_XCB_KHR*/
17862 
17863 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
17864       //=== VK_KHR_wayland_surface ===
17865       vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
17866       vkGetPhysicalDeviceWaylandPresentationSupportKHR =
17867         PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
17868 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
17869 
17870 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17871       //=== VK_KHR_android_surface ===
17872       vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
17873 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17874 
17875 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17876       //=== VK_KHR_win32_surface ===
17877       vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
17878       vkGetPhysicalDeviceWin32PresentationSupportKHR =
17879         PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
17880 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17881 
17882       //=== VK_EXT_debug_report ===
17883       vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
17884       vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
17885       vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
17886 
17887       //=== VK_EXT_debug_marker ===
17888       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
17889       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
17890       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
17891       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
17892       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
17893 
17894       //=== VK_KHR_video_queue ===
17895       vkGetPhysicalDeviceVideoCapabilitiesKHR =
17896         PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
17897       vkGetPhysicalDeviceVideoFormatPropertiesKHR =
17898         PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
17899       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
17900       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
17901       vkGetVideoSessionMemoryRequirementsKHR =
17902         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
17903       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
17904       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
17905       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
17906       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
17907       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
17908       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
17909       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
17910 
17911       //=== VK_KHR_video_decode_queue ===
17912       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
17913 
17914       //=== VK_EXT_transform_feedback ===
17915       vkCmdBindTransformFeedbackBuffersEXT =
17916         PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
17917       vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
17918       vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
17919       vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
17920       vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
17921       vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
17922 
17923       //=== VK_NVX_binary_import ===
17924       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
17925       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
17926       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
17927       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
17928       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
17929 
17930       //=== VK_NVX_image_view_handle ===
17931       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
17932       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
17933 
17934       //=== VK_AMD_draw_indirect_count ===
17935       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
17936       if ( !vkCmdDrawIndirectCount )
17937         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
17938       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
17939       if ( !vkCmdDrawIndexedIndirectCount )
17940         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
17941 
17942       //=== VK_AMD_shader_info ===
17943       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
17944 
17945       //=== VK_KHR_dynamic_rendering ===
17946       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
17947       if ( !vkCmdBeginRendering )
17948         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
17949       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
17950       if ( !vkCmdEndRendering )
17951         vkCmdEndRendering = vkCmdEndRenderingKHR;
17952 
17953 #if defined( VK_USE_PLATFORM_GGP )
17954       //=== VK_GGP_stream_descriptor_surface ===
17955       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
17956 #endif /*VK_USE_PLATFORM_GGP*/
17957 
17958       //=== VK_NV_external_memory_capabilities ===
17959       vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
17960         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
17961 
17962 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17963       //=== VK_NV_external_memory_win32 ===
17964       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
17965 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17966 
17967       //=== VK_KHR_get_physical_device_properties2 ===
17968       vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
17969       if ( !vkGetPhysicalDeviceFeatures2 )
17970         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
17971       vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
17972       if ( !vkGetPhysicalDeviceProperties2 )
17973         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
17974       vkGetPhysicalDeviceFormatProperties2KHR =
17975         PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
17976       if ( !vkGetPhysicalDeviceFormatProperties2 )
17977         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
17978       vkGetPhysicalDeviceImageFormatProperties2KHR =
17979         PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
17980       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
17981         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
17982       vkGetPhysicalDeviceQueueFamilyProperties2KHR =
17983         PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
17984       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
17985         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
17986       vkGetPhysicalDeviceMemoryProperties2KHR =
17987         PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
17988       if ( !vkGetPhysicalDeviceMemoryProperties2 )
17989         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
17990       vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
17991         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
17992       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
17993         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
17994 
17995       //=== VK_KHR_device_group ===
17996       vkGetDeviceGroupPeerMemoryFeaturesKHR =
17997         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
17998       if ( !vkGetDeviceGroupPeerMemoryFeatures )
17999         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
18000       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
18001       if ( !vkCmdSetDeviceMask )
18002         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
18003       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
18004       if ( !vkCmdDispatchBase )
18005         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
18006 
18007 #if defined( VK_USE_PLATFORM_VI_NN )
18008       //=== VK_NN_vi_surface ===
18009       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
18010 #endif /*VK_USE_PLATFORM_VI_NN*/
18011 
18012       //=== VK_KHR_maintenance1 ===
18013       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
18014       if ( !vkTrimCommandPool )
18015         vkTrimCommandPool = vkTrimCommandPoolKHR;
18016 
18017       //=== VK_KHR_device_group_creation ===
18018       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
18019       if ( !vkEnumeratePhysicalDeviceGroups )
18020         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
18021 
18022       //=== VK_KHR_external_memory_capabilities ===
18023       vkGetPhysicalDeviceExternalBufferPropertiesKHR =
18024         PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
18025       if ( !vkGetPhysicalDeviceExternalBufferProperties )
18026         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
18027 
18028 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18029       //=== VK_KHR_external_memory_win32 ===
18030       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
18031       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
18032 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18033 
18034       //=== VK_KHR_external_memory_fd ===
18035       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
18036       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
18037 
18038       //=== VK_KHR_external_semaphore_capabilities ===
18039       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
18040         PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
18041       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
18042         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
18043 
18044 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18045       //=== VK_KHR_external_semaphore_win32 ===
18046       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
18047       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
18048 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18049 
18050       //=== VK_KHR_external_semaphore_fd ===
18051       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
18052       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
18053 
18054       //=== VK_KHR_push_descriptor ===
18055       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
18056       vkCmdPushDescriptorSetWithTemplateKHR =
18057         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
18058 
18059       //=== VK_EXT_conditional_rendering ===
18060       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
18061       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
18062 
18063       //=== VK_KHR_descriptor_update_template ===
18064       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
18065       if ( !vkCreateDescriptorUpdateTemplate )
18066         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
18067       vkDestroyDescriptorUpdateTemplateKHR =
18068         PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
18069       if ( !vkDestroyDescriptorUpdateTemplate )
18070         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
18071       vkUpdateDescriptorSetWithTemplateKHR =
18072         PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
18073       if ( !vkUpdateDescriptorSetWithTemplate )
18074         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
18075 
18076       //=== VK_NV_clip_space_w_scaling ===
18077       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
18078 
18079       //=== VK_EXT_direct_mode_display ===
18080       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
18081 
18082 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18083       //=== VK_EXT_acquire_xlib_display ===
18084       vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
18085       vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
18086 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18087 
18088       //=== VK_EXT_display_surface_counter ===
18089       vkGetPhysicalDeviceSurfaceCapabilities2EXT =
18090         PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
18091 
18092       //=== VK_EXT_display_control ===
18093       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
18094       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
18095       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
18096       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
18097 
18098       //=== VK_GOOGLE_display_timing ===
18099       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
18100       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
18101 
18102       //=== VK_EXT_discard_rectangles ===
18103       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
18104       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
18105       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
18106 
18107       //=== VK_EXT_hdr_metadata ===
18108       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
18109 
18110       //=== VK_KHR_create_renderpass2 ===
18111       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
18112       if ( !vkCreateRenderPass2 )
18113         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
18114       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
18115       if ( !vkCmdBeginRenderPass2 )
18116         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
18117       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
18118       if ( !vkCmdNextSubpass2 )
18119         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
18120       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
18121       if ( !vkCmdEndRenderPass2 )
18122         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
18123 
18124       //=== VK_KHR_shared_presentable_image ===
18125       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
18126 
18127       //=== VK_KHR_external_fence_capabilities ===
18128       vkGetPhysicalDeviceExternalFencePropertiesKHR =
18129         PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
18130       if ( !vkGetPhysicalDeviceExternalFenceProperties )
18131         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
18132 
18133 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18134       //=== VK_KHR_external_fence_win32 ===
18135       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
18136       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
18137 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18138 
18139       //=== VK_KHR_external_fence_fd ===
18140       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
18141       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
18142 
18143       //=== VK_KHR_performance_query ===
18144       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
18145         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
18146       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
18147         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
18148       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
18149       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
18150 
18151       //=== VK_KHR_get_surface_capabilities2 ===
18152       vkGetPhysicalDeviceSurfaceCapabilities2KHR =
18153         PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
18154       vkGetPhysicalDeviceSurfaceFormats2KHR =
18155         PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
18156 
18157       //=== VK_KHR_get_display_properties2 ===
18158       vkGetPhysicalDeviceDisplayProperties2KHR =
18159         PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
18160       vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
18161         PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
18162       vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
18163       vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
18164 
18165 #if defined( VK_USE_PLATFORM_IOS_MVK )
18166       //=== VK_MVK_ios_surface ===
18167       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
18168 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18169 
18170 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18171       //=== VK_MVK_macos_surface ===
18172       vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
18173 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18174 
18175       //=== VK_EXT_debug_utils ===
18176       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
18177       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
18178       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
18179       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
18180       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
18181       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
18182       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
18183       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
18184       vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
18185       vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
18186       vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
18187 
18188 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18189       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18190       vkGetAndroidHardwareBufferPropertiesANDROID =
18191         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
18192       vkGetMemoryAndroidHardwareBufferANDROID =
18193         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
18194 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18195 
18196 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18197       //=== VK_AMDX_shader_enqueue ===
18198       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
18199       vkGetExecutionGraphPipelineScratchSizeAMDX =
18200         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
18201       vkGetExecutionGraphPipelineNodeIndexAMDX =
18202         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
18203       vkCmdInitializeGraphScratchMemoryAMDX =
18204         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
18205       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
18206       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
18207       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
18208 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18209 
18210       //=== VK_EXT_sample_locations ===
18211       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
18212       vkGetPhysicalDeviceMultisamplePropertiesEXT =
18213         PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
18214 
18215       //=== VK_KHR_get_memory_requirements2 ===
18216       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
18217       if ( !vkGetImageMemoryRequirements2 )
18218         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
18219       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
18220       if ( !vkGetBufferMemoryRequirements2 )
18221         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
18222       vkGetImageSparseMemoryRequirements2KHR =
18223         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
18224       if ( !vkGetImageSparseMemoryRequirements2 )
18225         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
18226 
18227       //=== VK_KHR_acceleration_structure ===
18228       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
18229       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
18230       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
18231       vkCmdBuildAccelerationStructuresIndirectKHR =
18232         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
18233       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
18234       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
18235       vkCopyAccelerationStructureToMemoryKHR =
18236         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
18237       vkCopyMemoryToAccelerationStructureKHR =
18238         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
18239       vkWriteAccelerationStructuresPropertiesKHR =
18240         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
18241       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
18242       vkCmdCopyAccelerationStructureToMemoryKHR =
18243         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
18244       vkCmdCopyMemoryToAccelerationStructureKHR =
18245         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
18246       vkGetAccelerationStructureDeviceAddressKHR =
18247         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
18248       vkCmdWriteAccelerationStructuresPropertiesKHR =
18249         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
18250       vkGetDeviceAccelerationStructureCompatibilityKHR =
18251         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
18252       vkGetAccelerationStructureBuildSizesKHR =
18253         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
18254 
18255       //=== VK_KHR_ray_tracing_pipeline ===
18256       vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
18257       vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
18258       vkGetRayTracingShaderGroupHandlesKHR =
18259         PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
18260       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
18261         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
18262       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
18263       vkGetRayTracingShaderGroupStackSizeKHR =
18264         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
18265       vkCmdSetRayTracingPipelineStackSizeKHR =
18266         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
18267 
18268       //=== VK_KHR_sampler_ycbcr_conversion ===
18269       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
18270       if ( !vkCreateSamplerYcbcrConversion )
18271         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
18272       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
18273       if ( !vkDestroySamplerYcbcrConversion )
18274         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
18275 
18276       //=== VK_KHR_bind_memory2 ===
18277       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
18278       if ( !vkBindBufferMemory2 )
18279         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
18280       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
18281       if ( !vkBindImageMemory2 )
18282         vkBindImageMemory2 = vkBindImageMemory2KHR;
18283 
18284       //=== VK_EXT_image_drm_format_modifier ===
18285       vkGetImageDrmFormatModifierPropertiesEXT =
18286         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
18287 
18288       //=== VK_EXT_validation_cache ===
18289       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
18290       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
18291       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
18292       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
18293 
18294       //=== VK_NV_shading_rate_image ===
18295       vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
18296       vkCmdSetViewportShadingRatePaletteNV =
18297         PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
18298       vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
18299 
18300       //=== VK_NV_ray_tracing ===
18301       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
18302       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
18303       vkGetAccelerationStructureMemoryRequirementsNV =
18304         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
18305       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
18306       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
18307       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
18308       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
18309       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
18310       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
18311       if ( !vkGetRayTracingShaderGroupHandlesKHR )
18312         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
18313       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
18314       vkCmdWriteAccelerationStructuresPropertiesNV =
18315         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
18316       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
18317 
18318       //=== VK_KHR_maintenance3 ===
18319       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
18320       if ( !vkGetDescriptorSetLayoutSupport )
18321         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
18322 
18323       //=== VK_KHR_draw_indirect_count ===
18324       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
18325       if ( !vkCmdDrawIndirectCount )
18326         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
18327       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
18328       if ( !vkCmdDrawIndexedIndirectCount )
18329         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
18330 
18331       //=== VK_EXT_external_memory_host ===
18332       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
18333 
18334       //=== VK_AMD_buffer_marker ===
18335       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
18336 
18337       //=== VK_EXT_calibrated_timestamps ===
18338       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
18339         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
18340       if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
18341         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
18342       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
18343       if ( !vkGetCalibratedTimestampsKHR )
18344         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
18345 
18346       //=== VK_NV_mesh_shader ===
18347       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
18348       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
18349       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
18350 
18351       //=== VK_NV_scissor_exclusive ===
18352       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
18353       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
18354 
18355       //=== VK_NV_device_diagnostic_checkpoints ===
18356       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
18357       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
18358 
18359       //=== VK_KHR_timeline_semaphore ===
18360       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
18361       if ( !vkGetSemaphoreCounterValue )
18362         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
18363       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
18364       if ( !vkWaitSemaphores )
18365         vkWaitSemaphores = vkWaitSemaphoresKHR;
18366       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
18367       if ( !vkSignalSemaphore )
18368         vkSignalSemaphore = vkSignalSemaphoreKHR;
18369 
18370       //=== VK_INTEL_performance_query ===
18371       vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
18372       vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
18373       vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
18374       vkCmdSetPerformanceStreamMarkerINTEL =
18375         PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
18376       vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
18377       vkAcquirePerformanceConfigurationINTEL =
18378         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
18379       vkReleasePerformanceConfigurationINTEL =
18380         PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
18381       vkQueueSetPerformanceConfigurationINTEL =
18382         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
18383       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
18384 
18385       //=== VK_AMD_display_native_hdr ===
18386       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
18387 
18388 #if defined( VK_USE_PLATFORM_FUCHSIA )
18389       //=== VK_FUCHSIA_imagepipe_surface ===
18390       vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
18391 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18392 
18393 #if defined( VK_USE_PLATFORM_METAL_EXT )
18394       //=== VK_EXT_metal_surface ===
18395       vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
18396 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18397 
18398       //=== VK_KHR_fragment_shading_rate ===
18399       vkGetPhysicalDeviceFragmentShadingRatesKHR =
18400         PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
18401       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
18402 
18403       //=== VK_EXT_buffer_device_address ===
18404       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
18405       if ( !vkGetBufferDeviceAddress )
18406         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
18407 
18408       //=== VK_EXT_tooling_info ===
18409       vkGetPhysicalDeviceToolPropertiesEXT =
18410         PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
18411       if ( !vkGetPhysicalDeviceToolProperties )
18412         vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
18413 
18414       //=== VK_KHR_present_wait ===
18415       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
18416 
18417       //=== VK_NV_cooperative_matrix ===
18418       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
18419         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
18420 
18421       //=== VK_NV_coverage_reduction_mode ===
18422       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
18423         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
18424 
18425 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18426       //=== VK_EXT_full_screen_exclusive ===
18427       vkGetPhysicalDeviceSurfacePresentModes2EXT =
18428         PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
18429       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
18430       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
18431       vkGetDeviceGroupSurfacePresentModes2EXT =
18432         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
18433 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18434 
18435       //=== VK_EXT_headless_surface ===
18436       vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
18437 
18438       //=== VK_KHR_buffer_device_address ===
18439       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
18440       if ( !vkGetBufferDeviceAddress )
18441         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
18442       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
18443       if ( !vkGetBufferOpaqueCaptureAddress )
18444         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
18445       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
18446         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
18447       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
18448         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
18449 
18450       //=== VK_EXT_line_rasterization ===
18451       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
18452 
18453       //=== VK_EXT_host_query_reset ===
18454       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
18455       if ( !vkResetQueryPool )
18456         vkResetQueryPool = vkResetQueryPoolEXT;
18457 
18458       //=== VK_EXT_extended_dynamic_state ===
18459       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
18460       if ( !vkCmdSetCullMode )
18461         vkCmdSetCullMode = vkCmdSetCullModeEXT;
18462       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
18463       if ( !vkCmdSetFrontFace )
18464         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
18465       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
18466       if ( !vkCmdSetPrimitiveTopology )
18467         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
18468       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
18469       if ( !vkCmdSetViewportWithCount )
18470         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
18471       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
18472       if ( !vkCmdSetScissorWithCount )
18473         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
18474       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
18475       if ( !vkCmdBindVertexBuffers2 )
18476         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
18477       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
18478       if ( !vkCmdSetDepthTestEnable )
18479         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
18480       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
18481       if ( !vkCmdSetDepthWriteEnable )
18482         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
18483       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
18484       if ( !vkCmdSetDepthCompareOp )
18485         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
18486       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
18487       if ( !vkCmdSetDepthBoundsTestEnable )
18488         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
18489       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
18490       if ( !vkCmdSetStencilTestEnable )
18491         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
18492       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
18493       if ( !vkCmdSetStencilOp )
18494         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
18495 
18496       //=== VK_KHR_deferred_host_operations ===
18497       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
18498       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
18499       vkGetDeferredOperationMaxConcurrencyKHR =
18500         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
18501       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
18502       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
18503 
18504       //=== VK_KHR_pipeline_executable_properties ===
18505       vkGetPipelineExecutablePropertiesKHR =
18506         PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
18507       vkGetPipelineExecutableStatisticsKHR =
18508         PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
18509       vkGetPipelineExecutableInternalRepresentationsKHR =
18510         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
18511 
18512       //=== VK_EXT_host_image_copy ===
18513       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
18514       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
18515       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
18516       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
18517       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
18518       if ( !vkGetImageSubresourceLayout2KHR )
18519         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
18520 
18521       //=== VK_KHR_map_memory2 ===
18522       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
18523       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
18524 
18525       //=== VK_EXT_swapchain_maintenance1 ===
18526       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
18527 
18528       //=== VK_NV_device_generated_commands ===
18529       vkGetGeneratedCommandsMemoryRequirementsNV =
18530         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
18531       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
18532       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
18533       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
18534       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
18535       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
18536 
18537       //=== VK_EXT_depth_bias_control ===
18538       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
18539 
18540       //=== VK_EXT_acquire_drm_display ===
18541       vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
18542       vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
18543 
18544       //=== VK_EXT_private_data ===
18545       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
18546       if ( !vkCreatePrivateDataSlot )
18547         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
18548       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
18549       if ( !vkDestroyPrivateDataSlot )
18550         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
18551       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
18552       if ( !vkSetPrivateData )
18553         vkSetPrivateData = vkSetPrivateDataEXT;
18554       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
18555       if ( !vkGetPrivateData )
18556         vkGetPrivateData = vkGetPrivateDataEXT;
18557 
18558       //=== VK_KHR_video_encode_queue ===
18559       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
18560         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
18561       vkGetEncodedVideoSessionParametersKHR =
18562         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
18563       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
18564 
18565 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18566       //=== VK_NV_cuda_kernel_launch ===
18567       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
18568       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
18569       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
18570       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
18571       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
18572       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
18573 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18574 
18575 #if defined( VK_USE_PLATFORM_METAL_EXT )
18576       //=== VK_EXT_metal_objects ===
18577       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
18578 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18579 
18580       //=== VK_KHR_synchronization2 ===
18581       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
18582       if ( !vkCmdSetEvent2 )
18583         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
18584       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
18585       if ( !vkCmdResetEvent2 )
18586         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
18587       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
18588       if ( !vkCmdWaitEvents2 )
18589         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
18590       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
18591       if ( !vkCmdPipelineBarrier2 )
18592         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
18593       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
18594       if ( !vkCmdWriteTimestamp2 )
18595         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
18596       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
18597       if ( !vkQueueSubmit2 )
18598         vkQueueSubmit2 = vkQueueSubmit2KHR;
18599       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
18600       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
18601 
18602       //=== VK_EXT_descriptor_buffer ===
18603       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
18604       vkGetDescriptorSetLayoutBindingOffsetEXT =
18605         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
18606       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
18607       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
18608       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
18609       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
18610         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
18611       vkGetBufferOpaqueCaptureDescriptorDataEXT =
18612         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
18613       vkGetImageOpaqueCaptureDescriptorDataEXT =
18614         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
18615       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
18616         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
18617       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
18618         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
18619       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
18620         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
18621 
18622       //=== VK_NV_fragment_shading_rate_enums ===
18623       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
18624 
18625       //=== VK_EXT_mesh_shader ===
18626       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
18627       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
18628       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
18629 
18630       //=== VK_KHR_copy_commands2 ===
18631       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
18632       if ( !vkCmdCopyBuffer2 )
18633         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
18634       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
18635       if ( !vkCmdCopyImage2 )
18636         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
18637       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
18638       if ( !vkCmdCopyBufferToImage2 )
18639         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
18640       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
18641       if ( !vkCmdCopyImageToBuffer2 )
18642         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
18643       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
18644       if ( !vkCmdBlitImage2 )
18645         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
18646       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
18647       if ( !vkCmdResolveImage2 )
18648         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
18649 
18650       //=== VK_EXT_device_fault ===
18651       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
18652 
18653 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18654       //=== VK_NV_acquire_winrt_display ===
18655       vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
18656       vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
18657 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18658 
18659 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
18660       //=== VK_EXT_directfb_surface ===
18661       vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
18662       vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
18663         PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
18664 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
18665 
18666       //=== VK_EXT_vertex_input_dynamic_state ===
18667       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
18668 
18669 #if defined( VK_USE_PLATFORM_FUCHSIA )
18670       //=== VK_FUCHSIA_external_memory ===
18671       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
18672       vkGetMemoryZirconHandlePropertiesFUCHSIA =
18673         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
18674 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18675 
18676 #if defined( VK_USE_PLATFORM_FUCHSIA )
18677       //=== VK_FUCHSIA_external_semaphore ===
18678       vkImportSemaphoreZirconHandleFUCHSIA =
18679         PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
18680       vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
18681 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18682 
18683 #if defined( VK_USE_PLATFORM_FUCHSIA )
18684       //=== VK_FUCHSIA_buffer_collection ===
18685       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
18686       vkSetBufferCollectionImageConstraintsFUCHSIA =
18687         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
18688       vkSetBufferCollectionBufferConstraintsFUCHSIA =
18689         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
18690       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
18691       vkGetBufferCollectionPropertiesFUCHSIA =
18692         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
18693 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18694 
18695       //=== VK_HUAWEI_subpass_shading ===
18696       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
18697         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
18698       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
18699 
18700       //=== VK_HUAWEI_invocation_mask ===
18701       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
18702 
18703       //=== VK_NV_external_memory_rdma ===
18704       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
18705 
18706       //=== VK_EXT_pipeline_properties ===
18707       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
18708 
18709       //=== VK_EXT_extended_dynamic_state2 ===
18710       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
18711       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
18712       if ( !vkCmdSetRasterizerDiscardEnable )
18713         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
18714       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
18715       if ( !vkCmdSetDepthBiasEnable )
18716         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
18717       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
18718       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
18719       if ( !vkCmdSetPrimitiveRestartEnable )
18720         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
18721 
18722 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18723       //=== VK_QNX_screen_surface ===
18724       vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
18725       vkGetPhysicalDeviceScreenPresentationSupportQNX =
18726         PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
18727 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18728 
18729       //=== VK_EXT_color_write_enable ===
18730       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
18731 
18732       //=== VK_KHR_ray_tracing_maintenance1 ===
18733       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
18734 
18735       //=== VK_EXT_multi_draw ===
18736       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
18737       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
18738 
18739       //=== VK_EXT_opacity_micromap ===
18740       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
18741       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
18742       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
18743       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
18744       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
18745       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
18746       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
18747       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
18748       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
18749       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
18750       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
18751       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
18752       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
18753       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
18754 
18755       //=== VK_HUAWEI_cluster_culling_shader ===
18756       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
18757       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
18758 
18759       //=== VK_EXT_pageable_device_local_memory ===
18760       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
18761 
18762       //=== VK_KHR_maintenance4 ===
18763       vkGetDeviceBufferMemoryRequirementsKHR =
18764         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
18765       if ( !vkGetDeviceBufferMemoryRequirements )
18766         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
18767       vkGetDeviceImageMemoryRequirementsKHR =
18768         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
18769       if ( !vkGetDeviceImageMemoryRequirements )
18770         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
18771       vkGetDeviceImageSparseMemoryRequirementsKHR =
18772         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
18773       if ( !vkGetDeviceImageSparseMemoryRequirements )
18774         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
18775 
18776       //=== VK_VALVE_descriptor_set_host_mapping ===
18777       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
18778         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
18779       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
18780 
18781       //=== VK_NV_copy_memory_indirect ===
18782       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
18783       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
18784 
18785       //=== VK_NV_memory_decompression ===
18786       vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
18787       vkCmdDecompressMemoryIndirectCountNV =
18788         PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
18789 
18790       //=== VK_NV_device_generated_commands_compute ===
18791       vkGetPipelineIndirectMemoryRequirementsNV =
18792         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
18793       vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
18794       vkGetPipelineIndirectDeviceAddressNV =
18795         PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
18796 
18797       //=== VK_EXT_extended_dynamic_state3 ===
18798       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
18799       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
18800       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
18801       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
18802       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
18803       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
18804       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
18805       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
18806       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
18807       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
18808       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
18809       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
18810       vkCmdSetConservativeRasterizationModeEXT =
18811         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
18812       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
18813         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
18814       vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
18815       vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
18816       vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
18817       vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
18818       vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
18819       vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
18820       vkCmdSetDepthClipNegativeOneToOneEXT =
18821         PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
18822       vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
18823       vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
18824       vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
18825       vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
18826       vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
18827       vkCmdSetCoverageModulationTableEnableNV =
18828         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
18829       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
18830       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
18831       vkCmdSetRepresentativeFragmentTestEnableNV =
18832         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
18833       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
18834 
18835       //=== VK_EXT_shader_module_identifier ===
18836       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
18837       vkGetShaderModuleCreateInfoIdentifierEXT =
18838         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
18839 
18840       //=== VK_NV_optical_flow ===
18841       vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
18842         PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
18843       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
18844       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
18845       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
18846       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
18847 
18848       //=== VK_KHR_maintenance5 ===
18849       vkCmdBindIndexBuffer2KHR         = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
18850       vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
18851       vkGetDeviceImageSubresourceLayoutKHR =
18852         PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
18853       vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
18854 
18855       //=== VK_EXT_shader_object ===
18856       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
18857       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
18858       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
18859       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
18860 
18861       //=== VK_QCOM_tile_properties ===
18862       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
18863       vkGetDynamicRenderingTilePropertiesQCOM =
18864         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
18865 
18866       //=== VK_NV_low_latency2 ===
18867       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
18868       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
18869       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
18870       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
18871       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
18872 
18873       //=== VK_KHR_cooperative_matrix ===
18874       vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
18875         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
18876 
18877       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
18878       vkCmdSetAttachmentFeedbackLoopEnableEXT =
18879         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
18880 
18881 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18882       //=== VK_QNX_external_memory_screen_buffer ===
18883       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
18884 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18885 
18886       //=== VK_KHR_calibrated_timestamps ===
18887       vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
18888         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
18889       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
18890 
18891       //=== VK_KHR_maintenance6 ===
18892       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
18893       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
18894       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
18895       vkCmdPushDescriptorSetWithTemplate2KHR =
18896         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
18897       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
18898       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
18899         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
18900     }
18901 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)18902     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
18903     {
18904       VkDevice device = static_cast<VkDevice>( deviceCpp );
18905 
18906       //=== VK_VERSION_1_0 ===
18907       vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
18908       vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
18909       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
18910       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
18911       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
18912       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
18913       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
18914       vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
18915       vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
18916       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
18917       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
18918       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
18919       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
18920       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
18921       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
18922       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
18923       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
18924       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
18925       vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
18926       vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
18927       vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
18928       vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
18929       vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
18930       vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
18931       vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
18932       vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
18933       vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
18934       vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
18935       vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
18936       vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
18937       vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
18938       vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
18939       vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
18940       vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
18941       vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
18942       vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
18943       vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
18944       vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
18945       vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
18946       vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
18947       vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
18948       vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
18949       vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
18950       vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
18951       vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
18952       vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
18953       vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
18954       vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
18955       vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
18956       vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
18957       vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
18958       vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
18959       vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
18960       vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
18961       vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
18962       vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
18963       vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
18964       vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
18965       vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
18966       vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
18967       vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
18968       vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
18969       vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
18970       vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
18971       vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
18972       vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
18973       vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
18974       vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
18975       vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
18976       vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
18977       vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
18978       vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
18979       vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
18980       vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
18981       vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
18982       vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
18983       vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
18984       vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
18985       vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
18986       vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
18987       vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
18988       vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
18989       vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
18990       vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
18991       vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
18992       vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
18993       vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
18994       vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
18995       vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
18996       vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
18997       vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
18998       vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
18999       vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
19000       vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
19001       vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
19002       vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
19003       vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
19004       vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
19005       vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
19006       vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
19007       vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
19008       vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
19009       vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
19010       vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
19011       vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
19012       vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
19013       vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
19014       vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
19015       vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
19016       vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
19017       vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
19018       vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
19019       vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
19020       vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
19021       vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
19022       vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
19023       vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
19024       vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
19025       vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
19026       vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
19027       vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
19028 
19029       //=== VK_VERSION_1_1 ===
19030       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
19031       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
19032       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19033       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
19034       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
19035       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
19036       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
19037       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
19038       vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
19039       vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
19040       vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
19041       vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
19042       vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
19043       vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
19044       vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
19045       vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
19046 
19047       //=== VK_VERSION_1_2 ===
19048       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
19049       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
19050       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
19051       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
19052       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
19053       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
19054       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
19055       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
19056       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
19057       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
19058       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
19059       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
19060       vkGetDeviceMemoryOpaqueCaptureAddress =
19061         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19062 
19063       //=== VK_VERSION_1_3 ===
19064       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
19065       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
19066       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
19067       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
19068       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
19069       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
19070       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
19071       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
19072       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
19073       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
19074       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
19075       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
19076       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
19077       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
19078       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
19079       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
19080       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
19081       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
19082       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
19083       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
19084       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
19085       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
19086       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
19087       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
19088       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
19089       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
19090       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
19091       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
19092       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
19093       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
19094       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
19095       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
19096       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
19097       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
19098       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
19099       vkGetDeviceImageSparseMemoryRequirements =
19100         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
19101 
19102       //=== VK_KHR_swapchain ===
19103       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
19104       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
19105       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
19106       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
19107       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
19108       vkGetDeviceGroupPresentCapabilitiesKHR =
19109         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19110       vkGetDeviceGroupSurfacePresentModesKHR =
19111         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19112       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
19113 
19114       //=== VK_KHR_display_swapchain ===
19115       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
19116 
19117       //=== VK_EXT_debug_marker ===
19118       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
19119       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
19120       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
19121       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
19122       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
19123 
19124       //=== VK_KHR_video_queue ===
19125       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
19126       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
19127       vkGetVideoSessionMemoryRequirementsKHR =
19128         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
19129       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
19130       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
19131       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
19132       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
19133       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
19134       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
19135       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
19136 
19137       //=== VK_KHR_video_decode_queue ===
19138       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
19139 
19140       //=== VK_EXT_transform_feedback ===
19141       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
19142       vkCmdBeginTransformFeedbackEXT       = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
19143       vkCmdEndTransformFeedbackEXT         = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
19144       vkCmdBeginQueryIndexedEXT            = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
19145       vkCmdEndQueryIndexedEXT              = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
19146       vkCmdDrawIndirectByteCountEXT        = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
19147 
19148       //=== VK_NVX_binary_import ===
19149       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
19150       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
19151       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
19152       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
19153       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
19154 
19155       //=== VK_NVX_image_view_handle ===
19156       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
19157       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
19158 
19159       //=== VK_AMD_draw_indirect_count ===
19160       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
19161       if ( !vkCmdDrawIndirectCount )
19162         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
19163       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
19164       if ( !vkCmdDrawIndexedIndirectCount )
19165         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
19166 
19167       //=== VK_AMD_shader_info ===
19168       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
19169 
19170       //=== VK_KHR_dynamic_rendering ===
19171       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
19172       if ( !vkCmdBeginRendering )
19173         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
19174       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
19175       if ( !vkCmdEndRendering )
19176         vkCmdEndRendering = vkCmdEndRenderingKHR;
19177 
19178 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19179       //=== VK_NV_external_memory_win32 ===
19180       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
19181 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19182 
19183       //=== VK_KHR_device_group ===
19184       vkGetDeviceGroupPeerMemoryFeaturesKHR =
19185         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
19186       if ( !vkGetDeviceGroupPeerMemoryFeatures )
19187         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
19188       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
19189       if ( !vkCmdSetDeviceMask )
19190         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
19191       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
19192       if ( !vkCmdDispatchBase )
19193         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
19194 
19195       //=== VK_KHR_maintenance1 ===
19196       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
19197       if ( !vkTrimCommandPool )
19198         vkTrimCommandPool = vkTrimCommandPoolKHR;
19199 
19200 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19201       //=== VK_KHR_external_memory_win32 ===
19202       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
19203       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
19204 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19205 
19206       //=== VK_KHR_external_memory_fd ===
19207       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
19208       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
19209 
19210 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19211       //=== VK_KHR_external_semaphore_win32 ===
19212       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
19213       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
19214 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19215 
19216       //=== VK_KHR_external_semaphore_fd ===
19217       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
19218       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
19219 
19220       //=== VK_KHR_push_descriptor ===
19221       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
19222       vkCmdPushDescriptorSetWithTemplateKHR =
19223         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
19224 
19225       //=== VK_EXT_conditional_rendering ===
19226       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
19227       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
19228 
19229       //=== VK_KHR_descriptor_update_template ===
19230       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
19231       if ( !vkCreateDescriptorUpdateTemplate )
19232         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
19233       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
19234       if ( !vkDestroyDescriptorUpdateTemplate )
19235         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
19236       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
19237       if ( !vkUpdateDescriptorSetWithTemplate )
19238         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
19239 
19240       //=== VK_NV_clip_space_w_scaling ===
19241       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
19242 
19243       //=== VK_EXT_display_control ===
19244       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
19245       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
19246       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
19247       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
19248 
19249       //=== VK_GOOGLE_display_timing ===
19250       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
19251       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
19252 
19253       //=== VK_EXT_discard_rectangles ===
19254       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
19255       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
19256       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
19257 
19258       //=== VK_EXT_hdr_metadata ===
19259       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
19260 
19261       //=== VK_KHR_create_renderpass2 ===
19262       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
19263       if ( !vkCreateRenderPass2 )
19264         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
19265       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
19266       if ( !vkCmdBeginRenderPass2 )
19267         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
19268       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
19269       if ( !vkCmdNextSubpass2 )
19270         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
19271       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
19272       if ( !vkCmdEndRenderPass2 )
19273         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
19274 
19275       //=== VK_KHR_shared_presentable_image ===
19276       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
19277 
19278 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19279       //=== VK_KHR_external_fence_win32 ===
19280       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
19281       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
19282 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19283 
19284       //=== VK_KHR_external_fence_fd ===
19285       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
19286       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
19287 
19288       //=== VK_KHR_performance_query ===
19289       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
19290       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
19291 
19292       //=== VK_EXT_debug_utils ===
19293       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
19294       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
19295       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
19296       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
19297       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
19298       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
19299       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
19300       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
19301 
19302 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19303       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
19304       vkGetAndroidHardwareBufferPropertiesANDROID =
19305         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
19306       vkGetMemoryAndroidHardwareBufferANDROID =
19307         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
19308 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19309 
19310 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19311       //=== VK_AMDX_shader_enqueue ===
19312       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
19313       vkGetExecutionGraphPipelineScratchSizeAMDX =
19314         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
19315       vkGetExecutionGraphPipelineNodeIndexAMDX =
19316         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
19317       vkCmdInitializeGraphScratchMemoryAMDX =
19318         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
19319       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
19320       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
19321       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
19322 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19323 
19324       //=== VK_EXT_sample_locations ===
19325       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
19326 
19327       //=== VK_KHR_get_memory_requirements2 ===
19328       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
19329       if ( !vkGetImageMemoryRequirements2 )
19330         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
19331       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
19332       if ( !vkGetBufferMemoryRequirements2 )
19333         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
19334       vkGetImageSparseMemoryRequirements2KHR =
19335         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
19336       if ( !vkGetImageSparseMemoryRequirements2 )
19337         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
19338 
19339       //=== VK_KHR_acceleration_structure ===
19340       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
19341       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
19342       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
19343       vkCmdBuildAccelerationStructuresIndirectKHR =
19344         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
19345       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
19346       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
19347       vkCopyAccelerationStructureToMemoryKHR =
19348         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
19349       vkCopyMemoryToAccelerationStructureKHR =
19350         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
19351       vkWriteAccelerationStructuresPropertiesKHR =
19352         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
19353       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
19354       vkCmdCopyAccelerationStructureToMemoryKHR =
19355         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
19356       vkCmdCopyMemoryToAccelerationStructureKHR =
19357         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
19358       vkGetAccelerationStructureDeviceAddressKHR =
19359         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
19360       vkCmdWriteAccelerationStructuresPropertiesKHR =
19361         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
19362       vkGetDeviceAccelerationStructureCompatibilityKHR =
19363         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
19364       vkGetAccelerationStructureBuildSizesKHR =
19365         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
19366 
19367       //=== VK_KHR_ray_tracing_pipeline ===
19368       vkCmdTraceRaysKHR                    = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
19369       vkCreateRayTracingPipelinesKHR       = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
19370       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
19371       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
19372         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
19373       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
19374       vkGetRayTracingShaderGroupStackSizeKHR =
19375         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
19376       vkCmdSetRayTracingPipelineStackSizeKHR =
19377         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
19378 
19379       //=== VK_KHR_sampler_ycbcr_conversion ===
19380       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
19381       if ( !vkCreateSamplerYcbcrConversion )
19382         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
19383       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
19384       if ( !vkDestroySamplerYcbcrConversion )
19385         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
19386 
19387       //=== VK_KHR_bind_memory2 ===
19388       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
19389       if ( !vkBindBufferMemory2 )
19390         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
19391       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
19392       if ( !vkBindImageMemory2 )
19393         vkBindImageMemory2 = vkBindImageMemory2KHR;
19394 
19395       //=== VK_EXT_image_drm_format_modifier ===
19396       vkGetImageDrmFormatModifierPropertiesEXT =
19397         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
19398 
19399       //=== VK_EXT_validation_cache ===
19400       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
19401       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
19402       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
19403       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
19404 
19405       //=== VK_NV_shading_rate_image ===
19406       vkCmdBindShadingRateImageNV          = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
19407       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
19408       vkCmdSetCoarseSampleOrderNV          = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
19409 
19410       //=== VK_NV_ray_tracing ===
19411       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
19412       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
19413       vkGetAccelerationStructureMemoryRequirementsNV =
19414         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
19415       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
19416       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
19417       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
19418       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
19419       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
19420       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
19421       if ( !vkGetRayTracingShaderGroupHandlesKHR )
19422         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
19423       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
19424       vkCmdWriteAccelerationStructuresPropertiesNV =
19425         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
19426       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
19427 
19428       //=== VK_KHR_maintenance3 ===
19429       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
19430       if ( !vkGetDescriptorSetLayoutSupport )
19431         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
19432 
19433       //=== VK_KHR_draw_indirect_count ===
19434       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
19435       if ( !vkCmdDrawIndirectCount )
19436         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
19437       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
19438       if ( !vkCmdDrawIndexedIndirectCount )
19439         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
19440 
19441       //=== VK_EXT_external_memory_host ===
19442       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
19443 
19444       //=== VK_AMD_buffer_marker ===
19445       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
19446 
19447       //=== VK_EXT_calibrated_timestamps ===
19448       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
19449       if ( !vkGetCalibratedTimestampsKHR )
19450         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
19451 
19452       //=== VK_NV_mesh_shader ===
19453       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
19454       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
19455       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
19456 
19457       //=== VK_NV_scissor_exclusive ===
19458       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
19459       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
19460 
19461       //=== VK_NV_device_diagnostic_checkpoints ===
19462       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
19463       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
19464 
19465       //=== VK_KHR_timeline_semaphore ===
19466       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
19467       if ( !vkGetSemaphoreCounterValue )
19468         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
19469       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
19470       if ( !vkWaitSemaphores )
19471         vkWaitSemaphores = vkWaitSemaphoresKHR;
19472       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
19473       if ( !vkSignalSemaphore )
19474         vkSignalSemaphore = vkSignalSemaphoreKHR;
19475 
19476       //=== VK_INTEL_performance_query ===
19477       vkInitializePerformanceApiINTEL      = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
19478       vkUninitializePerformanceApiINTEL    = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
19479       vkCmdSetPerformanceMarkerINTEL       = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
19480       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
19481       vkCmdSetPerformanceOverrideINTEL     = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
19482       vkAcquirePerformanceConfigurationINTEL =
19483         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
19484       vkReleasePerformanceConfigurationINTEL =
19485         PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
19486       vkQueueSetPerformanceConfigurationINTEL =
19487         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
19488       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
19489 
19490       //=== VK_AMD_display_native_hdr ===
19491       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
19492 
19493       //=== VK_KHR_fragment_shading_rate ===
19494       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
19495 
19496       //=== VK_EXT_buffer_device_address ===
19497       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
19498       if ( !vkGetBufferDeviceAddress )
19499         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
19500 
19501       //=== VK_KHR_present_wait ===
19502       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
19503 
19504 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19505       //=== VK_EXT_full_screen_exclusive ===
19506       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
19507       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
19508       vkGetDeviceGroupSurfacePresentModes2EXT =
19509         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
19510 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19511 
19512       //=== VK_KHR_buffer_device_address ===
19513       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
19514       if ( !vkGetBufferDeviceAddress )
19515         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
19516       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
19517       if ( !vkGetBufferOpaqueCaptureAddress )
19518         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
19519       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
19520         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
19521       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
19522         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
19523 
19524       //=== VK_EXT_line_rasterization ===
19525       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
19526 
19527       //=== VK_EXT_host_query_reset ===
19528       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
19529       if ( !vkResetQueryPool )
19530         vkResetQueryPool = vkResetQueryPoolEXT;
19531 
19532       //=== VK_EXT_extended_dynamic_state ===
19533       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
19534       if ( !vkCmdSetCullMode )
19535         vkCmdSetCullMode = vkCmdSetCullModeEXT;
19536       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
19537       if ( !vkCmdSetFrontFace )
19538         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
19539       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
19540       if ( !vkCmdSetPrimitiveTopology )
19541         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
19542       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
19543       if ( !vkCmdSetViewportWithCount )
19544         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
19545       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
19546       if ( !vkCmdSetScissorWithCount )
19547         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
19548       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
19549       if ( !vkCmdBindVertexBuffers2 )
19550         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
19551       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
19552       if ( !vkCmdSetDepthTestEnable )
19553         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
19554       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
19555       if ( !vkCmdSetDepthWriteEnable )
19556         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
19557       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
19558       if ( !vkCmdSetDepthCompareOp )
19559         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
19560       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
19561       if ( !vkCmdSetDepthBoundsTestEnable )
19562         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
19563       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
19564       if ( !vkCmdSetStencilTestEnable )
19565         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
19566       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
19567       if ( !vkCmdSetStencilOp )
19568         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
19569 
19570       //=== VK_KHR_deferred_host_operations ===
19571       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
19572       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
19573       vkGetDeferredOperationMaxConcurrencyKHR =
19574         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
19575       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
19576       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
19577 
19578       //=== VK_KHR_pipeline_executable_properties ===
19579       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
19580       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
19581       vkGetPipelineExecutableInternalRepresentationsKHR =
19582         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
19583 
19584       //=== VK_EXT_host_image_copy ===
19585       vkCopyMemoryToImageEXT          = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
19586       vkCopyImageToMemoryEXT          = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
19587       vkCopyImageToImageEXT           = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
19588       vkTransitionImageLayoutEXT      = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
19589       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
19590       if ( !vkGetImageSubresourceLayout2KHR )
19591         vkGetImageSubresourceLayout2KHR = vkGetImageSubresourceLayout2EXT;
19592 
19593       //=== VK_KHR_map_memory2 ===
19594       vkMapMemory2KHR   = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
19595       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
19596 
19597       //=== VK_EXT_swapchain_maintenance1 ===
19598       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
19599 
19600       //=== VK_NV_device_generated_commands ===
19601       vkGetGeneratedCommandsMemoryRequirementsNV =
19602         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
19603       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
19604       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
19605       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
19606       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
19607       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
19608 
19609       //=== VK_EXT_depth_bias_control ===
19610       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
19611 
19612       //=== VK_EXT_private_data ===
19613       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
19614       if ( !vkCreatePrivateDataSlot )
19615         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
19616       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
19617       if ( !vkDestroyPrivateDataSlot )
19618         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
19619       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
19620       if ( !vkSetPrivateData )
19621         vkSetPrivateData = vkSetPrivateDataEXT;
19622       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
19623       if ( !vkGetPrivateData )
19624         vkGetPrivateData = vkGetPrivateDataEXT;
19625 
19626       //=== VK_KHR_video_encode_queue ===
19627       vkGetEncodedVideoSessionParametersKHR =
19628         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
19629       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
19630 
19631 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19632       //=== VK_NV_cuda_kernel_launch ===
19633       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
19634       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
19635       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
19636       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
19637       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
19638       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
19639 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19640 
19641 #if defined( VK_USE_PLATFORM_METAL_EXT )
19642       //=== VK_EXT_metal_objects ===
19643       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
19644 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19645 
19646       //=== VK_KHR_synchronization2 ===
19647       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
19648       if ( !vkCmdSetEvent2 )
19649         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
19650       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
19651       if ( !vkCmdResetEvent2 )
19652         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
19653       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
19654       if ( !vkCmdWaitEvents2 )
19655         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
19656       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
19657       if ( !vkCmdPipelineBarrier2 )
19658         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
19659       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
19660       if ( !vkCmdWriteTimestamp2 )
19661         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
19662       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
19663       if ( !vkQueueSubmit2 )
19664         vkQueueSubmit2 = vkQueueSubmit2KHR;
19665       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
19666       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
19667 
19668       //=== VK_EXT_descriptor_buffer ===
19669       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
19670       vkGetDescriptorSetLayoutBindingOffsetEXT =
19671         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
19672       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
19673       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
19674       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
19675       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
19676         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
19677       vkGetBufferOpaqueCaptureDescriptorDataEXT =
19678         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
19679       vkGetImageOpaqueCaptureDescriptorDataEXT =
19680         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
19681       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
19682         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
19683       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
19684         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
19685       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
19686         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
19687 
19688       //=== VK_NV_fragment_shading_rate_enums ===
19689       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
19690 
19691       //=== VK_EXT_mesh_shader ===
19692       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
19693       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
19694       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
19695 
19696       //=== VK_KHR_copy_commands2 ===
19697       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
19698       if ( !vkCmdCopyBuffer2 )
19699         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
19700       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
19701       if ( !vkCmdCopyImage2 )
19702         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
19703       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
19704       if ( !vkCmdCopyBufferToImage2 )
19705         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
19706       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
19707       if ( !vkCmdCopyImageToBuffer2 )
19708         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
19709       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
19710       if ( !vkCmdBlitImage2 )
19711         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
19712       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
19713       if ( !vkCmdResolveImage2 )
19714         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
19715 
19716       //=== VK_EXT_device_fault ===
19717       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
19718 
19719       //=== VK_EXT_vertex_input_dynamic_state ===
19720       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
19721 
19722 #if defined( VK_USE_PLATFORM_FUCHSIA )
19723       //=== VK_FUCHSIA_external_memory ===
19724       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
19725       vkGetMemoryZirconHandlePropertiesFUCHSIA =
19726         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
19727 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19728 
19729 #if defined( VK_USE_PLATFORM_FUCHSIA )
19730       //=== VK_FUCHSIA_external_semaphore ===
19731       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
19732       vkGetSemaphoreZirconHandleFUCHSIA    = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
19733 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19734 
19735 #if defined( VK_USE_PLATFORM_FUCHSIA )
19736       //=== VK_FUCHSIA_buffer_collection ===
19737       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
19738       vkSetBufferCollectionImageConstraintsFUCHSIA =
19739         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
19740       vkSetBufferCollectionBufferConstraintsFUCHSIA =
19741         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
19742       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
19743       vkGetBufferCollectionPropertiesFUCHSIA =
19744         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
19745 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19746 
19747       //=== VK_HUAWEI_subpass_shading ===
19748       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
19749         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
19750       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
19751 
19752       //=== VK_HUAWEI_invocation_mask ===
19753       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
19754 
19755       //=== VK_NV_external_memory_rdma ===
19756       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
19757 
19758       //=== VK_EXT_pipeline_properties ===
19759       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
19760 
19761       //=== VK_EXT_extended_dynamic_state2 ===
19762       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
19763       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
19764       if ( !vkCmdSetRasterizerDiscardEnable )
19765         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
19766       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
19767       if ( !vkCmdSetDepthBiasEnable )
19768         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
19769       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
19770       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
19771       if ( !vkCmdSetPrimitiveRestartEnable )
19772         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
19773 
19774       //=== VK_EXT_color_write_enable ===
19775       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
19776 
19777       //=== VK_KHR_ray_tracing_maintenance1 ===
19778       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
19779 
19780       //=== VK_EXT_multi_draw ===
19781       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
19782       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
19783 
19784       //=== VK_EXT_opacity_micromap ===
19785       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
19786       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
19787       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
19788       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
19789       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
19790       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
19791       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
19792       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
19793       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
19794       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
19795       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
19796       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
19797       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
19798       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
19799 
19800       //=== VK_HUAWEI_cluster_culling_shader ===
19801       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
19802       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
19803 
19804       //=== VK_EXT_pageable_device_local_memory ===
19805       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
19806 
19807       //=== VK_KHR_maintenance4 ===
19808       vkGetDeviceBufferMemoryRequirementsKHR =
19809         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
19810       if ( !vkGetDeviceBufferMemoryRequirements )
19811         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
19812       vkGetDeviceImageMemoryRequirementsKHR =
19813         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
19814       if ( !vkGetDeviceImageMemoryRequirements )
19815         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
19816       vkGetDeviceImageSparseMemoryRequirementsKHR =
19817         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
19818       if ( !vkGetDeviceImageSparseMemoryRequirements )
19819         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
19820 
19821       //=== VK_VALVE_descriptor_set_host_mapping ===
19822       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
19823         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
19824       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
19825 
19826       //=== VK_NV_copy_memory_indirect ===
19827       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
19828       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
19829 
19830       //=== VK_NV_memory_decompression ===
19831       vkCmdDecompressMemoryNV              = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
19832       vkCmdDecompressMemoryIndirectCountNV = PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
19833 
19834       //=== VK_NV_device_generated_commands_compute ===
19835       vkGetPipelineIndirectMemoryRequirementsNV =
19836         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
19837       vkCmdUpdatePipelineIndirectBufferNV  = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
19838       vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
19839 
19840       //=== VK_EXT_extended_dynamic_state3 ===
19841       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
19842       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
19843       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
19844       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
19845       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
19846       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
19847       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
19848       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
19849       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
19850       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
19851       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
19852       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
19853       vkCmdSetConservativeRasterizationModeEXT =
19854         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
19855       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
19856         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
19857       vkCmdSetDepthClipEnableEXT           = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
19858       vkCmdSetSampleLocationsEnableEXT     = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
19859       vkCmdSetColorBlendAdvancedEXT        = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
19860       vkCmdSetProvokingVertexModeEXT       = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
19861       vkCmdSetLineRasterizationModeEXT     = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
19862       vkCmdSetLineStippleEnableEXT         = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
19863       vkCmdSetDepthClipNegativeOneToOneEXT = PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
19864       vkCmdSetViewportWScalingEnableNV     = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
19865       vkCmdSetViewportSwizzleNV            = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
19866       vkCmdSetCoverageToColorEnableNV      = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
19867       vkCmdSetCoverageToColorLocationNV    = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
19868       vkCmdSetCoverageModulationModeNV     = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
19869       vkCmdSetCoverageModulationTableEnableNV =
19870         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
19871       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
19872       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
19873       vkCmdSetRepresentativeFragmentTestEnableNV =
19874         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
19875       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
19876 
19877       //=== VK_EXT_shader_module_identifier ===
19878       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
19879       vkGetShaderModuleCreateInfoIdentifierEXT =
19880         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
19881 
19882       //=== VK_NV_optical_flow ===
19883       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
19884       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
19885       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
19886       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
19887 
19888       //=== VK_KHR_maintenance5 ===
19889       vkCmdBindIndexBuffer2KHR             = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
19890       vkGetRenderingAreaGranularityKHR     = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
19891       vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
19892       vkGetImageSubresourceLayout2KHR      = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
19893 
19894       //=== VK_EXT_shader_object ===
19895       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
19896       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
19897       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
19898       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
19899 
19900       //=== VK_QCOM_tile_properties ===
19901       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
19902       vkGetDynamicRenderingTilePropertiesQCOM =
19903         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
19904 
19905       //=== VK_NV_low_latency2 ===
19906       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
19907       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
19908       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
19909       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
19910       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
19911 
19912       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
19913       vkCmdSetAttachmentFeedbackLoopEnableEXT =
19914         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
19915 
19916 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19917       //=== VK_QNX_external_memory_screen_buffer ===
19918       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
19919 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19920 
19921       //=== VK_KHR_calibrated_timestamps ===
19922       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
19923 
19924       //=== VK_KHR_maintenance6 ===
19925       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
19926       vkCmdPushConstants2KHR      = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
19927       vkCmdPushDescriptorSet2KHR  = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
19928       vkCmdPushDescriptorSetWithTemplate2KHR =
19929         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
19930       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
19931       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
19932         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
19933     }
19934 
19935     template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)19936     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
19937     {
19938       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
19939       PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
19940       init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
19941     }
19942 
19943     template <typename DynamicLoader
19944 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
19945               = VULKAN_HPP_NAMESPACE::DynamicLoader
19946 #endif
19947               >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)19948     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
19949     {
19950       static DynamicLoader dl;
19951       init( instance, device, dl );
19952     }
19953   };
19954 }  // namespace VULKAN_HPP_NAMESPACE
19955 #endif
19956