• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2015-2025 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 <vulkan/vulkan_hpp_macros.hpp>
12 
13 #if defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE )
14 #  include <string.h>
15 import VULKAN_HPP_STD_MODULE;
16 #else
17 #  include <algorithm>
18 #  include <array>     // ArrayWrapperND
19 #  include <string.h>  // strnlen
20 #  include <string>    // std::string
21 #  include <utility>   // std::exchange
22 #endif
23 #include <vulkan/vulkan.h>
24 
25 #if 17 <= VULKAN_HPP_CPP_VERSION && !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
26 #  include <string_view>
27 #endif
28 
29 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE ) && !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
30 #  include <tuple>   // std::tie
31 #  include <vector>  // std::vector
32 #endif
33 
34 #if !defined( VULKAN_HPP_NO_EXCEPTIONS ) && !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
35 #  include <system_error>  // std::is_error_code_enum
36 #endif
37 
38 #if ( VULKAN_HPP_ASSERT == assert )
39 #  include <cassert>
40 #endif
41 
42 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
43 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
44 #    include <dlfcn.h>
45 #  elif defined( _WIN32 ) && !defined( VULKAN_HPP_NO_WIN32_PROTOTYPES )
46 using HINSTANCE = struct HINSTANCE__ *;
47 #    if defined( _WIN64 )
48 using FARPROC   = int64_t( __stdcall * )();
49 #    else
50 using FARPROC = int( __stdcall * )();
51 #    endif
52 extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
53 extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
54 extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
55 #  endif
56 #endif
57 
58 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR ) && !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
59 #  include <compare>
60 #endif
61 
62 #if defined( VULKAN_HPP_SUPPORT_SPAN ) && !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
63 #  include <span>
64 #endif
65 
66 static_assert( VK_HEADER_VERSION == 275, "Wrong VK_HEADER_VERSION!" );
67 
68 // <tuple> includes <sys/sysmacros.h> through some other header
69 // this results in major(x) being resolved to gnu_dev_major(x)
70 // which is an expression in a constructor initializer list.
71 #if defined( major )
72 #  undef major
73 #endif
74 #if defined( minor )
75 #  undef minor
76 #endif
77 
78 // Windows defines MemoryBarrier which is deprecated and collides
79 // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
80 #if defined( MemoryBarrier )
81 #  undef MemoryBarrier
82 #endif
83 
84 // XLib.h defines True/False, which collides with our vk::True/vk::False
85 // ->  undef them and provide some namepace-secure constexpr
86 #if defined( True )
87 #  undef True
88 constexpr int True = 1;
89 #endif
90 #if defined( False )
91 #  undef False
92 constexpr int False = 0;
93 #endif
94 
95 namespace VULKAN_HPP_NAMESPACE
96 {
97   template <typename T, size_t N>
98   class ArrayWrapper1D : public std::array<T, N>
99   {
100   public:
ArrayWrapper1D()101     VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
102 
ArrayWrapper1D(std::array<T,N> const & data)103     VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data ) {}
104 
105     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
ArrayWrapper1D(std::string const & data)106     VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string const & data ) VULKAN_HPP_NOEXCEPT
107     {
108       copy( data.data(), data.length() );
109     }
110 
111 #if 17 <= VULKAN_HPP_CPP_VERSION
112     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
ArrayWrapper1D(std::string_view data)113     VULKAN_HPP_CONSTEXPR_14 ArrayWrapper1D( std::string_view data ) VULKAN_HPP_NOEXCEPT
114     {
115       copy( data.data(), data.length() );
116     }
117 #endif
118 
119 #if ( VK_USE_64_BIT_PTR_DEFINES == 0 )
120     // on 32 bit compiles, needs overloads on index type int to resolve ambiguities
operator [](int index) const121     VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
122     {
123       return std::array<T, N>::operator[]( index );
124     }
125 
operator [](int index)126     T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
127     {
128       return std::array<T, N>::operator[]( index );
129     }
130 #endif
131 
operator T const*() const132     operator T const *() const VULKAN_HPP_NOEXCEPT
133     {
134       return this->data();
135     }
136 
operator T*()137     operator T *() VULKAN_HPP_NOEXCEPT
138     {
139       return this->data();
140     }
141 
142     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string() const143     operator std::string() const
144     {
145       return std::string( this->data(), strnlen( this->data(), N ) );
146     }
147 
148 #if 17 <= VULKAN_HPP_CPP_VERSION
149     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
operator std::string_view() const150     operator std::string_view() const
151     {
152       return std::string_view( this->data(), strnlen( this->data(), N ) );
153     }
154 #endif
155 
156   private:
copy(char const * data,size_t len)157     VULKAN_HPP_CONSTEXPR_14 void copy( char const * data, size_t len ) VULKAN_HPP_NOEXCEPT
158     {
159       size_t n = ( std::min )( N - 1, len );
160       for ( size_t i = 0; i < n; ++i )
161       {
162         ( *this )[i] = data[i];
163       }
164       ( *this )[n] = 0;
165     }
166   };
167 
168 // relational operators between ArrayWrapper1D of chars with potentially different sizes
169 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
170   template <size_t N, size_t M>
operator <=>(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)171   std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
172   {
173     int result = strcmp( lhs.data(), rhs.data() );
174     return ( result < 0 ) ? std::strong_ordering::less : ( ( result > 0 ) ? std::strong_ordering::greater : std::strong_ordering::equal );
175   }
176 #else
177   template <size_t N, size_t M>
operator <(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)178   bool operator<( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
179   {
180     return strcmp( lhs.data(), rhs.data() ) < 0;
181   }
182 
183   template <size_t N, size_t M>
operator <=(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)184   bool operator<=( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
185   {
186     return strcmp( lhs.data(), rhs.data() ) <= 0;
187   }
188 
189   template <size_t N, size_t M>
operator >(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)190   bool operator>( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
191   {
192     return strcmp( lhs.data(), rhs.data() ) > 0;
193   }
194 
195   template <size_t N, size_t M>
operator >=(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)196   bool operator>=( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
197   {
198     return strcmp( lhs.data(), rhs.data() ) >= 0;
199   }
200 #endif
201 
202   template <size_t N, size_t M>
operator ==(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)203   bool operator==( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
204   {
205     return strcmp( lhs.data(), rhs.data() ) == 0;
206   }
207 
208   template <size_t N, size_t M>
operator !=(ArrayWrapper1D<char,N> const & lhs,ArrayWrapper1D<char,M> const & rhs)209   bool operator!=( ArrayWrapper1D<char, N> const & lhs, ArrayWrapper1D<char, M> const & rhs ) VULKAN_HPP_NOEXCEPT
210   {
211     return strcmp( lhs.data(), rhs.data() ) != 0;
212   }
213 
214 // specialization of relational operators between std::string and arrays of chars
215 #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
216   template <size_t N>
operator <=>(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)217   std::strong_ordering operator<=>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
218   {
219     return lhs <=> rhs.data();
220   }
221 #else
222   template <size_t N>
operator <(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)223   bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
224   {
225     return lhs < rhs.data();
226   }
227 
228   template <size_t N>
operator <=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)229   bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
230   {
231     return lhs <= rhs.data();
232   }
233 
234   template <size_t N>
operator >(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)235   bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
236   {
237     return lhs > rhs.data();
238   }
239 
240   template <size_t N>
operator >=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)241   bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
242   {
243     return lhs >= rhs.data();
244   }
245 #endif
246 
247   template <size_t N>
operator ==(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)248   bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
249   {
250     return lhs == rhs.data();
251   }
252 
253   template <size_t N>
operator !=(std::string const & lhs,ArrayWrapper1D<char,N> const & rhs)254   bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
255   {
256     return lhs != rhs.data();
257   }
258 
259   template <typename T, size_t N, size_t M>
260   class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
261   {
262   public:
ArrayWrapper2D()263     VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
264 
ArrayWrapper2D(std::array<std::array<T,M>,N> const & data)265     VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
266       : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
267     {
268     }
269   };
270 
271 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
272   template <typename T>
273   class ArrayProxy
274   {
275   public:
ArrayProxy()276     VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
277       : m_count( 0 )
278       , m_ptr( nullptr )
279     {
280     }
281 
ArrayProxy(std::nullptr_t)282     VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
283       : m_count( 0 )
284       , m_ptr( nullptr )
285     {
286     }
287 
ArrayProxy(T const & value)288     ArrayProxy( T const & value ) VULKAN_HPP_NOEXCEPT
289       : m_count( 1 )
290       , m_ptr( &value )
291     {
292     }
293 
ArrayProxy(uint32_t count,T const * ptr)294     ArrayProxy( uint32_t count, T const * ptr ) VULKAN_HPP_NOEXCEPT
295       : m_count( count )
296       , m_ptr( ptr )
297     {
298     }
299 
300     template <std::size_t C>
ArrayProxy(T const (& ptr)[C])301     ArrayProxy( T const ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
302       : m_count( C )
303       , m_ptr( ptr )
304     {
305     }
306 
307 #  if __GNUC__ >= 9
308 #    pragma GCC diagnostic push
309 #    pragma GCC diagnostic ignored "-Winit-list-lifetime"
310 #  endif
311 
ArrayProxy(std::initializer_list<T> const & list)312     ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
313       : m_count( static_cast<uint32_t>( list.size() ) )
314       , m_ptr( list.begin() )
315     {
316     }
317 
318     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)319     ArrayProxy( std::initializer_list<typename std::remove_const<T>::type> const & list ) VULKAN_HPP_NOEXCEPT
320       : m_count( static_cast<uint32_t>( list.size() ) )
321       , m_ptr( list.begin() )
322     {
323     }
324 
325 #  if __GNUC__ >= 9
326 #    pragma GCC diagnostic pop
327 #  endif
328 
329     // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly
330     // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement.
331     template <typename V,
332               typename std::enable_if<std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
333                                       std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
ArrayProxy(V const & v)334     ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT
335       : m_count( static_cast<uint32_t>( v.size() ) )
336       , m_ptr( v.data() )
337     {
338     }
339 
begin() const340     const T * begin() const VULKAN_HPP_NOEXCEPT
341     {
342       return m_ptr;
343     }
344 
end() const345     const T * end() const VULKAN_HPP_NOEXCEPT
346     {
347       return m_ptr + m_count;
348     }
349 
front() const350     const T & front() const VULKAN_HPP_NOEXCEPT
351     {
352       VULKAN_HPP_ASSERT( m_count && m_ptr );
353       return *m_ptr;
354     }
355 
back() const356     const T & back() const VULKAN_HPP_NOEXCEPT
357     {
358       VULKAN_HPP_ASSERT( m_count && m_ptr );
359       return *( m_ptr + m_count - 1 );
360     }
361 
empty() const362     bool empty() const VULKAN_HPP_NOEXCEPT
363     {
364       return ( m_count == 0 );
365     }
366 
size() const367     uint32_t size() const VULKAN_HPP_NOEXCEPT
368     {
369       return m_count;
370     }
371 
data() const372     T const * data() const VULKAN_HPP_NOEXCEPT
373     {
374       return m_ptr;
375     }
376 
377   private:
378     uint32_t  m_count;
379     T const * m_ptr;
380   };
381 
382   template <typename T>
383   class ArrayProxyNoTemporaries
384   {
385   public:
ArrayProxyNoTemporaries()386     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
387       : m_count( 0 )
388       , m_ptr( nullptr )
389     {
390     }
391 
ArrayProxyNoTemporaries(std::nullptr_t)392     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
393       : m_count( 0 )
394       , m_ptr( nullptr )
395     {
396     }
397 
398     template <typename B = T, typename std::enable_if<std::is_convertible<B, T>::value && std::is_lvalue_reference<B>::value, int>::type = 0>
ArrayProxyNoTemporaries(B && value)399     ArrayProxyNoTemporaries( B && value ) VULKAN_HPP_NOEXCEPT
400       : m_count( 1 )
401       , m_ptr( &value )
402     {
403     }
404 
ArrayProxyNoTemporaries(uint32_t count,T * ptr)405     ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
406       : m_count( count )
407       , m_ptr( ptr )
408     {
409     }
410 
411     template <std::size_t C>
ArrayProxyNoTemporaries(T (& ptr)[C])412     ArrayProxyNoTemporaries( T ( &ptr )[C] ) VULKAN_HPP_NOEXCEPT
413       : m_count( C )
414       , m_ptr( ptr )
415     {
416     }
417 
418     template <std::size_t C>
419     ArrayProxyNoTemporaries( T ( &&ptr )[C] ) = delete;
420 
421     // Any l-value reference with a .data() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t.
422     template <typename V,
423               typename std::enable_if<!std::is_convertible<decltype( std::declval<V>().begin() ), T *>::value &&
424                                         std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
425                                         std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value && std::is_lvalue_reference<V>::value,
426                                       int>::type = 0>
ArrayProxyNoTemporaries(V && v)427     ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT
428       : m_count( static_cast<uint32_t>( v.size() ) )
429       , m_ptr( v.data() )
430     {
431     }
432 
433     // Any l-value reference with a .begin() return type implicitly convertible to T*, and a .size() return type implicitly convertible to size_t.
434     template <typename V,
435               typename std::enable_if<std::is_convertible<decltype( std::declval<V>().begin() ), T *>::value &&
436                                         std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value && std::is_lvalue_reference<V>::value,
437                                       int>::type = 0>
ArrayProxyNoTemporaries(V && v)438     ArrayProxyNoTemporaries( V && v ) VULKAN_HPP_NOEXCEPT
439       : m_count( static_cast<uint32_t>( v.size() ) )
440       , m_ptr( v.begin() )
441     {
442     }
443 
begin() const444     const T * begin() const VULKAN_HPP_NOEXCEPT
445     {
446       return m_ptr;
447     }
448 
end() const449     const T * end() const VULKAN_HPP_NOEXCEPT
450     {
451       return m_ptr + m_count;
452     }
453 
front() const454     const T & front() const VULKAN_HPP_NOEXCEPT
455     {
456       VULKAN_HPP_ASSERT( m_count && m_ptr );
457       return *m_ptr;
458     }
459 
back() const460     const T & back() const VULKAN_HPP_NOEXCEPT
461     {
462       VULKAN_HPP_ASSERT( m_count && m_ptr );
463       return *( m_ptr + m_count - 1 );
464     }
465 
empty() const466     bool empty() const VULKAN_HPP_NOEXCEPT
467     {
468       return ( m_count == 0 );
469     }
470 
size() const471     uint32_t size() const VULKAN_HPP_NOEXCEPT
472     {
473       return m_count;
474     }
475 
data() const476     T * data() const VULKAN_HPP_NOEXCEPT
477     {
478       return m_ptr;
479     }
480 
481   private:
482     uint32_t m_count;
483     T *      m_ptr;
484   };
485 
486   template <typename T>
487   class StridedArrayProxy : protected ArrayProxy<T>
488   {
489   public:
490     using ArrayProxy<T>::ArrayProxy;
491 
StridedArrayProxy(uint32_t count,T const * ptr,uint32_t stride)492     StridedArrayProxy( uint32_t count, T const * ptr, uint32_t stride ) VULKAN_HPP_NOEXCEPT
493       : ArrayProxy<T>( count, ptr )
494       , m_stride( stride )
495     {
496       VULKAN_HPP_ASSERT( sizeof( T ) <= stride );
497     }
498 
499     using ArrayProxy<T>::begin;
500 
end() const501     const T * end() const VULKAN_HPP_NOEXCEPT
502     {
503       return reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + size() * m_stride );
504     }
505 
506     using ArrayProxy<T>::front;
507 
back() const508     const T & back() const VULKAN_HPP_NOEXCEPT
509     {
510       VULKAN_HPP_ASSERT( begin() && size() );
511       return *reinterpret_cast<T const *>( static_cast<uint8_t const *>( begin() ) + ( size() - 1 ) * m_stride );
512     }
513 
514     using ArrayProxy<T>::empty;
515     using ArrayProxy<T>::size;
516     using ArrayProxy<T>::data;
517 
stride() const518     uint32_t stride() const
519     {
520       return m_stride;
521     }
522 
523   private:
524     uint32_t m_stride = sizeof( T );
525   };
526 
527   template <typename RefType>
528   class Optional
529   {
530   public:
Optional(RefType & reference)531     Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
532     {
533       m_ptr = &reference;
534     }
535 
Optional(RefType * ptr)536     Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
537     {
538       m_ptr = ptr;
539     }
540 
Optional(std::nullptr_t)541     Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
542     {
543       m_ptr = nullptr;
544     }
545 
operator RefType*() const546     operator RefType *() const VULKAN_HPP_NOEXCEPT
547     {
548       return m_ptr;
549     }
550 
operator ->() const551     RefType const * operator->() const VULKAN_HPP_NOEXCEPT
552     {
553       return m_ptr;
554     }
555 
operator bool() const556     explicit operator bool() const VULKAN_HPP_NOEXCEPT
557     {
558       return !!m_ptr;
559     }
560 
561   private:
562     RefType * m_ptr;
563   };
564 
565   template <typename X, typename Y>
566   struct StructExtends
567   {
568     enum
569     {
570       value = false
571     };
572   };
573 
574   template <typename Type, class...>
575   struct IsPartOfStructureChain
576   {
577     static const bool valid = false;
578   };
579 
580   template <typename Type, typename Head, typename... Tail>
581   struct IsPartOfStructureChain<Type, Head, Tail...>
582   {
583     static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
584   };
585 
586   template <size_t Index, typename T, typename... ChainElements>
587   struct StructureChainContains
588   {
589     static const bool value = std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
590                               StructureChainContains<Index - 1, T, ChainElements...>::value;
591   };
592 
593   template <typename T, typename... ChainElements>
594   struct StructureChainContains<0, T, ChainElements...>
595   {
596     static const bool value = std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
597   };
598 
599   template <size_t Index, typename... ChainElements>
600   struct StructureChainValidation
601   {
602     using TestType          = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
603     static const bool valid = StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
604                               ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
605                               StructureChainValidation<Index - 1, ChainElements...>::valid;
606   };
607 
608   template <typename... ChainElements>
609   struct StructureChainValidation<0, ChainElements...>
610   {
611     static const bool valid = true;
612   };
613 
614   template <typename... ChainElements>
615   class StructureChain : public std::tuple<ChainElements...>
616   {
617     // Note: StructureChain has no move constructor or move assignment operator, as it is not supposed to contain movable containers.
618     //       In order to get a copy-operation on a move-operations, those functions are neither deleted nor defaulted.
619   public:
StructureChain()620     StructureChain() VULKAN_HPP_NOEXCEPT
621     {
622       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
623       link<sizeof...( ChainElements ) - 1>();
624     }
625 
StructureChain(StructureChain const & rhs)626     StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
627     {
628       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
629       link( &std::get<0>( *this ),
630             &std::get<0>( rhs ),
631             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
632             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
633     }
634 
StructureChain(ChainElements const &...elems)635     StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
636     {
637       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid, "The structure chain is not valid!" );
638       link<sizeof...( ChainElements ) - 1>();
639     }
640 
operator =(StructureChain const & rhs)641     StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
642     {
643       std::tuple<ChainElements...>::operator=( rhs );
644       link( &std::get<0>( *this ),
645             &std::get<0>( rhs ),
646             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
647             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
648       return *this;
649     }
650 
651     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get()652     T & get() VULKAN_HPP_NOEXCEPT
653     {
654       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> &>( *this ) );
655     }
656 
657     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
get() const658     T const & get() const VULKAN_HPP_NOEXCEPT
659     {
660       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>( static_cast<std::tuple<ChainElements...> const &>( *this ) );
661     }
662 
663     template <typename T0, typename T1, typename... Ts>
get()664     std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
665     {
666       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
667     }
668 
669     template <typename T0, typename T1, typename... Ts>
get() const670     std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
671     {
672       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
673     }
674 
675     // assign a complete structure to the StructureChain without modifying the chaining
676     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
assign(const T & rhs)677     StructureChain & assign( const T & rhs ) VULKAN_HPP_NOEXCEPT
678     {
679       T &  lhs   = get<T, Which>();
680       auto pNext = lhs.pNext;
681       lhs        = rhs;
682       lhs.pNext  = pNext;
683       return *this;
684     }
685 
686     template <typename ClassType, size_t Which = 0>
687     typename std::enable_if<std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value && ( Which == 0 ), bool>::type
isLinked() const688       isLinked() const VULKAN_HPP_NOEXCEPT
689     {
690       return true;
691     }
692 
693     template <typename ClassType, size_t Which = 0>
694     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), bool>::type
isLinked() const695       isLinked() const VULKAN_HPP_NOEXCEPT
696     {
697       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
698       return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
699     }
700 
701     template <typename ClassType, size_t Which = 0>
702     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
relink()703       relink() VULKAN_HPP_NOEXCEPT
704     {
705       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't relink Structure that's not part of this StructureChain!" );
706       auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
707       VULKAN_HPP_ASSERT( !isLinked( pNext ) );
708       auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
709       pNext->pNext       = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
710       headElement.pNext  = pNext;
711     }
712 
713     template <typename ClassType, size_t Which = 0>
714     typename std::enable_if<!std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value || ( Which != 0 ), void>::type
unlink()715       unlink() VULKAN_HPP_NOEXCEPT
716     {
717       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid, "Can't unlink Structure that's not part of this StructureChain!" );
718       unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
719     }
720 
721   private:
722     template <int Index, typename T, int Which, typename, class First, class... Types>
723     struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
724     {
725     };
726 
727     template <int Index, typename T, int Which, class First, class... Types>
728     struct ChainElementIndex<Index, T, Which, typename std::enable_if<!std::is_same<T, First>::value, void>::type, First, Types...>
729       : ChainElementIndex<Index + 1, T, Which, void, Types...>
730     {
731     };
732 
733     template <int Index, typename T, int Which, class First, class... Types>
734     struct ChainElementIndex<Index, T, Which, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
735       : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
736     {
737     };
738 
739     template <int Index, typename T, class First, class... Types>
740     struct ChainElementIndex<Index, T, 0, typename std::enable_if<std::is_same<T, First>::value, void>::type, First, Types...>
741       : std::integral_constant<int, Index>
742     {
743     };
744 
isLinked(VkBaseInStructure const * pNext) const745     bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEXCEPT
746     {
747       VkBaseInStructure const * elementPtr =
748         reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( static_cast<std::tuple<ChainElements...> const &>( *this ) ) );
749       while ( elementPtr )
750       {
751         if ( elementPtr->pNext == pNext )
752         {
753           return true;
754         }
755         elementPtr = elementPtr->pNext;
756       }
757       return false;
758     }
759 
760     template <size_t Index>
link()761     typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
762     {
763       auto & x = std::get<Index - 1>( static_cast<std::tuple<ChainElements...> &>( *this ) );
764       x.pNext  = &std::get<Index>( static_cast<std::tuple<ChainElements...> &>( *this ) );
765       link<Index - 1>();
766     }
767 
768     template <size_t Index>
link()769     typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
770     {
771     }
772 
link(void * dstBase,void const * srcBase,VkBaseOutStructure * dst,VkBaseInStructure const * src)773     void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
774     {
775       while ( src->pNext )
776       {
777         std::ptrdiff_t offset = reinterpret_cast<char const *>( src->pNext ) - reinterpret_cast<char const *>( srcBase );
778         dst->pNext            = reinterpret_cast<VkBaseOutStructure *>( reinterpret_cast<char *>( dstBase ) + offset );
779         dst                   = dst->pNext;
780         src                   = src->pNext;
781       }
782       dst->pNext = nullptr;
783     }
784 
unlink(VkBaseOutStructure const * pNext)785     void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
786     {
787       VkBaseOutStructure * elementPtr = reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ) );
788       while ( elementPtr && ( elementPtr->pNext != pNext ) )
789       {
790         elementPtr = elementPtr->pNext;
791       }
792       if ( elementPtr )
793       {
794         elementPtr->pNext = pNext->pNext;
795       }
796       else
797       {
798         VULKAN_HPP_ASSERT( false );  // fires, if the ClassType member has already been unlinked !
799       }
800     }
801   };
802 
803   // interupt the VULKAN_HPP_NAMESPACE for a moment to add specializations of std::tuple_size and std::tuple_element for the StructureChain!
804 }
805 
806 namespace std
807 {
808   template <typename... Elements>
809   struct tuple_size<VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
810   {
811     static constexpr size_t value = std::tuple_size<std::tuple<Elements...>>::value;
812   };
813 
814   template <std::size_t Index, typename... Elements>
815   struct tuple_element<Index, VULKAN_HPP_NAMESPACE::StructureChain<Elements...>>
816   {
817     using type = typename std::tuple_element<Index, std::tuple<Elements...>>::type;
818   };
819 }  // namespace std
820 
821 namespace VULKAN_HPP_NAMESPACE
822 {
823 
824 #  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
825   template <typename Type, typename Dispatch>
826   class UniqueHandleTraits;
827 
828   template <typename Type, typename Dispatch>
829   class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
830   {
831   private:
832     using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
833 
834   public:
835     using element_type = Type;
836 
UniqueHandle()837     UniqueHandle() : Deleter(), m_value() {}
838 
UniqueHandle(Type const & value,Deleter const & deleter=Deleter ())839     explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
840       : Deleter( deleter )
841       , m_value( value )
842     {
843     }
844 
845     UniqueHandle( UniqueHandle const & ) = delete;
846 
UniqueHandle(UniqueHandle && other)847     UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
848       : Deleter( std::move( static_cast<Deleter &>( other ) ) )
849       , m_value( other.release() )
850     {
851     }
852 
~UniqueHandle()853     ~UniqueHandle() VULKAN_HPP_NOEXCEPT
854     {
855       if ( m_value )
856       {
857         this->destroy( m_value );
858       }
859     }
860 
861     UniqueHandle & operator=( UniqueHandle const & ) = delete;
862 
operator =(UniqueHandle && other)863     UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
864     {
865       reset( other.release() );
866       *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
867       return *this;
868     }
869 
operator bool() const870     explicit operator bool() const VULKAN_HPP_NOEXCEPT
871     {
872       return m_value.operator bool();
873     }
874 
875 #    if defined( VULKAN_HPP_SMART_HANDLE_IMPLICIT_CAST )
operator Type() const876     operator Type() const VULKAN_HPP_NOEXCEPT
877     {
878       return m_value;
879     }
880 #    endif
881 
operator ->() const882     Type const * operator->() const VULKAN_HPP_NOEXCEPT
883     {
884       return &m_value;
885     }
886 
operator ->()887     Type * operator->() VULKAN_HPP_NOEXCEPT
888     {
889       return &m_value;
890     }
891 
operator *() const892     Type const & operator*() const VULKAN_HPP_NOEXCEPT
893     {
894       return m_value;
895     }
896 
operator *()897     Type & operator*() VULKAN_HPP_NOEXCEPT
898     {
899       return m_value;
900     }
901 
get() const902     const Type & get() const VULKAN_HPP_NOEXCEPT
903     {
904       return m_value;
905     }
906 
get()907     Type & get() VULKAN_HPP_NOEXCEPT
908     {
909       return m_value;
910     }
911 
reset(Type const & value=Type ())912     void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
913     {
914       if ( m_value != value )
915       {
916         if ( m_value )
917         {
918           this->destroy( m_value );
919         }
920         m_value = value;
921       }
922     }
923 
release()924     Type release() VULKAN_HPP_NOEXCEPT
925     {
926       Type value = m_value;
927       m_value    = nullptr;
928       return value;
929     }
930 
swap(UniqueHandle<Type,Dispatch> & rhs)931     void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
932     {
933       std::swap( m_value, rhs.m_value );
934       std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
935     }
936 
937   private:
938     Type m_value;
939   };
940 
941   template <typename UniqueType>
uniqueToRaw(std::vector<UniqueType> const & handles)942   VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type> uniqueToRaw( std::vector<UniqueType> const & handles )
943   {
944     std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
945     std::transform( handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
946     return newBuffer;
947   }
948 
949   template <typename Type, typename Dispatch>
swap(UniqueHandle<Type,Dispatch> & lhs,UniqueHandle<Type,Dispatch> & rhs)950   VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs, UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
951   {
952     lhs.swap( rhs );
953   }
954 #  endif
955 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
956 
957   namespace detail
958   {
959     class DispatchLoaderBase
960     {
961     public:
962       DispatchLoaderBase() = default;
DispatchLoaderBase(std::nullptr_t)963       DispatchLoaderBase( std::nullptr_t )
964 #if !defined( NDEBUG )
965         : m_valid( false )
966 #endif
967       {
968       }
969 
970 #if !defined( NDEBUG )
getVkHeaderVersion() const971       size_t getVkHeaderVersion() const
972       {
973         VULKAN_HPP_ASSERT( m_valid );
974         return vkHeaderVersion;
975       }
976 
977     private:
978       size_t vkHeaderVersion = VK_HEADER_VERSION;
979       bool   m_valid         = true;
980 #endif
981     };
982 
983 #if !defined( VK_NO_PROTOTYPES ) || ( defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC ) && ( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 0 ) )
984     class DispatchLoaderStatic : public DispatchLoaderBase
985     {
986     public:
987       //=== VK_VERSION_1_0 ===
988 
989       VkResult
vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance) const990         vkCreateInstance( const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance ) const VULKAN_HPP_NOEXCEPT
991       {
992         return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
993       }
994 
vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator) const995       void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
996       {
997         return ::vkDestroyInstance( instance, pAllocator );
998       }
999 
vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices) const1000       VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
1001       {
1002         return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
1003       }
1004 
vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures) const1005       void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
1006       {
1007         return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
1008       }
1009 
vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties) const1010       void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice     physicalDevice,
1011                                                 VkFormat             format,
1012                                                 VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
1013       {
1014         return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
1015       }
1016 
vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties) const1017       VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
1018                                                          VkFormat                  format,
1019                                                          VkImageType               type,
1020                                                          VkImageTiling             tiling,
1021                                                          VkImageUsageFlags         usage,
1022                                                          VkImageCreateFlags        flags,
1023                                                          VkImageFormatProperties * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
1024       {
1025         return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
1026       }
1027 
vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties) const1028       void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1029       {
1030         return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
1031       }
1032 
vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties) const1033       void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
1034                                                      uint32_t *                pQueueFamilyPropertyCount,
1035                                                      VkQueueFamilyProperties * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
1036       {
1037         return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
1038       }
1039 
vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties) const1040       void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice                   physicalDevice,
1041                                                 VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
1042       {
1043         return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
1044       }
1045 
vkGetInstanceProcAddr(VkInstance instance,const char * pName) const1046       PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
1047       {
1048         return ::vkGetInstanceProcAddr( instance, pName );
1049       }
1050 
vkGetDeviceProcAddr(VkDevice device,const char * pName) const1051       PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
1052       {
1053         return ::vkGetDeviceProcAddr( device, pName );
1054       }
1055 
vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice) const1056       VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
1057                                const VkDeviceCreateInfo *    pCreateInfo,
1058                                const VkAllocationCallbacks * pAllocator,
1059                                VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
1060       {
1061         return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
1062       }
1063 
vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator) const1064       void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1065       {
1066         return ::vkDestroyDevice( device, pAllocator );
1067       }
1068 
vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1069       VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
1070                                                        uint32_t *              pPropertyCount,
1071                                                        VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1072       {
1073         return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
1074       }
1075 
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1076       VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
1077                                                      const char *            pLayerName,
1078                                                      uint32_t *              pPropertyCount,
1079                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1080       {
1081         return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
1082       }
1083 
vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1084       VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1085       {
1086         return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
1087       }
1088 
vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1089       VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice    physicalDevice,
1090                                                  uint32_t *          pPropertyCount,
1091                                                  VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1092       {
1093         return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
1094       }
1095 
vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue) const1096       void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
1097       {
1098         return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
1099       }
1100 
vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence) const1101       VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1102       {
1103         return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
1104       }
1105 
vkQueueWaitIdle(VkQueue queue) const1106       VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
1107       {
1108         return ::vkQueueWaitIdle( queue );
1109       }
1110 
vkDeviceWaitIdle(VkDevice device) const1111       VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
1112       {
1113         return ::vkDeviceWaitIdle( device );
1114       }
1115 
vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory) const1116       VkResult vkAllocateMemory( VkDevice                      device,
1117                                  const VkMemoryAllocateInfo *  pAllocateInfo,
1118                                  const VkAllocationCallbacks * pAllocator,
1119                                  VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
1120       {
1121         return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
1122       }
1123 
vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator) const1124       void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1125       {
1126         return ::vkFreeMemory( device, memory, pAllocator );
1127       }
1128 
vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData) const1129       VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData ) const
1130         VULKAN_HPP_NOEXCEPT
1131       {
1132         return ::vkMapMemory( device, memory, offset, size, flags, ppData );
1133       }
1134 
vkUnmapMemory(VkDevice device,VkDeviceMemory memory) const1135       void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
1136       {
1137         return ::vkUnmapMemory( device, memory );
1138       }
1139 
vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1140       VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1141       {
1142         return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1143       }
1144 
vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1145       VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1146       {
1147         return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1148       }
1149 
vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes) const1150       void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
1151       {
1152         return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
1153       }
1154 
vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1155       VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1156       {
1157         return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
1158       }
1159 
vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1160       VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1161       {
1162         return ::vkBindImageMemory( device, image, memory, memoryOffset );
1163       }
1164 
vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements) const1165       void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1166       {
1167         return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
1168       }
1169 
vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements) const1170       void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1171       {
1172         return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
1173       }
1174 
vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements) const1175       void vkGetImageSparseMemoryRequirements( VkDevice                          device,
1176                                                VkImage                           image,
1177                                                uint32_t *                        pSparseMemoryRequirementCount,
1178                                                VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1179       {
1180         return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1181       }
1182 
vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties) const1183       void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
1184                                                            VkFormat                        format,
1185                                                            VkImageType                     type,
1186                                                            VkSampleCountFlagBits           samples,
1187                                                            VkImageUsageFlags               usage,
1188                                                            VkImageTiling                   tiling,
1189                                                            uint32_t *                      pPropertyCount,
1190                                                            VkSparseImageFormatProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1191       {
1192         return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
1193       }
1194 
vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence) const1195       VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1196       {
1197         return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
1198       }
1199 
vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const1200       VkResult vkCreateFence( VkDevice                      device,
1201                               const VkFenceCreateInfo *     pCreateInfo,
1202                               const VkAllocationCallbacks * pAllocator,
1203                               VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
1204       {
1205         return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
1206       }
1207 
vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator) const1208       void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1209       {
1210         return ::vkDestroyFence( device, fence, pAllocator );
1211       }
1212 
vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences) const1213       VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
1214       {
1215         return ::vkResetFences( device, fenceCount, pFences );
1216       }
1217 
vkGetFenceStatus(VkDevice device,VkFence fence) const1218       VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1219       {
1220         return ::vkGetFenceStatus( device, fence );
1221       }
1222 
vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout) const1223       VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
1224       {
1225         return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
1226       }
1227 
vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore) const1228       VkResult vkCreateSemaphore( VkDevice                      device,
1229                                   const VkSemaphoreCreateInfo * pCreateInfo,
1230                                   const VkAllocationCallbacks * pAllocator,
1231                                   VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
1232       {
1233         return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
1234       }
1235 
vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator) const1236       void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1237       {
1238         return ::vkDestroySemaphore( device, semaphore, pAllocator );
1239       }
1240 
vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent) const1241       VkResult vkCreateEvent( VkDevice                      device,
1242                               const VkEventCreateInfo *     pCreateInfo,
1243                               const VkAllocationCallbacks * pAllocator,
1244                               VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
1245       {
1246         return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
1247       }
1248 
vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator) const1249       void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1250       {
1251         return ::vkDestroyEvent( device, event, pAllocator );
1252       }
1253 
vkGetEventStatus(VkDevice device,VkEvent event) const1254       VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1255       {
1256         return ::vkGetEventStatus( device, event );
1257       }
1258 
vkSetEvent(VkDevice device,VkEvent event) const1259       VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1260       {
1261         return ::vkSetEvent( device, event );
1262       }
1263 
vkResetEvent(VkDevice device,VkEvent event) const1264       VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1265       {
1266         return ::vkResetEvent( device, event );
1267       }
1268 
vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool) const1269       VkResult vkCreateQueryPool( VkDevice                      device,
1270                                   const VkQueryPoolCreateInfo * pCreateInfo,
1271                                   const VkAllocationCallbacks * pAllocator,
1272                                   VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
1273       {
1274         return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
1275       }
1276 
vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator) const1277       void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1278       {
1279         return ::vkDestroyQueryPool( device, queryPool, pAllocator );
1280       }
1281 
vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags) const1282       VkResult vkGetQueryPoolResults( VkDevice           device,
1283                                       VkQueryPool        queryPool,
1284                                       uint32_t           firstQuery,
1285                                       uint32_t           queryCount,
1286                                       size_t             dataSize,
1287                                       void *             pData,
1288                                       VkDeviceSize       stride,
1289                                       VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1290       {
1291         return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
1292       }
1293 
vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer) const1294       VkResult vkCreateBuffer( VkDevice                      device,
1295                                const VkBufferCreateInfo *    pCreateInfo,
1296                                const VkAllocationCallbacks * pAllocator,
1297                                VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
1298       {
1299         return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
1300       }
1301 
vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator) const1302       void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1303       {
1304         return ::vkDestroyBuffer( device, buffer, pAllocator );
1305       }
1306 
vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView) const1307       VkResult vkCreateBufferView( VkDevice                       device,
1308                                    const VkBufferViewCreateInfo * pCreateInfo,
1309                                    const VkAllocationCallbacks *  pAllocator,
1310                                    VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
1311       {
1312         return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
1313       }
1314 
vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator) const1315       void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1316       {
1317         return ::vkDestroyBufferView( device, bufferView, pAllocator );
1318       }
1319 
vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage) const1320       VkResult vkCreateImage( VkDevice                      device,
1321                               const VkImageCreateInfo *     pCreateInfo,
1322                               const VkAllocationCallbacks * pAllocator,
1323                               VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
1324       {
1325         return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
1326       }
1327 
vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator) const1328       void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1329       {
1330         return ::vkDestroyImage( device, image, pAllocator );
1331       }
1332 
vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout) const1333       void vkGetImageSubresourceLayout( VkDevice                   device,
1334                                         VkImage                    image,
1335                                         const VkImageSubresource * pSubresource,
1336                                         VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
1337       {
1338         return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
1339       }
1340 
vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView) const1341       VkResult vkCreateImageView( VkDevice                      device,
1342                                   const VkImageViewCreateInfo * pCreateInfo,
1343                                   const VkAllocationCallbacks * pAllocator,
1344                                   VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
1345       {
1346         return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
1347       }
1348 
vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator) const1349       void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1350       {
1351         return ::vkDestroyImageView( device, imageView, pAllocator );
1352       }
1353 
vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule) const1354       VkResult vkCreateShaderModule( VkDevice                         device,
1355                                      const VkShaderModuleCreateInfo * pCreateInfo,
1356                                      const VkAllocationCallbacks *    pAllocator,
1357                                      VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
1358       {
1359         return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
1360       }
1361 
vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator) const1362       void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1363       {
1364         return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
1365       }
1366 
vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache) const1367       VkResult vkCreatePipelineCache( VkDevice                          device,
1368                                       const VkPipelineCacheCreateInfo * pCreateInfo,
1369                                       const VkAllocationCallbacks *     pAllocator,
1370                                       VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
1371       {
1372         return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
1373       }
1374 
vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator) const1375       void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1376       {
1377         return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
1378       }
1379 
vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData) const1380       VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
1381       {
1382         return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
1383       }
1384 
1385       VkResult
vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches) const1386         vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
1387       {
1388         return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
1389       }
1390 
vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1391       VkResult vkCreateGraphicsPipelines( VkDevice                             device,
1392                                           VkPipelineCache                      pipelineCache,
1393                                           uint32_t                             createInfoCount,
1394                                           const VkGraphicsPipelineCreateInfo * pCreateInfos,
1395                                           const VkAllocationCallbacks *        pAllocator,
1396                                           VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
1397       {
1398         return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1399       }
1400 
vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1401       VkResult vkCreateComputePipelines( VkDevice                            device,
1402                                          VkPipelineCache                     pipelineCache,
1403                                          uint32_t                            createInfoCount,
1404                                          const VkComputePipelineCreateInfo * pCreateInfos,
1405                                          const VkAllocationCallbacks *       pAllocator,
1406                                          VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
1407       {
1408         return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1409       }
1410 
vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator) const1411       void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1412       {
1413         return ::vkDestroyPipeline( device, pipeline, pAllocator );
1414       }
1415 
vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout) const1416       VkResult vkCreatePipelineLayout( VkDevice                           device,
1417                                        const VkPipelineLayoutCreateInfo * pCreateInfo,
1418                                        const VkAllocationCallbacks *      pAllocator,
1419                                        VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
1420       {
1421         return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
1422       }
1423 
vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator) const1424       void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1425       {
1426         return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
1427       }
1428 
vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler) const1429       VkResult vkCreateSampler( VkDevice                      device,
1430                                 const VkSamplerCreateInfo *   pCreateInfo,
1431                                 const VkAllocationCallbacks * pAllocator,
1432                                 VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
1433       {
1434         return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
1435       }
1436 
vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator) const1437       void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1438       {
1439         return ::vkDestroySampler( device, sampler, pAllocator );
1440       }
1441 
vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout) const1442       VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
1443                                             const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
1444                                             const VkAllocationCallbacks *           pAllocator,
1445                                             VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
1446       {
1447         return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
1448       }
1449 
vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator) const1450       void vkDestroyDescriptorSetLayout( VkDevice                      device,
1451                                          VkDescriptorSetLayout         descriptorSetLayout,
1452                                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1453       {
1454         return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
1455       }
1456 
vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool) const1457       VkResult vkCreateDescriptorPool( VkDevice                           device,
1458                                        const VkDescriptorPoolCreateInfo * pCreateInfo,
1459                                        const VkAllocationCallbacks *      pAllocator,
1460                                        VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
1461       {
1462         return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
1463       }
1464 
vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator) const1465       void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1466       {
1467         return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
1468       }
1469 
vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags) const1470       VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1471       {
1472         return ::vkResetDescriptorPool( device, descriptorPool, flags );
1473       }
1474 
vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets) const1475       VkResult vkAllocateDescriptorSets( VkDevice                            device,
1476                                          const VkDescriptorSetAllocateInfo * pAllocateInfo,
1477                                          VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1478       {
1479         return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
1480       }
1481 
vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets) const1482       VkResult vkFreeDescriptorSets( VkDevice                device,
1483                                      VkDescriptorPool        descriptorPool,
1484                                      uint32_t                descriptorSetCount,
1485                                      const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1486       {
1487         return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
1488       }
1489 
vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies) const1490       void vkUpdateDescriptorSets( VkDevice                     device,
1491                                    uint32_t                     descriptorWriteCount,
1492                                    const VkWriteDescriptorSet * pDescriptorWrites,
1493                                    uint32_t                     descriptorCopyCount,
1494                                    const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
1495       {
1496         return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
1497       }
1498 
vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer) const1499       VkResult vkCreateFramebuffer( VkDevice                        device,
1500                                     const VkFramebufferCreateInfo * pCreateInfo,
1501                                     const VkAllocationCallbacks *   pAllocator,
1502                                     VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
1503       {
1504         return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
1505       }
1506 
vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator) const1507       void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1508       {
1509         return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
1510       }
1511 
vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const1512       VkResult vkCreateRenderPass( VkDevice                       device,
1513                                    const VkRenderPassCreateInfo * pCreateInfo,
1514                                    const VkAllocationCallbacks *  pAllocator,
1515                                    VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
1516       {
1517         return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
1518       }
1519 
vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator) const1520       void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1521       {
1522         return ::vkDestroyRenderPass( device, renderPass, pAllocator );
1523       }
1524 
vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity) const1525       void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
1526       {
1527         return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
1528       }
1529 
vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool) const1530       VkResult vkCreateCommandPool( VkDevice                        device,
1531                                     const VkCommandPoolCreateInfo * pCreateInfo,
1532                                     const VkAllocationCallbacks *   pAllocator,
1533                                     VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
1534       {
1535         return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
1536       }
1537 
vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator) const1538       void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1539       {
1540         return ::vkDestroyCommandPool( device, commandPool, pAllocator );
1541       }
1542 
vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags) const1543       VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1544       {
1545         return ::vkResetCommandPool( device, commandPool, flags );
1546       }
1547 
vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers) const1548       VkResult vkAllocateCommandBuffers( VkDevice                            device,
1549                                          const VkCommandBufferAllocateInfo * pAllocateInfo,
1550                                          VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1551       {
1552         return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
1553       }
1554 
vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1555       void vkFreeCommandBuffers( VkDevice                device,
1556                                  VkCommandPool           commandPool,
1557                                  uint32_t                commandBufferCount,
1558                                  const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1559       {
1560         return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
1561       }
1562 
vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo) const1563       VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
1564       {
1565         return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
1566       }
1567 
vkEndCommandBuffer(VkCommandBuffer commandBuffer) const1568       VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1569       {
1570         return ::vkEndCommandBuffer( commandBuffer );
1571       }
1572 
vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags) const1573       VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1574       {
1575         return ::vkResetCommandBuffer( commandBuffer, flags );
1576       }
1577 
vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const1578       void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
1579       {
1580         return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
1581       }
1582 
vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports) const1583       void vkCmdSetViewport( VkCommandBuffer    commandBuffer,
1584                              uint32_t           firstViewport,
1585                              uint32_t           viewportCount,
1586                              const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
1587       {
1588         return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
1589       }
1590 
vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors) const1591       void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
1592       {
1593         return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
1594       }
1595 
vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth) const1596       void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
1597       {
1598         return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
1599       }
1600 
vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const1601       void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
1602                               float           depthBiasConstantFactor,
1603                               float           depthBiasClamp,
1604                               float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
1605       {
1606         return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
1607       }
1608 
vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4]) const1609       void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
1610       {
1611         return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
1612       }
1613 
vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds) const1614       void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
1615       {
1616         return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
1617       }
1618 
vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask) const1619       void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT
1620       {
1621         return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
1622       }
1623 
vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask) const1624       void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT
1625       {
1626         return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
1627       }
1628 
vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference) const1629       void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT
1630       {
1631         return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
1632       }
1633 
vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets) const1634       void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
1635                                     VkPipelineBindPoint     pipelineBindPoint,
1636                                     VkPipelineLayout        layout,
1637                                     uint32_t                firstSet,
1638                                     uint32_t                descriptorSetCount,
1639                                     const VkDescriptorSet * pDescriptorSets,
1640                                     uint32_t                dynamicOffsetCount,
1641                                     const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
1642       {
1643         return ::vkCmdBindDescriptorSets(
1644           commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
1645       }
1646 
vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType) const1647       void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const VULKAN_HPP_NOEXCEPT
1648       {
1649         return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
1650       }
1651 
vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets) const1652       void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
1653                                    uint32_t             firstBinding,
1654                                    uint32_t             bindingCount,
1655                                    const VkBuffer *     pBuffers,
1656                                    const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
1657       {
1658         return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
1659       }
1660 
vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const1661       void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
1662         VULKAN_HPP_NOEXCEPT
1663       {
1664         return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
1665       }
1666 
vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const1667       void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
1668                              uint32_t        indexCount,
1669                              uint32_t        instanceCount,
1670                              uint32_t        firstIndex,
1671                              int32_t         vertexOffset,
1672                              uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
1673       {
1674         return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
1675       }
1676 
1677       void
vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1678         vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT
1679       {
1680         return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
1681       }
1682 
vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1683       void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1684         VULKAN_HPP_NOEXCEPT
1685       {
1686         return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
1687       }
1688 
vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1689       void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
1690       {
1691         return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
1692       }
1693 
vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const1694       void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
1695       {
1696         return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
1697       }
1698 
vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions) const1699       void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions ) const
1700         VULKAN_HPP_NOEXCEPT
1701       {
1702         return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
1703       }
1704 
vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions) const1705       void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
1706                            VkImage             srcImage,
1707                            VkImageLayout       srcImageLayout,
1708                            VkImage             dstImage,
1709                            VkImageLayout       dstImageLayout,
1710                            uint32_t            regionCount,
1711                            const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1712       {
1713         return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1714       }
1715 
vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter) const1716       void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
1717                            VkImage             srcImage,
1718                            VkImageLayout       srcImageLayout,
1719                            VkImage             dstImage,
1720                            VkImageLayout       dstImageLayout,
1721                            uint32_t            regionCount,
1722                            const VkImageBlit * pRegions,
1723                            VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
1724       {
1725         return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
1726       }
1727 
vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1728       void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
1729                                    VkBuffer                  srcBuffer,
1730                                    VkImage                   dstImage,
1731                                    VkImageLayout             dstImageLayout,
1732                                    uint32_t                  regionCount,
1733                                    const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1734       {
1735         return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
1736       }
1737 
vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1738       void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
1739                                    VkImage                   srcImage,
1740                                    VkImageLayout             srcImageLayout,
1741                                    VkBuffer                  dstBuffer,
1742                                    uint32_t                  regionCount,
1743                                    const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1744       {
1745         return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
1746       }
1747 
vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData) const1748       void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData ) const
1749         VULKAN_HPP_NOEXCEPT
1750       {
1751         return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
1752       }
1753 
1754       void
vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data) const1755         vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT
1756       {
1757         return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
1758       }
1759 
vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1760       void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
1761                                  VkImage                         image,
1762                                  VkImageLayout                   imageLayout,
1763                                  const VkClearColorValue *       pColor,
1764                                  uint32_t                        rangeCount,
1765                                  const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
1766       {
1767         return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
1768       }
1769 
vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1770       void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
1771                                         VkImage                          image,
1772                                         VkImageLayout                    imageLayout,
1773                                         const VkClearDepthStencilValue * pDepthStencil,
1774                                         uint32_t                         rangeCount,
1775                                         const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
1776       {
1777         return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
1778       }
1779 
vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects) const1780       void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
1781                                   uint32_t                  attachmentCount,
1782                                   const VkClearAttachment * pAttachments,
1783                                   uint32_t                  rectCount,
1784                                   const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
1785       {
1786         return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
1787       }
1788 
vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions) const1789       void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
1790                               VkImage                srcImage,
1791                               VkImageLayout          srcImageLayout,
1792                               VkImage                dstImage,
1793                               VkImageLayout          dstImageLayout,
1794                               uint32_t               regionCount,
1795                               const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
1796       {
1797         return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1798       }
1799 
vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1800       void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1801       {
1802         return ::vkCmdSetEvent( commandBuffer, event, stageMask );
1803       }
1804 
vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1805       void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1806       {
1807         return ::vkCmdResetEvent( commandBuffer, event, stageMask );
1808       }
1809 
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) const1810       void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
1811                             uint32_t                      eventCount,
1812                             const VkEvent *               pEvents,
1813                             VkPipelineStageFlags          srcStageMask,
1814                             VkPipelineStageFlags          dstStageMask,
1815                             uint32_t                      memoryBarrierCount,
1816                             const VkMemoryBarrier *       pMemoryBarriers,
1817                             uint32_t                      bufferMemoryBarrierCount,
1818                             const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1819                             uint32_t                      imageMemoryBarrierCount,
1820                             const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1821       {
1822         return ::vkCmdWaitEvents( commandBuffer,
1823                                   eventCount,
1824                                   pEvents,
1825                                   srcStageMask,
1826                                   dstStageMask,
1827                                   memoryBarrierCount,
1828                                   pMemoryBarriers,
1829                                   bufferMemoryBarrierCount,
1830                                   pBufferMemoryBarriers,
1831                                   imageMemoryBarrierCount,
1832                                   pImageMemoryBarriers );
1833       }
1834 
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) const1835       void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
1836                                  VkPipelineStageFlags          srcStageMask,
1837                                  VkPipelineStageFlags          dstStageMask,
1838                                  VkDependencyFlags             dependencyFlags,
1839                                  uint32_t                      memoryBarrierCount,
1840                                  const VkMemoryBarrier *       pMemoryBarriers,
1841                                  uint32_t                      bufferMemoryBarrierCount,
1842                                  const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1843                                  uint32_t                      imageMemoryBarrierCount,
1844                                  const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1845       {
1846         return ::vkCmdPipelineBarrier( commandBuffer,
1847                                        srcStageMask,
1848                                        dstStageMask,
1849                                        dependencyFlags,
1850                                        memoryBarrierCount,
1851                                        pMemoryBarriers,
1852                                        bufferMemoryBarrierCount,
1853                                        pBufferMemoryBarriers,
1854                                        imageMemoryBarrierCount,
1855                                        pImageMemoryBarriers );
1856       }
1857 
vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags) const1858       void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
1859       {
1860         return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
1861       }
1862 
vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query) const1863       void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
1864       {
1865         return ::vkCmdEndQuery( commandBuffer, queryPool, query );
1866       }
1867 
vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const1868       void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
1869       {
1870         return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
1871       }
1872 
vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query) const1873       void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
1874                                 VkPipelineStageFlagBits pipelineStage,
1875                                 VkQueryPool             queryPool,
1876                                 uint32_t                query ) const VULKAN_HPP_NOEXCEPT
1877       {
1878         return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
1879       }
1880 
vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags) const1881       void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
1882                                       VkQueryPool        queryPool,
1883                                       uint32_t           firstQuery,
1884                                       uint32_t           queryCount,
1885                                       VkBuffer           dstBuffer,
1886                                       VkDeviceSize       dstOffset,
1887                                       VkDeviceSize       stride,
1888                                       VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1889       {
1890         return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
1891       }
1892 
vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues) const1893       void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
1894                                VkPipelineLayout   layout,
1895                                VkShaderStageFlags stageFlags,
1896                                uint32_t           offset,
1897                                uint32_t           size,
1898                                const void *       pValues ) const VULKAN_HPP_NOEXCEPT
1899       {
1900         return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
1901       }
1902 
vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents) const1903       void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
1904                                  const VkRenderPassBeginInfo * pRenderPassBegin,
1905                                  VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
1906       {
1907         return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
1908       }
1909 
vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents) const1910       void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
1911       {
1912         return ::vkCmdNextSubpass( commandBuffer, contents );
1913       }
1914 
vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const1915       void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1916       {
1917         return ::vkCmdEndRenderPass( commandBuffer );
1918       }
1919 
vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1920       void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1921       {
1922         return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
1923       }
1924 
1925       //=== VK_VERSION_1_1 ===
1926 
vkEnumerateInstanceVersion(uint32_t * pApiVersion) const1927       VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
1928       {
1929         return ::vkEnumerateInstanceVersion( pApiVersion );
1930       }
1931 
vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const1932       VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1933       {
1934         return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
1935       }
1936 
vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const1937       VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1938       {
1939         return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
1940       }
1941 
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const1942       void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
1943                                                uint32_t                   heapIndex,
1944                                                uint32_t                   localDeviceIndex,
1945                                                uint32_t                   remoteDeviceIndex,
1946                                                VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
1947       {
1948         return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
1949       }
1950 
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask) const1951       void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
1952       {
1953         return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
1954       }
1955 
vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1956       void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
1957                               uint32_t        baseGroupX,
1958                               uint32_t        baseGroupY,
1959                               uint32_t        baseGroupZ,
1960                               uint32_t        groupCountX,
1961                               uint32_t        groupCountY,
1962                               uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
1963       {
1964         return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
1965       }
1966 
vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const1967       VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
1968                                                 uint32_t *                        pPhysicalDeviceGroupCount,
1969                                                 VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
1970       {
1971         return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
1972       }
1973 
vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const1974       void vkGetImageMemoryRequirements2( VkDevice                               device,
1975                                           const VkImageMemoryRequirementsInfo2 * pInfo,
1976                                           VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1977       {
1978         return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
1979       }
1980 
vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const1981       void vkGetBufferMemoryRequirements2( VkDevice                                device,
1982                                            const VkBufferMemoryRequirementsInfo2 * pInfo,
1983                                            VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1984       {
1985         return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
1986       }
1987 
vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const1988       void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
1989                                                 const VkImageSparseMemoryRequirementsInfo2 * pInfo,
1990                                                 uint32_t *                                   pSparseMemoryRequirementCount,
1991                                                 VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1992       {
1993         return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1994       }
1995 
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const1996       void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
1997       {
1998         return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
1999       }
2000 
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const2001       void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
2002       {
2003         return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
2004       }
2005 
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const2006       void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
2007                                                  VkFormat              format,
2008                                                  VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
2009       {
2010         return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
2011       }
2012 
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const2013       VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
2014                                                           const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
2015                                                           VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
2016       {
2017         return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
2018       }
2019 
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const2020       void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
2021                                                       uint32_t *                 pQueueFamilyPropertyCount,
2022                                                       VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
2023       {
2024         return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
2025       }
2026 
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const2027       void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice                    physicalDevice,
2028                                                  VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
2029       {
2030         return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
2031       }
2032 
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const2033       void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
2034                                                             const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
2035                                                             uint32_t *                                     pPropertyCount,
2036                                                             VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
2037       {
2038         return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
2039       }
2040 
vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const2041       void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
2042       {
2043         return ::vkTrimCommandPool( device, commandPool, flags );
2044       }
2045 
vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue) const2046       void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
2047       {
2048         return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
2049       }
2050 
vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const2051       VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
2052                                                const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
2053                                                const VkAllocationCallbacks *              pAllocator,
2054                                                VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
2055       {
2056         return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
2057       }
2058 
vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const2059       void vkDestroySamplerYcbcrConversion( VkDevice                      device,
2060                                             VkSamplerYcbcrConversion      ycbcrConversion,
2061                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2062       {
2063         return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
2064       }
2065 
vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const2066       VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
2067                                                  const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
2068                                                  const VkAllocationCallbacks *                pAllocator,
2069                                                  VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
2070       {
2071         return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
2072       }
2073 
vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const2074       void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
2075                                               VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
2076                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2077       {
2078         return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
2079       }
2080 
vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const2081       void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
2082                                               VkDescriptorSet            descriptorSet,
2083                                               VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2084                                               const void *               pData ) const VULKAN_HPP_NOEXCEPT
2085       {
2086         return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
2087       }
2088 
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const2089       void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
2090                                                         const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
2091                                                         VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
2092       {
2093         return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
2094       }
2095 
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const2096       void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
2097                                                        const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
2098                                                        VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
2099       {
2100         return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
2101       }
2102 
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const2103       void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice                              physicalDevice,
2104                                                            const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
2105                                                            VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
2106       {
2107         return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
2108       }
2109 
vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const2110       void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
2111                                             const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
2112                                             VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
2113       {
2114         return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
2115       }
2116 
2117       //=== VK_VERSION_1_2 ===
2118 
vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2119       void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
2120                                    VkBuffer        buffer,
2121                                    VkDeviceSize    offset,
2122                                    VkBuffer        countBuffer,
2123                                    VkDeviceSize    countBufferOffset,
2124                                    uint32_t        maxDrawCount,
2125                                    uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2126       {
2127         return ::vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2128       }
2129 
vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2130       void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
2131                                           VkBuffer        buffer,
2132                                           VkDeviceSize    offset,
2133                                           VkBuffer        countBuffer,
2134                                           VkDeviceSize    countBufferOffset,
2135                                           uint32_t        maxDrawCount,
2136                                           uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2137       {
2138         return ::vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2139       }
2140 
vkCreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const2141       VkResult vkCreateRenderPass2( VkDevice                        device,
2142                                     const VkRenderPassCreateInfo2 * pCreateInfo,
2143                                     const VkAllocationCallbacks *   pAllocator,
2144                                     VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
2145       {
2146         return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
2147       }
2148 
vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const2149       void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
2150                                   const VkRenderPassBeginInfo * pRenderPassBegin,
2151                                   const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
2152       {
2153         return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
2154       }
2155 
vkCmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const2156       void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
2157                               const VkSubpassBeginInfo * pSubpassBeginInfo,
2158                               const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2159       {
2160         return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
2161       }
2162 
vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const2163       void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2164       {
2165         return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
2166       }
2167 
vkResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2168       void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
2169       {
2170         return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
2171       }
2172 
vkGetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const2173       VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
2174       {
2175         return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
2176       }
2177 
vkWaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const2178       VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
2179       {
2180         return ::vkWaitSemaphores( device, pWaitInfo, timeout );
2181       }
2182 
vkSignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const2183       VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
2184       {
2185         return ::vkSignalSemaphore( device, pSignalInfo );
2186       }
2187 
vkGetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2188       VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2189       {
2190         return ::vkGetBufferDeviceAddress( device, pInfo );
2191       }
2192 
vkGetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2193       uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2194       {
2195         return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
2196       }
2197 
vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const2198       uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2199       {
2200         return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
2201       }
2202 
2203       //=== VK_VERSION_1_3 ===
2204 
vkGetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const2205       VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice                 physicalDevice,
2206                                                   uint32_t *                       pToolCount,
2207                                                   VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
2208       {
2209         return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
2210       }
2211 
vkCreatePrivateDataSlot(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const2212       VkResult vkCreatePrivateDataSlot( VkDevice                            device,
2213                                         const VkPrivateDataSlotCreateInfo * pCreateInfo,
2214                                         const VkAllocationCallbacks *       pAllocator,
2215                                         VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
2216       {
2217         return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
2218       }
2219 
vkDestroyPrivateDataSlot(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const2220       void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2221       {
2222         return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
2223       }
2224 
vkSetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const2225       VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
2226         VULKAN_HPP_NOEXCEPT
2227       {
2228         return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
2229       }
2230 
vkGetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const2231       void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
2232         VULKAN_HPP_NOEXCEPT
2233       {
2234         return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
2235       }
2236 
vkCmdSetEvent2(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const2237       void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2238       {
2239         return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
2240       }
2241 
vkCmdResetEvent2(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const2242       void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
2243       {
2244         return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
2245       }
2246 
vkCmdWaitEvents2(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const2247       void vkCmdWaitEvents2( VkCommandBuffer          commandBuffer,
2248                              uint32_t                 eventCount,
2249                              const VkEvent *          pEvents,
2250                              const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
2251       {
2252         return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
2253       }
2254 
vkCmdPipelineBarrier2(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const2255       void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2256       {
2257         return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
2258       }
2259 
vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const2260       void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
2261       {
2262         return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
2263       }
2264 
vkQueueSubmit2(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const2265       VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
2266       {
2267         return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
2268       }
2269 
vkCmdCopyBuffer2(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const2270       void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
2271       {
2272         return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
2273       }
2274 
vkCmdCopyImage2(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const2275       void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
2276       {
2277         return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
2278       }
2279 
vkCmdCopyBufferToImage2(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const2280       void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
2281       {
2282         return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
2283       }
2284 
vkCmdCopyImageToBuffer2(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const2285       void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
2286       {
2287         return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
2288       }
2289 
vkCmdBlitImage2(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const2290       void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
2291       {
2292         return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
2293       }
2294 
vkCmdResolveImage2(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const2295       void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
2296       {
2297         return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
2298       }
2299 
vkCmdBeginRendering(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2300       void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2301       {
2302         return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
2303       }
2304 
vkCmdEndRendering(VkCommandBuffer commandBuffer) const2305       void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2306       {
2307         return ::vkCmdEndRendering( commandBuffer );
2308       }
2309 
vkCmdSetCullMode(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const2310       void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
2311       {
2312         return ::vkCmdSetCullMode( commandBuffer, cullMode );
2313       }
2314 
vkCmdSetFrontFace(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const2315       void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
2316       {
2317         return ::vkCmdSetFrontFace( commandBuffer, frontFace );
2318       }
2319 
vkCmdSetPrimitiveTopology(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const2320       void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
2321       {
2322         return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
2323       }
2324 
vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const2325       void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
2326       {
2327         return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
2328       }
2329 
vkCmdSetScissorWithCount(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const2330       void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
2331       {
2332         return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
2333       }
2334 
vkCmdBindVertexBuffers2(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const2335       void vkCmdBindVertexBuffers2( VkCommandBuffer      commandBuffer,
2336                                     uint32_t             firstBinding,
2337                                     uint32_t             bindingCount,
2338                                     const VkBuffer *     pBuffers,
2339                                     const VkDeviceSize * pOffsets,
2340                                     const VkDeviceSize * pSizes,
2341                                     const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
2342       {
2343         return ::vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
2344       }
2345 
vkCmdSetDepthTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const2346       void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
2347       {
2348         return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
2349       }
2350 
vkCmdSetDepthWriteEnable(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const2351       void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
2352       {
2353         return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
2354       }
2355 
vkCmdSetDepthCompareOp(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const2356       void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
2357       {
2358         return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
2359       }
2360 
vkCmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const2361       void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
2362       {
2363         return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
2364       }
2365 
vkCmdSetStencilTestEnable(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const2366       void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
2367       {
2368         return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
2369       }
2370 
vkCmdSetStencilOp(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const2371       void vkCmdSetStencilOp( VkCommandBuffer    commandBuffer,
2372                               VkStencilFaceFlags faceMask,
2373                               VkStencilOp        failOp,
2374                               VkStencilOp        passOp,
2375                               VkStencilOp        depthFailOp,
2376                               VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
2377       {
2378         return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
2379       }
2380 
vkCmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const2381       void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
2382       {
2383         return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
2384       }
2385 
vkCmdSetDepthBiasEnable(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const2386       void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
2387       {
2388         return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
2389       }
2390 
vkCmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const2391       void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
2392       {
2393         return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
2394       }
2395 
vkGetDeviceBufferMemoryRequirements(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2396       void vkGetDeviceBufferMemoryRequirements( VkDevice                                 device,
2397                                                 const VkDeviceBufferMemoryRequirements * pInfo,
2398                                                 VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2399       {
2400         return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
2401       }
2402 
vkGetDeviceImageMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2403       void vkGetDeviceImageMemoryRequirements( VkDevice                                device,
2404                                                const VkDeviceImageMemoryRequirements * pInfo,
2405                                                VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2406       {
2407         return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
2408       }
2409 
vkGetDeviceImageSparseMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2410       void vkGetDeviceImageSparseMemoryRequirements( VkDevice                                device,
2411                                                      const VkDeviceImageMemoryRequirements * pInfo,
2412                                                      uint32_t *                              pSparseMemoryRequirementCount,
2413                                                      VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2414       {
2415         return ::vkGetDeviceImageSparseMemoryRequirements( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2416       }
2417 
2418       //=== VK_VERSION_1_4 ===
2419 
vkCmdSetLineStipple(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const2420       void vkCmdSetLineStipple( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
2421       {
2422         return ::vkCmdSetLineStipple( commandBuffer, lineStippleFactor, lineStipplePattern );
2423       }
2424 
vkMapMemory2(VkDevice device,const VkMemoryMapInfo * pMemoryMapInfo,void ** ppData) const2425       VkResult vkMapMemory2( VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
2426       {
2427         return ::vkMapMemory2( device, pMemoryMapInfo, ppData );
2428       }
2429 
vkUnmapMemory2(VkDevice device,const VkMemoryUnmapInfo * pMemoryUnmapInfo) const2430       VkResult vkUnmapMemory2( VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
2431       {
2432         return ::vkUnmapMemory2( device, pMemoryUnmapInfo );
2433       }
2434 
vkCmdBindIndexBuffer2(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const2435       void vkCmdBindIndexBuffer2( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
2436         VULKAN_HPP_NOEXCEPT
2437       {
2438         return ::vkCmdBindIndexBuffer2( commandBuffer, buffer, offset, size, indexType );
2439       }
2440 
vkGetRenderingAreaGranularity(VkDevice device,const VkRenderingAreaInfo * pRenderingAreaInfo,VkExtent2D * pGranularity) const2441       void vkGetRenderingAreaGranularity( VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
2442       {
2443         return ::vkGetRenderingAreaGranularity( device, pRenderingAreaInfo, pGranularity );
2444       }
2445 
vkGetDeviceImageSubresourceLayout(VkDevice device,const VkDeviceImageSubresourceInfo * pInfo,VkSubresourceLayout2 * pLayout) const2446       void vkGetDeviceImageSubresourceLayout( VkDevice                             device,
2447                                               const VkDeviceImageSubresourceInfo * pInfo,
2448                                               VkSubresourceLayout2 *               pLayout ) const VULKAN_HPP_NOEXCEPT
2449       {
2450         return ::vkGetDeviceImageSubresourceLayout( device, pInfo, pLayout );
2451       }
2452 
vkGetImageSubresourceLayout2(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const2453       void vkGetImageSubresourceLayout2( VkDevice                    device,
2454                                          VkImage                     image,
2455                                          const VkImageSubresource2 * pSubresource,
2456                                          VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
2457       {
2458         return ::vkGetImageSubresourceLayout2( device, image, pSubresource, pLayout );
2459       }
2460 
vkCmdPushDescriptorSet(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const2461       void vkCmdPushDescriptorSet( VkCommandBuffer              commandBuffer,
2462                                    VkPipelineBindPoint          pipelineBindPoint,
2463                                    VkPipelineLayout             layout,
2464                                    uint32_t                     set,
2465                                    uint32_t                     descriptorWriteCount,
2466                                    const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
2467       {
2468         return ::vkCmdPushDescriptorSet( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
2469       }
2470 
vkCmdPushDescriptorSetWithTemplate(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const2471       void vkCmdPushDescriptorSetWithTemplate( VkCommandBuffer            commandBuffer,
2472                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2473                                                VkPipelineLayout           layout,
2474                                                uint32_t                   set,
2475                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
2476       {
2477         return ::vkCmdPushDescriptorSetWithTemplate( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
2478       }
2479 
vkCmdSetRenderingAttachmentLocations(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfo * pLocationInfo) const2480       void vkCmdSetRenderingAttachmentLocations( VkCommandBuffer                           commandBuffer,
2481                                                  const VkRenderingAttachmentLocationInfo * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
2482       {
2483         return ::vkCmdSetRenderingAttachmentLocations( commandBuffer, pLocationInfo );
2484       }
2485 
vkCmdSetRenderingInputAttachmentIndices(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) const2486       void vkCmdSetRenderingInputAttachmentIndices( VkCommandBuffer                             commandBuffer,
2487                                                     const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT
2488       {
2489         return ::vkCmdSetRenderingInputAttachmentIndices( commandBuffer, pInputAttachmentIndexInfo );
2490       }
2491 
vkCmdBindDescriptorSets2(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) const2492       void vkCmdBindDescriptorSets2( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
2493       {
2494         return ::vkCmdBindDescriptorSets2( commandBuffer, pBindDescriptorSetsInfo );
2495       }
2496 
vkCmdPushConstants2(VkCommandBuffer commandBuffer,const VkPushConstantsInfo * pPushConstantsInfo) const2497       void vkCmdPushConstants2( VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
2498       {
2499         return ::vkCmdPushConstants2( commandBuffer, pPushConstantsInfo );
2500       }
2501 
vkCmdPushDescriptorSet2(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) const2502       void vkCmdPushDescriptorSet2( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
2503       {
2504         return ::vkCmdPushDescriptorSet2( commandBuffer, pPushDescriptorSetInfo );
2505       }
2506 
vkCmdPushDescriptorSetWithTemplate2(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) const2507       void vkCmdPushDescriptorSetWithTemplate2( VkCommandBuffer                             commandBuffer,
2508                                                 const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
2509       {
2510         return ::vkCmdPushDescriptorSetWithTemplate2( commandBuffer, pPushDescriptorSetWithTemplateInfo );
2511       }
2512 
vkCopyMemoryToImage(VkDevice device,const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) const2513       VkResult vkCopyMemoryToImage( VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
2514       {
2515         return ::vkCopyMemoryToImage( device, pCopyMemoryToImageInfo );
2516       }
2517 
vkCopyImageToMemory(VkDevice device,const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) const2518       VkResult vkCopyImageToMemory( VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
2519       {
2520         return ::vkCopyImageToMemory( device, pCopyImageToMemoryInfo );
2521       }
2522 
vkCopyImageToImage(VkDevice device,const VkCopyImageToImageInfo * pCopyImageToImageInfo) const2523       VkResult vkCopyImageToImage( VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
2524       {
2525         return ::vkCopyImageToImage( device, pCopyImageToImageInfo );
2526       }
2527 
2528       VkResult
vkTransitionImageLayout(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfo * pTransitions) const2529         vkTransitionImageLayout( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions ) const VULKAN_HPP_NOEXCEPT
2530       {
2531         return ::vkTransitionImageLayout( device, transitionCount, pTransitions );
2532       }
2533 
2534       //=== VK_KHR_surface ===
2535 
vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator) const2536       void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2537       {
2538         return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
2539       }
2540 
vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported) const2541       VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
2542                                                      uint32_t         queueFamilyIndex,
2543                                                      VkSurfaceKHR     surface,
2544                                                      VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
2545       {
2546         return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
2547       }
2548 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities) const2549       VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
2550                                                           VkSurfaceKHR               surface,
2551                                                           VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
2552       {
2553         return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
2554       }
2555 
vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats) const2556       VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
2557                                                      VkSurfaceKHR         surface,
2558                                                      uint32_t *           pSurfaceFormatCount,
2559                                                      VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
2560       {
2561         return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
2562       }
2563 
vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const2564       VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
2565                                                           VkSurfaceKHR       surface,
2566                                                           uint32_t *         pPresentModeCount,
2567                                                           VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
2568       {
2569         return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
2570       }
2571 
2572       //=== VK_KHR_swapchain ===
2573 
vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain) const2574       VkResult vkCreateSwapchainKHR( VkDevice                         device,
2575                                      const VkSwapchainCreateInfoKHR * pCreateInfo,
2576                                      const VkAllocationCallbacks *    pAllocator,
2577                                      VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
2578       {
2579         return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
2580       }
2581 
vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator) const2582       void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2583       {
2584         return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
2585       }
2586 
vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages) const2587       VkResult vkGetSwapchainImagesKHR( VkDevice       device,
2588                                         VkSwapchainKHR swapchain,
2589                                         uint32_t *     pSwapchainImageCount,
2590                                         VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
2591       {
2592         return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
2593       }
2594 
vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex) const2595       VkResult vkAcquireNextImageKHR(
2596         VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2597       {
2598         return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
2599       }
2600 
vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo) const2601       VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
2602       {
2603         return ::vkQueuePresentKHR( queue, pPresentInfo );
2604       }
2605 
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) const2606       VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice                              device,
2607                                                        VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
2608       {
2609         return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
2610       }
2611 
2612       VkResult
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes) const2613         vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
2614       {
2615         return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
2616       }
2617 
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects) const2618       VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
2619                                                         VkSurfaceKHR     surface,
2620                                                         uint32_t *       pRectCount,
2621                                                         VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
2622       {
2623         return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
2624       }
2625 
vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex) const2626       VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2627       {
2628         return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
2629       }
2630 
2631       //=== VK_KHR_display ===
2632 
vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties) const2633       VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
2634                                                         uint32_t *               pPropertyCount,
2635                                                         VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2636       {
2637         return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2638       }
2639 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties) const2640       VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
2641                                                              uint32_t *                    pPropertyCount,
2642                                                              VkDisplayPlanePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2643       {
2644         return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2645       }
2646 
vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays) const2647       VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
2648                                                       uint32_t         planeIndex,
2649                                                       uint32_t *       pDisplayCount,
2650                                                       VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
2651       {
2652         return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
2653       }
2654 
vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties) const2655       VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
2656                                               VkDisplayKHR                 display,
2657                                               uint32_t *                   pPropertyCount,
2658                                               VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2659       {
2660         return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
2661       }
2662 
vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode) const2663       VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
2664                                        VkDisplayKHR                       display,
2665                                        const VkDisplayModeCreateInfoKHR * pCreateInfo,
2666                                        const VkAllocationCallbacks *      pAllocator,
2667                                        VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
2668       {
2669         return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
2670       }
2671 
vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities) const2672       VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
2673                                                  VkDisplayModeKHR                mode,
2674                                                  uint32_t                        planeIndex,
2675                                                  VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
2676       {
2677         return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
2678       }
2679 
vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2680       VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
2681                                                const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
2682                                                const VkAllocationCallbacks *         pAllocator,
2683                                                VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2684       {
2685         return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2686       }
2687 
2688       //=== VK_KHR_display_swapchain ===
2689 
vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains) const2690       VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
2691                                             uint32_t                         swapchainCount,
2692                                             const VkSwapchainCreateInfoKHR * pCreateInfos,
2693                                             const VkAllocationCallbacks *    pAllocator,
2694                                             VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
2695       {
2696         return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
2697       }
2698 
2699 #  if defined( VK_USE_PLATFORM_XLIB_KHR )
2700       //=== VK_KHR_xlib_surface ===
2701 
vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2702       VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
2703                                        const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
2704                                        const VkAllocationCallbacks *      pAllocator,
2705                                        VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
2706       {
2707         return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2708       }
2709 
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID) const2710       VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
2711                                                               uint32_t         queueFamilyIndex,
2712                                                               Display *        dpy,
2713                                                               VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
2714       {
2715         return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
2716       }
2717 #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
2718 
2719 #  if defined( VK_USE_PLATFORM_XCB_KHR )
2720       //=== VK_KHR_xcb_surface ===
2721 
vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2722       VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
2723                                       const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
2724                                       const VkAllocationCallbacks *     pAllocator,
2725                                       VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
2726       {
2727         return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2728       }
2729 
vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id) const2730       VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
2731                                                              uint32_t           queueFamilyIndex,
2732                                                              xcb_connection_t * connection,
2733                                                              xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
2734       {
2735         return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
2736       }
2737 #  endif /*VK_USE_PLATFORM_XCB_KHR*/
2738 
2739 #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
2740       //=== VK_KHR_wayland_surface ===
2741 
vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2742       VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
2743                                           const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
2744                                           const VkAllocationCallbacks *         pAllocator,
2745                                           VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2746       {
2747         return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2748       }
2749 
vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct wl_display * display) const2750       VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
2751                                                                  uint32_t            queueFamilyIndex,
2752                                                                  struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
2753       {
2754         return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
2755       }
2756 #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2757 
2758 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
2759       //=== VK_KHR_android_surface ===
2760 
vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2761       VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
2762                                           const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
2763                                           const VkAllocationCallbacks *         pAllocator,
2764                                           VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2765       {
2766         return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2767       }
2768 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2769 
2770 #  if defined( VK_USE_PLATFORM_OHOS )
2771     //=== VK_OHOS_surface ===
2772 
vkCreateSurfaceOHOS(VkInstance instance,const VkSurfaceCreateInfoOHOS * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2773     VkResult vkCreateSurfaceOHOS( VkInstance instance,
2774     							                const VkSurfaceCreateInfoOHOS * pCreateInfo,
2775                                   const VkAllocationCallbacks * pAllocator,
2776                                   VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
2777     {
2778       return ::vkCreateSurfaceOHOS( instance, pCreateInfo, pAllocator, pSurface );
2779     }
2780 #  endif /*VK_USE_PLATFORM_OHOS*/
2781 
2782 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
2783       //=== VK_KHR_win32_surface ===
2784 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2785       VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2786                                         const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2787                                         const VkAllocationCallbacks *       pAllocator,
2788                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2789       {
2790         return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2791       }
2792 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2793       VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2794       {
2795         return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2796       }
2797 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2798 
2799       //=== VK_EXT_debug_report ===
2800 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2801       VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2802                                                const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2803                                                const VkAllocationCallbacks *              pAllocator,
2804                                                VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2805       {
2806         return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2807       }
2808 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2809       void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2810                                             VkDebugReportCallbackEXT      callback,
2811                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2812       {
2813         return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2814       }
2815 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2816       void vkDebugReportMessageEXT( VkInstance                 instance,
2817                                     VkDebugReportFlagsEXT      flags,
2818                                     VkDebugReportObjectTypeEXT objectType,
2819                                     uint64_t                   object,
2820                                     size_t                     location,
2821                                     int32_t                    messageCode,
2822                                     const char *               pLayerPrefix,
2823                                     const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2824       {
2825         return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2826       }
2827 
2828       //=== VK_EXT_debug_marker ===
2829 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2830       VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2831       {
2832         return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2833       }
2834 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2835       VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2836       {
2837         return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2838       }
2839 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2840       void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2841       {
2842         return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2843       }
2844 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2845       void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2846       {
2847         return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2848       }
2849 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2850       void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2851       {
2852         return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2853       }
2854 
2855       //=== VK_KHR_video_queue ===
2856 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2857       VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2858                                                         const VkVideoProfileInfoKHR * pVideoProfile,
2859                                                         VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2860       {
2861         return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2862       }
2863 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2864       VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2865                                                             const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2866                                                             uint32_t *                                 pVideoFormatPropertyCount,
2867                                                             VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2868       {
2869         return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2870       }
2871 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2872       VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2873                                         const VkVideoSessionCreateInfoKHR * pCreateInfo,
2874                                         const VkAllocationCallbacks *       pAllocator,
2875                                         VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2876       {
2877         return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2878       }
2879 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2880       void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2881       {
2882         return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2883       }
2884 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2885       VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2886                                                        VkVideoSessionKHR                     videoSession,
2887                                                        uint32_t *                            pMemoryRequirementsCount,
2888                                                        VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2889       {
2890         return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2891       }
2892 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2893       VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2894                                             VkVideoSessionKHR                       videoSession,
2895                                             uint32_t                                bindSessionMemoryInfoCount,
2896                                             const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2897       {
2898         return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2899       }
2900 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2901       VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2902                                                   const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2903                                                   const VkAllocationCallbacks *                 pAllocator,
2904                                                   VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2905       {
2906         return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2907       }
2908 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2909       VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2910                                                   VkVideoSessionParametersKHR                   videoSessionParameters,
2911                                                   const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2912       {
2913         return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2914       }
2915 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2916       void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2917                                                VkVideoSessionParametersKHR   videoSessionParameters,
2918                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2919       {
2920         return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2921       }
2922 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2923       void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2924       {
2925         return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2926       }
2927 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2928       void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2929       {
2930         return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2931       }
2932 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2933       void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2934       {
2935         return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2936       }
2937 
2938       //=== VK_KHR_video_decode_queue ===
2939 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2940       void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2941       {
2942         return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2943       }
2944 
2945       //=== VK_EXT_transform_feedback ===
2946 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2947       void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2948                                                  uint32_t             firstBinding,
2949                                                  uint32_t             bindingCount,
2950                                                  const VkBuffer *     pBuffers,
2951                                                  const VkDeviceSize * pOffsets,
2952                                                  const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2953       {
2954         return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2955       }
2956 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2957       void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2958                                            uint32_t             firstCounterBuffer,
2959                                            uint32_t             counterBufferCount,
2960                                            const VkBuffer *     pCounterBuffers,
2961                                            const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2962       {
2963         return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2964       }
2965 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2966       void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2967                                          uint32_t             firstCounterBuffer,
2968                                          uint32_t             counterBufferCount,
2969                                          const VkBuffer *     pCounterBuffers,
2970                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2971       {
2972         return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2973       }
2974 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2975       void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2976         VULKAN_HPP_NOEXCEPT
2977       {
2978         return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2979       }
2980 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2981       void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2982       {
2983         return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2984       }
2985 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2986       void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2987                                           uint32_t        instanceCount,
2988                                           uint32_t        firstInstance,
2989                                           VkBuffer        counterBuffer,
2990                                           VkDeviceSize    counterBufferOffset,
2991                                           uint32_t        counterOffset,
2992                                           uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2993       {
2994         return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2995       }
2996 
2997       //=== VK_NVX_binary_import ===
2998 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2999       VkResult vkCreateCuModuleNVX( VkDevice                        device,
3000                                     const VkCuModuleCreateInfoNVX * pCreateInfo,
3001                                     const VkAllocationCallbacks *   pAllocator,
3002                                     VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
3003       {
3004         return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
3005       }
3006 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const3007       VkResult vkCreateCuFunctionNVX( VkDevice                          device,
3008                                       const VkCuFunctionCreateInfoNVX * pCreateInfo,
3009                                       const VkAllocationCallbacks *     pAllocator,
3010                                       VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
3011       {
3012         return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
3013       }
3014 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const3015       void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3016       {
3017         return ::vkDestroyCuModuleNVX( device, module, pAllocator );
3018       }
3019 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const3020       void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3021       {
3022         return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
3023       }
3024 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const3025       void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
3026       {
3027         return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
3028       }
3029 
3030       //=== VK_NVX_image_view_handle ===
3031 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3032       uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3033       {
3034         return ::vkGetImageViewHandleNVX( device, pInfo );
3035       }
3036 
vkGetImageViewHandle64NVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3037       uint64_t vkGetImageViewHandle64NVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3038       {
3039         return ::vkGetImageViewHandle64NVX( device, pInfo );
3040       }
3041 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const3042       VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
3043       {
3044         return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
3045       }
3046 
3047       //=== VK_AMD_draw_indirect_count ===
3048 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3049       void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
3050                                       VkBuffer        buffer,
3051                                       VkDeviceSize    offset,
3052                                       VkBuffer        countBuffer,
3053                                       VkDeviceSize    countBufferOffset,
3054                                       uint32_t        maxDrawCount,
3055                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3056       {
3057         return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3058       }
3059 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3060       void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
3061                                              VkBuffer        buffer,
3062                                              VkDeviceSize    offset,
3063                                              VkBuffer        countBuffer,
3064                                              VkDeviceSize    countBufferOffset,
3065                                              uint32_t        maxDrawCount,
3066                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3067       {
3068         return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3069       }
3070 
3071       //=== VK_AMD_shader_info ===
3072 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const3073       VkResult vkGetShaderInfoAMD( VkDevice              device,
3074                                    VkPipeline            pipeline,
3075                                    VkShaderStageFlagBits shaderStage,
3076                                    VkShaderInfoTypeAMD   infoType,
3077                                    size_t *              pInfoSize,
3078                                    void *                pInfo ) const VULKAN_HPP_NOEXCEPT
3079       {
3080         return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
3081       }
3082 
3083       //=== VK_KHR_dynamic_rendering ===
3084 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const3085       void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
3086       {
3087         return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
3088       }
3089 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const3090       void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3091       {
3092         return ::vkCmdEndRenderingKHR( commandBuffer );
3093       }
3094 
3095 #  if defined( VK_USE_PLATFORM_GGP )
3096       //=== VK_GGP_stream_descriptor_surface ===
3097 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3098       VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3099                                                    const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3100                                                    const VkAllocationCallbacks *                  pAllocator,
3101                                                    VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3102       {
3103         return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3104       }
3105 #  endif /*VK_USE_PLATFORM_GGP*/
3106 
3107       //=== VK_NV_external_memory_capabilities ===
3108 
3109       VkResult
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3110         vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3111                                                             VkFormat                            format,
3112                                                             VkImageType                         type,
3113                                                             VkImageTiling                       tiling,
3114                                                             VkImageUsageFlags                   usage,
3115                                                             VkImageCreateFlags                  flags,
3116                                                             VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3117                                                             VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3118       {
3119         return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3120           physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3121       }
3122 
3123 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3124       //=== VK_NV_external_memory_win32 ===
3125 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3126       VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3127                                          VkDeviceMemory                    memory,
3128                                          VkExternalMemoryHandleTypeFlagsNV handleType,
3129                                          HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3130       {
3131         return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3132       }
3133 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3134 
3135       //=== VK_KHR_get_physical_device_properties2 ===
3136 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3137       void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3138       {
3139         return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3140       }
3141 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3142       void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3143       {
3144         return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3145       }
3146 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3147       void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3148                                                     VkFormat              format,
3149                                                     VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3150       {
3151         return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3152       }
3153 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3154       VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3155                                                              const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3156                                                              VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3157       {
3158         return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3159       }
3160 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3161       void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3162                                                          uint32_t *                 pQueueFamilyPropertyCount,
3163                                                          VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3164       {
3165         return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3166       }
3167 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3168       void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3169                                                     VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3170       {
3171         return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3172       }
3173 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3174       void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3175                                                                const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3176                                                                uint32_t *                                     pPropertyCount,
3177                                                                VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3178       {
3179         return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3180       }
3181 
3182       //=== VK_KHR_device_group ===
3183 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3184       void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3185                                                   uint32_t                   heapIndex,
3186                                                   uint32_t                   localDeviceIndex,
3187                                                   uint32_t                   remoteDeviceIndex,
3188                                                   VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3189       {
3190         return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3191       }
3192 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3193       void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3194       {
3195         return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3196       }
3197 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3198       void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3199                                  uint32_t        baseGroupX,
3200                                  uint32_t        baseGroupY,
3201                                  uint32_t        baseGroupZ,
3202                                  uint32_t        groupCountX,
3203                                  uint32_t        groupCountY,
3204                                  uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3205       {
3206         return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3207       }
3208 
3209 #  if defined( VK_USE_PLATFORM_VI_NN )
3210       //=== VK_NN_vi_surface ===
3211 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3212       VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3213                                     const VkViSurfaceCreateInfoNN * pCreateInfo,
3214                                     const VkAllocationCallbacks *   pAllocator,
3215                                     VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3216       {
3217         return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3218       }
3219 #  endif /*VK_USE_PLATFORM_VI_NN*/
3220 
3221       //=== VK_KHR_maintenance1 ===
3222 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3223       void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3224       {
3225         return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3226       }
3227 
3228       //=== VK_KHR_device_group_creation ===
3229 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3230       VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3231                                                    uint32_t *                        pPhysicalDeviceGroupCount,
3232                                                    VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3233       {
3234         return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3235       }
3236 
3237       //=== VK_KHR_external_memory_capabilities ===
3238 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3239       void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3240                                                            const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3241                                                            VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3242       {
3243         return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3244       }
3245 
3246 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3247       //=== VK_KHR_external_memory_win32 ===
3248 
3249       VkResult
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3250         vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3251       {
3252         return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3253       }
3254 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3255       VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3256                                                     VkExternalMemoryHandleTypeFlagBits handleType,
3257                                                     HANDLE                             handle,
3258                                                     VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3259       {
3260         return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3261       }
3262 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3263 
3264       //=== VK_KHR_external_memory_fd ===
3265 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3266       VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3267       {
3268         return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3269       }
3270 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3271       VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3272                                            VkExternalMemoryHandleTypeFlagBits handleType,
3273                                            int                                fd,
3274                                            VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3275       {
3276         return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3277       }
3278 
3279       //=== VK_KHR_external_semaphore_capabilities ===
3280 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3281       void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3282                                                               const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3283                                                               VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3284       {
3285         return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3286       }
3287 
3288 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3289       //=== VK_KHR_external_semaphore_win32 ===
3290 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3291       VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3292                                                 const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3293       {
3294         return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3295       }
3296 
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3297       VkResult vkGetSemaphoreWin32HandleKHR( VkDevice                                 device,
3298                                              const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
3299                                              HANDLE *                                 pHandle ) const VULKAN_HPP_NOEXCEPT
3300       {
3301         return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3302       }
3303 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3304 
3305       //=== VK_KHR_external_semaphore_fd ===
3306 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3307       VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3308       {
3309         return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3310       }
3311 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3312       VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3313       {
3314         return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3315       }
3316 
3317       //=== VK_KHR_push_descriptor ===
3318 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3319       void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3320                                       VkPipelineBindPoint          pipelineBindPoint,
3321                                       VkPipelineLayout             layout,
3322                                       uint32_t                     set,
3323                                       uint32_t                     descriptorWriteCount,
3324                                       const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3325       {
3326         return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3327       }
3328 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3329       void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3330                                                   VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3331                                                   VkPipelineLayout           layout,
3332                                                   uint32_t                   set,
3333                                                   const void *               pData ) const VULKAN_HPP_NOEXCEPT
3334       {
3335         return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3336       }
3337 
3338       //=== VK_EXT_conditional_rendering ===
3339 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3340       void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3341                                               const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3342       {
3343         return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3344       }
3345 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3346       void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3347       {
3348         return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3349       }
3350 
3351       //=== VK_KHR_descriptor_update_template ===
3352 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3353       VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3354                                                     const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3355                                                     const VkAllocationCallbacks *                pAllocator,
3356                                                     VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3357       {
3358         return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3359       }
3360 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3361       void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3362                                                  VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3363                                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3364       {
3365         return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3366       }
3367 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3368       void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3369                                                  VkDescriptorSet            descriptorSet,
3370                                                  VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3371                                                  const void *               pData ) const VULKAN_HPP_NOEXCEPT
3372       {
3373         return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3374       }
3375 
3376       //=== VK_NV_clip_space_w_scaling ===
3377 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3378       void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3379                                        uint32_t                     firstViewport,
3380                                        uint32_t                     viewportCount,
3381                                        const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3382       {
3383         return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3384       }
3385 
3386       //=== VK_EXT_direct_mode_display ===
3387 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3388       VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3389       {
3390         return ::vkReleaseDisplayEXT( physicalDevice, display );
3391       }
3392 
3393 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3394       //=== VK_EXT_acquire_xlib_display ===
3395 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3396       VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3397       {
3398         return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3399       }
3400 
3401       VkResult
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3402         vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3403       {
3404         return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3405       }
3406 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3407 
3408       //=== VK_EXT_display_surface_counter ===
3409 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3410       VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3411                                                            VkSurfaceKHR                surface,
3412                                                            VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3413       {
3414         return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3415       }
3416 
3417       //=== VK_EXT_display_control ===
3418 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3419       VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3420       {
3421         return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3422       }
3423 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3424       VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3425                                          const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3426                                          const VkAllocationCallbacks * pAllocator,
3427                                          VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3428       {
3429         return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3430       }
3431 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3432       VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3433                                           VkDisplayKHR                  display,
3434                                           const VkDisplayEventInfoEXT * pDisplayEventInfo,
3435                                           const VkAllocationCallbacks * pAllocator,
3436                                           VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3437       {
3438         return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3439       }
3440 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3441       VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3442                                          VkSwapchainKHR              swapchain,
3443                                          VkSurfaceCounterFlagBitsEXT counter,
3444                                          uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3445       {
3446         return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3447       }
3448 
3449       //=== VK_GOOGLE_display_timing ===
3450 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3451       VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3452                                                 VkSwapchainKHR                 swapchain,
3453                                                 VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3454       {
3455         return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3456       }
3457 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3458       VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3459                                                   VkSwapchainKHR                   swapchain,
3460                                                   uint32_t *                       pPresentationTimingCount,
3461                                                   VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3462       {
3463         return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3464       }
3465 
3466       //=== VK_EXT_discard_rectangles ===
3467 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3468       void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3469                                         uint32_t         firstDiscardRectangle,
3470                                         uint32_t         discardRectangleCount,
3471                                         const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3472       {
3473         return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3474       }
3475 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3476       void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3477       {
3478         return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3479       }
3480 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3481       void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3482       {
3483         return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3484       }
3485 
3486       //=== VK_EXT_hdr_metadata ===
3487 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3488       void vkSetHdrMetadataEXT( VkDevice                 device,
3489                                 uint32_t                 swapchainCount,
3490                                 const VkSwapchainKHR *   pSwapchains,
3491                                 const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3492       {
3493         return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3494       }
3495 
3496       //=== VK_KHR_create_renderpass2 ===
3497 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3498       VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3499                                        const VkRenderPassCreateInfo2 * pCreateInfo,
3500                                        const VkAllocationCallbacks *   pAllocator,
3501                                        VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3502       {
3503         return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3504       }
3505 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3506       void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3507                                      const VkRenderPassBeginInfo * pRenderPassBegin,
3508                                      const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3509       {
3510         return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3511       }
3512 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3513       void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3514                                  const VkSubpassBeginInfo * pSubpassBeginInfo,
3515                                  const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3516       {
3517         return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3518       }
3519 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3520       void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3521       {
3522         return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3523       }
3524 
3525       //=== VK_KHR_shared_presentable_image ===
3526 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3527       VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3528       {
3529         return ::vkGetSwapchainStatusKHR( device, swapchain );
3530       }
3531 
3532       //=== VK_KHR_external_fence_capabilities ===
3533 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3534       void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3535                                                           const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3536                                                           VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3537       {
3538         return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3539       }
3540 
3541 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3542       //=== VK_KHR_external_fence_win32 ===
3543 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3544       VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3545       {
3546         return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3547       }
3548 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3549       VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3550       {
3551         return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3552       }
3553 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3554 
3555       //=== VK_KHR_external_fence_fd ===
3556 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3557       VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3558       {
3559         return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3560       }
3561 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3562       VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3563       {
3564         return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3565       }
3566 
3567       //=== VK_KHR_performance_query ===
3568 
3569       VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3570         vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3571                                                                          uint32_t                             queueFamilyIndex,
3572                                                                          uint32_t *                           pCounterCount,
3573                                                                          VkPerformanceCounterKHR *            pCounters,
3574                                                                          VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3575       {
3576         return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3577           physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3578       }
3579 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3580       void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3581                                                                     const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3582                                                                     uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3583       {
3584         return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3585       }
3586 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3587       VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3588       {
3589         return ::vkAcquireProfilingLockKHR( device, pInfo );
3590       }
3591 
vkReleaseProfilingLockKHR(VkDevice device) const3592       void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3593       {
3594         return ::vkReleaseProfilingLockKHR( device );
3595       }
3596 
3597       //=== VK_KHR_get_surface_capabilities2 ===
3598 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3599       VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3600                                                            const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3601                                                            VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3602       {
3603         return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3604       }
3605 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3606       VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3607                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3608                                                       uint32_t *                              pSurfaceFormatCount,
3609                                                       VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3610       {
3611         return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3612       }
3613 
3614       //=== VK_KHR_get_display_properties2 ===
3615 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3616       VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3617                                                          uint32_t *                pPropertyCount,
3618                                                          VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3619       {
3620         return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3621       }
3622 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3623       VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3624                                                               uint32_t *                     pPropertyCount,
3625                                                               VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3626       {
3627         return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3628       }
3629 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3630       VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3631                                                VkDisplayKHR                  display,
3632                                                uint32_t *                    pPropertyCount,
3633                                                VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3634       {
3635         return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3636       }
3637 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3638       VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3639                                                   const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3640                                                   VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3641       {
3642         return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3643       }
3644 
3645 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3646       //=== VK_MVK_ios_surface ===
3647 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3648       VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3649                                       const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3650                                       const VkAllocationCallbacks *     pAllocator,
3651                                       VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3652       {
3653         return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3654       }
3655 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3656 
3657 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3658       //=== VK_MVK_macos_surface ===
3659 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3660       VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3661                                         const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3662                                         const VkAllocationCallbacks *       pAllocator,
3663                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3664       {
3665         return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3666       }
3667 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3668 
3669       //=== VK_EXT_debug_utils ===
3670 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3671       VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3672       {
3673         return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3674       }
3675 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3676       VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3677       {
3678         return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3679       }
3680 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3681       void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3682       {
3683         return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3684       }
3685 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3686       void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3687       {
3688         return ::vkQueueEndDebugUtilsLabelEXT( queue );
3689       }
3690 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3691       void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3692       {
3693         return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3694       }
3695 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3696       void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3697       {
3698         return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3699       }
3700 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3701       void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3702       {
3703         return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3704       }
3705 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3706       void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3707       {
3708         return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3709       }
3710 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3711       VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3712                                                const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3713                                                const VkAllocationCallbacks *              pAllocator,
3714                                                VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3715       {
3716         return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3717       }
3718 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3719       void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3720                                             VkDebugUtilsMessengerEXT      messenger,
3721                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3722       {
3723         return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3724       }
3725 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3726       void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3727                                          VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3728                                          VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3729                                          const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3730       {
3731         return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3732       }
3733 
3734 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3735       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3736 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3737       VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3738                                                             const struct AHardwareBuffer *             buffer,
3739                                                             VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3740       {
3741         return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3742       }
3743 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3744       VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3745                                                         const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3746                                                         struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3747       {
3748         return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3749       }
3750 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3751 
3752 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3753       //=== VK_AMDX_shader_enqueue ===
3754 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3755       VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3756                                                     VkPipelineCache                                pipelineCache,
3757                                                     uint32_t                                       createInfoCount,
3758                                                     const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3759                                                     const VkAllocationCallbacks *                  pAllocator,
3760                                                     VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3761       {
3762         return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3763       }
3764 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3765       VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3766                                                            VkPipeline                                executionGraph,
3767                                                            VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3768       {
3769         return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3770       }
3771 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3772       VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3773                                                          VkPipeline                                      executionGraph,
3774                                                          const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3775                                                          uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3776       {
3777         return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3778       }
3779 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkPipeline executionGraph,VkDeviceAddress scratch,VkDeviceSize scratchSize) const3780       void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer,
3781                                                   VkPipeline      executionGraph,
3782                                                   VkDeviceAddress scratch,
3783                                                   VkDeviceSize    scratchSize ) const VULKAN_HPP_NOEXCEPT
3784       {
3785         return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, executionGraph, scratch, scratchSize );
3786       }
3787 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3788       void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3789                                    VkDeviceAddress                      scratch,
3790                                    VkDeviceSize                         scratchSize,
3791                                    const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3792       {
3793         return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
3794       }
3795 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3796       void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3797                                            VkDeviceAddress                      scratch,
3798                                            VkDeviceSize                         scratchSize,
3799                                            const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3800       {
3801         return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
3802       }
3803 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,VkDeviceAddress countInfo) const3804       void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer,
3805                                                 VkDeviceAddress scratch,
3806                                                 VkDeviceSize    scratchSize,
3807                                                 VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3808       {
3809         return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, scratchSize, countInfo );
3810       }
3811 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3812 
3813       //=== VK_EXT_sample_locations ===
3814 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3815       void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3816       {
3817         return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3818       }
3819 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3820       void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3821                                                         VkSampleCountFlagBits        samples,
3822                                                         VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3823       {
3824         return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3825       }
3826 
3827       //=== VK_KHR_get_memory_requirements2 ===
3828 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3829       void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3830                                              const VkImageMemoryRequirementsInfo2 * pInfo,
3831                                              VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3832       {
3833         return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3834       }
3835 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3836       void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3837                                               const VkBufferMemoryRequirementsInfo2 * pInfo,
3838                                               VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3839       {
3840         return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3841       }
3842 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3843       void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3844                                                    const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3845                                                    uint32_t *                                   pSparseMemoryRequirementCount,
3846                                                    VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3847       {
3848         return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3849       }
3850 
3851       //=== VK_KHR_acceleration_structure ===
3852 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3853       VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3854                                                  const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3855                                                  const VkAllocationCallbacks *                pAllocator,
3856                                                  VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3857       {
3858         return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3859       }
3860 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3861       void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3862                                               VkAccelerationStructureKHR    accelerationStructure,
3863                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3864       {
3865         return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3866       }
3867 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3868       void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3869                                                 uint32_t                                                 infoCount,
3870                                                 const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3871                                                 const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3872       {
3873         return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3874       }
3875 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3876       void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3877                                                         uint32_t                                            infoCount,
3878                                                         const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3879                                                         const VkDeviceAddress *                             pIndirectDeviceAddresses,
3880                                                         const uint32_t *                                    pIndirectStrides,
3881                                                         const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3882       {
3883         return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3884           commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3885       }
3886 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3887       VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3888                                                  VkDeferredOperationKHR                                   deferredOperation,
3889                                                  uint32_t                                                 infoCount,
3890                                                  const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3891                                                  const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3892       {
3893         return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3894       }
3895 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3896       VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3897                                                VkDeferredOperationKHR                     deferredOperation,
3898                                                const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3899       {
3900         return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3901       }
3902 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3903       VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3904                                                        VkDeferredOperationKHR                             deferredOperation,
3905                                                        const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3906       {
3907         return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3908       }
3909 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3910       VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3911                                                        VkDeferredOperationKHR                             deferredOperation,
3912                                                        const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3913       {
3914         return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3915       }
3916 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3917       VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3918                                                            uint32_t                           accelerationStructureCount,
3919                                                            const VkAccelerationStructureKHR * pAccelerationStructures,
3920                                                            VkQueryType                        queryType,
3921                                                            size_t                             dataSize,
3922                                                            void *                             pData,
3923                                                            size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3924       {
3925         return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3926       }
3927 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3928       void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3929       {
3930         return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3931       }
3932 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3933       void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3934                                                       const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3935       {
3936         return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3937       }
3938 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3939       void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3940                                                       const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3941       {
3942         return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3943       }
3944 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3945       VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3946                                                                   const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3947       {
3948         return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3949       }
3950 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3951       void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3952                                                           uint32_t                           accelerationStructureCount,
3953                                                           const VkAccelerationStructureKHR * pAccelerationStructures,
3954                                                           VkQueryType                        queryType,
3955                                                           VkQueryPool                        queryPool,
3956                                                           uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3957       {
3958         return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3959           commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3960       }
3961 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3962       void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3963                                                              const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3964                                                              VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3965       {
3966         return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3967       }
3968 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3969       void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3970                                                     VkAccelerationStructureBuildTypeKHR                 buildType,
3971                                                     const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3972                                                     const uint32_t *                                    pMaxPrimitiveCounts,
3973                                                     VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3974       {
3975         return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3976       }
3977 
3978       //=== VK_KHR_ray_tracing_pipeline ===
3979 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3980       void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3981                               const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3982                               const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3983                               const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3984                               const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3985                               uint32_t                                width,
3986                               uint32_t                                height,
3987                               uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3988       {
3989         return ::vkCmdTraceRaysKHR(
3990           commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3991       }
3992 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3993       VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3994                                                VkDeferredOperationKHR                    deferredOperation,
3995                                                VkPipelineCache                           pipelineCache,
3996                                                uint32_t                                  createInfoCount,
3997                                                const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3998                                                const VkAllocationCallbacks *             pAllocator,
3999                                                VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
4000       {
4001         return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4002       }
4003 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4004       VkResult vkGetRayTracingShaderGroupHandlesKHR(
4005         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4006       {
4007         return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
4008       }
4009 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4010       VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
4011         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4012       {
4013         return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
4014       }
4015 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const4016       void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
4017                                       const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
4018                                       const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
4019                                       const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
4020                                       const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
4021                                       VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
4022       {
4023         return ::vkCmdTraceRaysIndirectKHR(
4024           commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
4025       }
4026 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const4027       VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
4028                                                            VkPipeline             pipeline,
4029                                                            uint32_t               group,
4030                                                            VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
4031       {
4032         return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
4033       }
4034 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const4035       void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
4036       {
4037         return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
4038       }
4039 
4040       //=== VK_KHR_sampler_ycbcr_conversion ===
4041 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const4042       VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
4043                                                   const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
4044                                                   const VkAllocationCallbacks *              pAllocator,
4045                                                   VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
4046       {
4047         return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
4048       }
4049 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const4050       void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
4051                                                VkSamplerYcbcrConversion      ycbcrConversion,
4052                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4053       {
4054         return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
4055       }
4056 
4057       //=== VK_KHR_bind_memory2 ===
4058 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const4059       VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4060       {
4061         return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
4062       }
4063 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const4064       VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4065       {
4066         return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
4067       }
4068 
4069       //=== VK_EXT_image_drm_format_modifier ===
4070 
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const4071       VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice                                device,
4072                                                          VkImage                                 image,
4073                                                          VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
4074       {
4075         return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
4076       }
4077 
4078       //=== VK_EXT_validation_cache ===
4079 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const4080       VkResult vkCreateValidationCacheEXT( VkDevice                               device,
4081                                            const VkValidationCacheCreateInfoEXT * pCreateInfo,
4082                                            const VkAllocationCallbacks *          pAllocator,
4083                                            VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
4084       {
4085         return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
4086       }
4087 
4088       void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const4089         vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4090       {
4091         return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
4092       }
4093 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const4094       VkResult vkMergeValidationCachesEXT( VkDevice                     device,
4095                                            VkValidationCacheEXT         dstCache,
4096                                            uint32_t                     srcCacheCount,
4097                                            const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
4098       {
4099         return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
4100       }
4101 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const4102       VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4103       {
4104         return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
4105       }
4106 
4107       //=== VK_NV_shading_rate_image ===
4108 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4109       void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
4110       {
4111         return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4112       }
4113 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4114       void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4115                                                  uint32_t                       firstViewport,
4116                                                  uint32_t                       viewportCount,
4117                                                  const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4118       {
4119         return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4120       }
4121 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4122       void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4123                                         VkCoarseSampleOrderTypeNV           sampleOrderType,
4124                                         uint32_t                            customSampleOrderCount,
4125                                         const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4126       {
4127         return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4128       }
4129 
4130       //=== VK_NV_ray_tracing ===
4131 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4132       VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4133                                                 const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4134                                                 const VkAllocationCallbacks *               pAllocator,
4135                                                 VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4136       {
4137         return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4138       }
4139 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4140       void vkDestroyAccelerationStructureNV( VkDevice                      device,
4141                                              VkAccelerationStructureNV     accelerationStructure,
4142                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4143       {
4144         return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4145       }
4146 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4147       void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4148                                                            const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4149                                                            VkMemoryRequirements2KHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4150       {
4151         return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4152       }
4153 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4154       VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4155                                                     uint32_t                                        bindInfoCount,
4156                                                     const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4157       {
4158         return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4159       }
4160 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4161       void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4162                                               const VkAccelerationStructureInfoNV * pInfo,
4163                                               VkBuffer                              instanceData,
4164                                               VkDeviceSize                          instanceOffset,
4165                                               VkBool32                              update,
4166                                               VkAccelerationStructureNV             dst,
4167                                               VkAccelerationStructureNV             src,
4168                                               VkBuffer                              scratch,
4169                                               VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4170       {
4171         return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4172       }
4173 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4174       void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4175                                              VkAccelerationStructureNV          dst,
4176                                              VkAccelerationStructureNV          src,
4177                                              VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4178       {
4179         return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4180       }
4181 
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) const4182       void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4183                              VkBuffer        raygenShaderBindingTableBuffer,
4184                              VkDeviceSize    raygenShaderBindingOffset,
4185                              VkBuffer        missShaderBindingTableBuffer,
4186                              VkDeviceSize    missShaderBindingOffset,
4187                              VkDeviceSize    missShaderBindingStride,
4188                              VkBuffer        hitShaderBindingTableBuffer,
4189                              VkDeviceSize    hitShaderBindingOffset,
4190                              VkDeviceSize    hitShaderBindingStride,
4191                              VkBuffer        callableShaderBindingTableBuffer,
4192                              VkDeviceSize    callableShaderBindingOffset,
4193                              VkDeviceSize    callableShaderBindingStride,
4194                              uint32_t        width,
4195                              uint32_t        height,
4196                              uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4197       {
4198         return ::vkCmdTraceRaysNV( commandBuffer,
4199                                    raygenShaderBindingTableBuffer,
4200                                    raygenShaderBindingOffset,
4201                                    missShaderBindingTableBuffer,
4202                                    missShaderBindingOffset,
4203                                    missShaderBindingStride,
4204                                    hitShaderBindingTableBuffer,
4205                                    hitShaderBindingOffset,
4206                                    hitShaderBindingStride,
4207                                    callableShaderBindingTableBuffer,
4208                                    callableShaderBindingOffset,
4209                                    callableShaderBindingStride,
4210                                    width,
4211                                    height,
4212                                    depth );
4213       }
4214 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4215       VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4216                                               VkPipelineCache                          pipelineCache,
4217                                               uint32_t                                 createInfoCount,
4218                                               const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4219                                               const VkAllocationCallbacks *            pAllocator,
4220                                               VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4221       {
4222         return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4223       }
4224 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4225       VkResult vkGetRayTracingShaderGroupHandlesNV(
4226         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4227       {
4228         return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4229       }
4230 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4231       VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4232                                                    VkAccelerationStructureNV accelerationStructure,
4233                                                    size_t                    dataSize,
4234                                                    void *                    pData ) const VULKAN_HPP_NOEXCEPT
4235       {
4236         return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4237       }
4238 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4239       void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4240                                                          uint32_t                          accelerationStructureCount,
4241                                                          const VkAccelerationStructureNV * pAccelerationStructures,
4242                                                          VkQueryType                       queryType,
4243                                                          VkQueryPool                       queryPool,
4244                                                          uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4245       {
4246         return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4247           commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4248       }
4249 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4250       VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4251       {
4252         return ::vkCompileDeferredNV( device, pipeline, shader );
4253       }
4254 
4255       //=== VK_KHR_maintenance3 ===
4256 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4257       void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4258                                                const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4259                                                VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4260       {
4261         return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4262       }
4263 
4264       //=== VK_KHR_draw_indirect_count ===
4265 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4266       void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4267                                       VkBuffer        buffer,
4268                                       VkDeviceSize    offset,
4269                                       VkBuffer        countBuffer,
4270                                       VkDeviceSize    countBufferOffset,
4271                                       uint32_t        maxDrawCount,
4272                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4273       {
4274         return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4275       }
4276 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4277       void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4278                                              VkBuffer        buffer,
4279                                              VkDeviceSize    offset,
4280                                              VkBuffer        countBuffer,
4281                                              VkDeviceSize    countBufferOffset,
4282                                              uint32_t        maxDrawCount,
4283                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4284       {
4285         return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4286       }
4287 
4288       //=== VK_EXT_external_memory_host ===
4289 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4290       VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4291                                                     VkExternalMemoryHandleTypeFlagBits handleType,
4292                                                     const void *                       pHostPointer,
4293                                                     VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4294       {
4295         return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4296       }
4297 
4298       //=== VK_AMD_buffer_marker ===
4299 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4300       void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4301                                       VkPipelineStageFlagBits pipelineStage,
4302                                       VkBuffer                dstBuffer,
4303                                       VkDeviceSize            dstOffset,
4304                                       uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4305       {
4306         return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4307       }
4308 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4309       void vkCmdWriteBufferMarker2AMD(
4310         VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4311       {
4312         return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4313       }
4314 
4315       //=== VK_EXT_calibrated_timestamps ===
4316 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4317       VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4318                                                                uint32_t *        pTimeDomainCount,
4319                                                                VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4320       {
4321         return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4322       }
4323 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4324       VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4325                                              uint32_t                             timestampCount,
4326                                              const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4327                                              uint64_t *                           pTimestamps,
4328                                              uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4329       {
4330         return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4331       }
4332 
4333       //=== VK_NV_mesh_shader ===
4334 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4335       void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4336       {
4337         return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4338       }
4339 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4340       void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4341         VULKAN_HPP_NOEXCEPT
4342       {
4343         return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4344       }
4345 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4346       void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4347                                               VkBuffer        buffer,
4348                                               VkDeviceSize    offset,
4349                                               VkBuffer        countBuffer,
4350                                               VkDeviceSize    countBufferOffset,
4351                                               uint32_t        maxDrawCount,
4352                                               uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4353       {
4354         return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4355       }
4356 
4357       //=== VK_NV_scissor_exclusive ===
4358 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4359       void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4360                                              uint32_t         firstExclusiveScissor,
4361                                              uint32_t         exclusiveScissorCount,
4362                                              const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4363       {
4364         return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4365       }
4366 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4367       void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4368                                        uint32_t         firstExclusiveScissor,
4369                                        uint32_t         exclusiveScissorCount,
4370                                        const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4371       {
4372         return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4373       }
4374 
4375       //=== VK_NV_device_diagnostic_checkpoints ===
4376 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4377       void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4378       {
4379         return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4380       }
4381 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4382       void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4383       {
4384         return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4385       }
4386 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4387       void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4388       {
4389         return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4390       }
4391 
4392       //=== VK_KHR_timeline_semaphore ===
4393 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4394       VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4395       {
4396         return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4397       }
4398 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4399       VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4400       {
4401         return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4402       }
4403 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4404       VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4405       {
4406         return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4407       }
4408 
4409       //=== VK_INTEL_performance_query ===
4410 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4411       VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4412       {
4413         return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4414       }
4415 
vkUninitializePerformanceApiINTEL(VkDevice device) const4416       void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4417       {
4418         return ::vkUninitializePerformanceApiINTEL( device );
4419       }
4420 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4421       VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4422       {
4423         return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4424       }
4425 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4426       VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4427                                                      const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4428       {
4429         return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4430       }
4431 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4432       VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4433       {
4434         return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4435       }
4436 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4437       VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4438                                                        const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4439                                                        VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4440       {
4441         return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4442       }
4443 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4444       VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4445       {
4446         return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4447       }
4448 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4449       VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4450       {
4451         return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4452       }
4453 
4454       VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4455         vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4456       {
4457         return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4458       }
4459 
4460       //=== VK_AMD_display_native_hdr ===
4461 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4462       void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4463       {
4464         return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4465       }
4466 
4467 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4468       //=== VK_FUCHSIA_imagepipe_surface ===
4469 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4470       VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4471                                                 const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4472                                                 const VkAllocationCallbacks *               pAllocator,
4473                                                 VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4474       {
4475         return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4476       }
4477 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4478 
4479 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4480       //=== VK_EXT_metal_surface ===
4481 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4482       VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4483                                         const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4484                                         const VkAllocationCallbacks *       pAllocator,
4485                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4486       {
4487         return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4488       }
4489 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4490 
4491       //=== VK_KHR_fragment_shading_rate ===
4492 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4493       VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4494                                                            uint32_t *                               pFragmentShadingRateCount,
4495                                                            VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4496       {
4497         return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4498       }
4499 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4500       void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4501                                            const VkExtent2D *                       pFragmentSize,
4502                                            const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4503       {
4504         return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4505       }
4506 
4507       //=== VK_KHR_dynamic_rendering_local_read ===
4508 
vkCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfo * pLocationInfo) const4509       void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer                           commandBuffer,
4510                                                     const VkRenderingAttachmentLocationInfo * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
4511       {
4512         return ::vkCmdSetRenderingAttachmentLocationsKHR( commandBuffer, pLocationInfo );
4513       }
4514 
vkCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) const4515       void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer                             commandBuffer,
4516                                                        const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT
4517       {
4518         return ::vkCmdSetRenderingInputAttachmentIndicesKHR( commandBuffer, pInputAttachmentIndexInfo );
4519       }
4520 
4521       //=== VK_EXT_buffer_device_address ===
4522 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4523       VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4524       {
4525         return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4526       }
4527 
4528       //=== VK_EXT_tooling_info ===
4529 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4530       VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4531                                                      uint32_t *                       pToolCount,
4532                                                      VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4533       {
4534         return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4535       }
4536 
4537       //=== VK_KHR_present_wait ===
4538 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4539       VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4540       {
4541         return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4542       }
4543 
4544       //=== VK_NV_cooperative_matrix ===
4545 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4546       VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4547                                                                  uint32_t *                        pPropertyCount,
4548                                                                  VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4549       {
4550         return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4551       }
4552 
4553       //=== VK_NV_coverage_reduction_mode ===
4554 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4555       VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4556         VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4557       {
4558         return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4559       }
4560 
4561 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4562       //=== VK_EXT_full_screen_exclusive ===
4563 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4564       VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4565                                                            const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4566                                                            uint32_t *                              pPresentModeCount,
4567                                                            VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4568       {
4569         return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4570       }
4571 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4572       VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4573       {
4574         return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4575       }
4576 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4577       VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4578       {
4579         return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4580       }
4581 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4582       VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4583                                                         const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4584                                                         VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4585       {
4586         return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4587       }
4588 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4589 
4590       //=== VK_EXT_headless_surface ===
4591 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4592       VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4593                                            const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4594                                            const VkAllocationCallbacks *          pAllocator,
4595                                            VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4596       {
4597         return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4598       }
4599 
4600       //=== VK_KHR_buffer_device_address ===
4601 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4602       VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4603       {
4604         return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4605       }
4606 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4607       uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4608       {
4609         return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4610       }
4611 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4612       uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4613       {
4614         return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4615       }
4616 
4617       //=== VK_EXT_line_rasterization ===
4618 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4619       void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4620       {
4621         return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4622       }
4623 
4624       //=== VK_EXT_host_query_reset ===
4625 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4626       void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4627       {
4628         return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4629       }
4630 
4631       //=== VK_EXT_extended_dynamic_state ===
4632 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4633       void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4634       {
4635         return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4636       }
4637 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4638       void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4639       {
4640         return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4641       }
4642 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4643       void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4644       {
4645         return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4646       }
4647 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4648       void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4649       {
4650         return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4651       }
4652 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4653       void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4654       {
4655         return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4656       }
4657 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4658       void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4659                                        uint32_t             firstBinding,
4660                                        uint32_t             bindingCount,
4661                                        const VkBuffer *     pBuffers,
4662                                        const VkDeviceSize * pOffsets,
4663                                        const VkDeviceSize * pSizes,
4664                                        const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4665       {
4666         return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4667       }
4668 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4669       void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4670       {
4671         return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4672       }
4673 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4674       void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4675       {
4676         return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4677       }
4678 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4679       void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4680       {
4681         return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4682       }
4683 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4684       void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4685       {
4686         return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4687       }
4688 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4689       void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4690       {
4691         return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4692       }
4693 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4694       void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4695                                  VkStencilFaceFlags faceMask,
4696                                  VkStencilOp        failOp,
4697                                  VkStencilOp        passOp,
4698                                  VkStencilOp        depthFailOp,
4699                                  VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4700       {
4701         return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4702       }
4703 
4704       //=== VK_KHR_deferred_host_operations ===
4705 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4706       VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4707                                              const VkAllocationCallbacks * pAllocator,
4708                                              VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4709       {
4710         return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4711       }
4712 
4713       void
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4714         vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4715       {
4716         return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4717       }
4718 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4719       uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4720       {
4721         return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4722       }
4723 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4724       VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4725       {
4726         return ::vkGetDeferredOperationResultKHR( device, operation );
4727       }
4728 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4729       VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4730       {
4731         return ::vkDeferredOperationJoinKHR( device, operation );
4732       }
4733 
4734       //=== VK_KHR_pipeline_executable_properties ===
4735 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4736       VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4737                                                      const VkPipelineInfoKHR *           pPipelineInfo,
4738                                                      uint32_t *                          pExecutableCount,
4739                                                      VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4740       {
4741         return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4742       }
4743 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4744       VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4745                                                      const VkPipelineExecutableInfoKHR * pExecutableInfo,
4746                                                      uint32_t *                          pStatisticCount,
4747                                                      VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4748       {
4749         return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4750       }
4751 
4752       VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4753         vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4754                                                            const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4755                                                            uint32_t *                                      pInternalRepresentationCount,
4756                                                            VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4757       {
4758         return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4759       }
4760 
4761       //=== VK_EXT_host_image_copy ===
4762 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) const4763       VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4764       {
4765         return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4766       }
4767 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) const4768       VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4769       {
4770         return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4771       }
4772 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfo * pCopyImageToImageInfo) const4773       VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4774       {
4775         return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4776       }
4777 
4778       VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfo * pTransitions) const4779         vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions ) const VULKAN_HPP_NOEXCEPT
4780       {
4781         return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4782       }
4783 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const4784       void vkGetImageSubresourceLayout2EXT( VkDevice                    device,
4785                                             VkImage                     image,
4786                                             const VkImageSubresource2 * pSubresource,
4787                                             VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
4788       {
4789         return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4790       }
4791 
4792       //=== VK_KHR_map_memory2 ===
4793 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfo * pMemoryMapInfo,void ** ppData) const4794       VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4795       {
4796         return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4797       }
4798 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfo * pMemoryUnmapInfo) const4799       VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4800       {
4801         return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4802       }
4803 
4804       //=== VK_EXT_swapchain_maintenance1 ===
4805 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4806       VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4807       {
4808         return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4809       }
4810 
4811       //=== VK_NV_device_generated_commands ===
4812 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4813       void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4814                                                        const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4815                                                        VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4816       {
4817         return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4818       }
4819 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4820       void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4821                                                const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4822       {
4823         return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4824       }
4825 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4826       void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4827                                             VkBool32                          isPreprocessed,
4828                                             const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4829       {
4830         return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4831       }
4832 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4833       void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4834                                            VkPipelineBindPoint pipelineBindPoint,
4835                                            VkPipeline          pipeline,
4836                                            uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4837       {
4838         return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4839       }
4840 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4841       VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4842                                                  const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4843                                                  const VkAllocationCallbacks *                pAllocator,
4844                                                  VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4845       {
4846         return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4847       }
4848 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4849       void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4850                                               VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4851                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4852       {
4853         return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4854       }
4855 
4856       //=== VK_EXT_depth_bias_control ===
4857 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4858       void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4859       {
4860         return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4861       }
4862 
4863       //=== VK_EXT_acquire_drm_display ===
4864 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4865       VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4866       {
4867         return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4868       }
4869 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4870       VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4871       {
4872         return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4873       }
4874 
4875       //=== VK_EXT_private_data ===
4876 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4877       VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4878                                            const VkPrivateDataSlotCreateInfo * pCreateInfo,
4879                                            const VkAllocationCallbacks *       pAllocator,
4880                                            VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4881       {
4882         return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4883       }
4884 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4885       void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4886       {
4887         return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4888       }
4889 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4890       VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4891         VULKAN_HPP_NOEXCEPT
4892       {
4893         return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4894       }
4895 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4896       void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4897         VULKAN_HPP_NOEXCEPT
4898       {
4899         return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4900       }
4901 
4902       //=== VK_KHR_video_encode_queue ===
4903 
4904       VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4905         vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4906                                                                  const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4907                                                                  VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4908       {
4909         return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4910       }
4911 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4912       VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4913                                                       const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4914                                                       VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4915                                                       size_t *                                         pDataSize,
4916                                                       void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4917       {
4918         return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4919       }
4920 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4921       void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4922       {
4923         return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4924       }
4925 
4926 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4927       //=== VK_NV_cuda_kernel_launch ===
4928 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4929       VkResult vkCreateCudaModuleNV( VkDevice                         device,
4930                                      const VkCudaModuleCreateInfoNV * pCreateInfo,
4931                                      const VkAllocationCallbacks *    pAllocator,
4932                                      VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4933       {
4934         return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4935       }
4936 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4937       VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4938       {
4939         return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4940       }
4941 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4942       VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4943                                        const VkCudaFunctionCreateInfoNV * pCreateInfo,
4944                                        const VkAllocationCallbacks *      pAllocator,
4945                                        VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4946       {
4947         return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4948       }
4949 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4950       void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4951       {
4952         return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4953       }
4954 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4955       void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4956       {
4957         return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4958       }
4959 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4960       void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4961       {
4962         return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4963       }
4964 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4965 
4966 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4967       //=== VK_EXT_metal_objects ===
4968 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4969       void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4970       {
4971         return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4972       }
4973 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4974 
4975       //=== VK_KHR_synchronization2 ===
4976 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4977       void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4978       {
4979         return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4980       }
4981 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4982       void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4983       {
4984         return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4985       }
4986 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4987       void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4988                                 uint32_t                 eventCount,
4989                                 const VkEvent *          pEvents,
4990                                 const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4991       {
4992         return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4993       }
4994 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4995       void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4996       {
4997         return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4998       }
4999 
5000       void
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const5001         vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
5002       {
5003         return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
5004       }
5005 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const5006       VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
5007       {
5008         return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
5009       }
5010 
5011       //=== VK_EXT_descriptor_buffer ===
5012 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const5013       void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
5014       {
5015         return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
5016       }
5017 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const5018       void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
5019                                                      VkDescriptorSetLayout layout,
5020                                                      uint32_t              binding,
5021                                                      VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
5022       {
5023         return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
5024       }
5025 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const5026       void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
5027       {
5028         return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
5029       }
5030 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const5031       void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
5032                                           uint32_t                                 bufferCount,
5033                                           const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
5034       {
5035         return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
5036       }
5037 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const5038       void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
5039                                                VkPipelineBindPoint  pipelineBindPoint,
5040                                                VkPipelineLayout     layout,
5041                                                uint32_t             firstSet,
5042                                                uint32_t             setCount,
5043                                                const uint32_t *     pBufferIndices,
5044                                                const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
5045       {
5046         return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
5047       }
5048 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const5049       void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
5050                                                          VkPipelineBindPoint pipelineBindPoint,
5051                                                          VkPipelineLayout    layout,
5052                                                          uint32_t            set ) const VULKAN_HPP_NOEXCEPT
5053       {
5054         return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
5055       }
5056 
5057       VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5058         vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5059       {
5060         return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5061       }
5062 
5063       VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5064         vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5065       {
5066         return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5067       }
5068 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5069       VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
5070                                                              const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
5071                                                              void *                                          pData ) const VULKAN_HPP_NOEXCEPT
5072       {
5073         return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5074       }
5075 
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5076       VkResult vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice                                      device,
5077                                                            const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,
5078                                                            void *                                        pData ) const VULKAN_HPP_NOEXCEPT
5079       {
5080         return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5081       }
5082 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5083       VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
5084                                                                          const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
5085                                                                          void * pData ) const VULKAN_HPP_NOEXCEPT
5086       {
5087         return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5088       }
5089 
5090       //=== VK_NV_fragment_shading_rate_enums ===
5091 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const5092       void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
5093                                               VkFragmentShadingRateNV                  shadingRate,
5094                                               const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
5095       {
5096         return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
5097       }
5098 
5099       //=== VK_EXT_mesh_shader ===
5100 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5101       void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5102       {
5103         return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
5104       }
5105 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const5106       void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
5107         VULKAN_HPP_NOEXCEPT
5108       {
5109         return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
5110       }
5111 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const5112       void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
5113                                                VkBuffer        buffer,
5114                                                VkDeviceSize    offset,
5115                                                VkBuffer        countBuffer,
5116                                                VkDeviceSize    countBufferOffset,
5117                                                uint32_t        maxDrawCount,
5118                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5119       {
5120         return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
5121       }
5122 
5123       //=== VK_KHR_copy_commands2 ===
5124 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const5125       void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5126       {
5127         return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5128       }
5129 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const5130       void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5131       {
5132         return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5133       }
5134 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5135       void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5136       {
5137         return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5138       }
5139 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5140       void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5141       {
5142         return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5143       }
5144 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5145       void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5146       {
5147         return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5148       }
5149 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5150       void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5151       {
5152         return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5153       }
5154 
5155       //=== VK_EXT_device_fault ===
5156 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5157       VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5158       {
5159         return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5160       }
5161 
5162 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5163       //=== VK_NV_acquire_winrt_display ===
5164 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5165       VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5166       {
5167         return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5168       }
5169 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5170       VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5171       {
5172         return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5173       }
5174 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5175 
5176 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5177       //=== VK_EXT_directfb_surface ===
5178 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5179       VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5180                                            const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5181                                            const VkAllocationCallbacks *          pAllocator,
5182                                            VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5183       {
5184         return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5185       }
5186 
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5187       VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice,
5188                                                                   uint32_t         queueFamilyIndex,
5189                                                                   IDirectFB *      dfb ) const VULKAN_HPP_NOEXCEPT
5190       {
5191         return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5192       }
5193 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5194 
5195       //=== VK_EXT_vertex_input_dynamic_state ===
5196 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5197       void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5198                                    uint32_t                                      vertexBindingDescriptionCount,
5199                                    const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5200                                    uint32_t                                      vertexAttributeDescriptionCount,
5201                                    const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5202       {
5203         return ::vkCmdSetVertexInputEXT(
5204           commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5205       }
5206 
5207 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5208       //=== VK_FUCHSIA_external_memory ===
5209 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5210       VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5211                                                const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5212                                                zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5213       {
5214         return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5215       }
5216 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5217       VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5218                                                          VkExternalMemoryHandleTypeFlagBits      handleType,
5219                                                          zx_handle_t                             zirconHandle,
5220                                                          VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5221       {
5222         return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5223       }
5224 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5225 
5226 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5227       //=== VK_FUCHSIA_external_semaphore ===
5228 
5229       VkResult
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5230         vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5231                                               const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5232       {
5233         return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5234       }
5235 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5236       VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5237                                                   const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5238                                                   zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5239       {
5240         return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5241       }
5242 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5243 
5244 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5245       //=== VK_FUCHSIA_buffer_collection ===
5246 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5247       VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5248                                                 const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5249                                                 const VkAllocationCallbacks *               pAllocator,
5250                                                 VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5251       {
5252         return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5253       }
5254 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5255       VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5256                                                              VkBufferCollectionFUCHSIA             collection,
5257                                                              const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5258       {
5259         return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5260       }
5261 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5262       VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5263                                                               VkBufferCollectionFUCHSIA              collection,
5264                                                               const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5265       {
5266         return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5267       }
5268 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5269       void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5270                                              VkBufferCollectionFUCHSIA     collection,
5271                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5272       {
5273         return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5274       }
5275 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5276       VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5277                                                        VkBufferCollectionFUCHSIA             collection,
5278                                                        VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5279       {
5280         return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5281       }
5282 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5283 
5284       //=== VK_HUAWEI_subpass_shading ===
5285 
5286       VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5287         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5288       {
5289         return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5290       }
5291 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5292       void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5293       {
5294         return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5295       }
5296 
5297       //=== VK_HUAWEI_invocation_mask ===
5298 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5299       void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5300       {
5301         return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5302       }
5303 
5304       //=== VK_NV_external_memory_rdma ===
5305 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5306       VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5307                                            const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5308                                            VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5309       {
5310         return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5311       }
5312 
5313       //=== VK_EXT_pipeline_properties ===
5314 
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5315       VkResult vkGetPipelinePropertiesEXT( VkDevice                  device,
5316                                            const VkPipelineInfoEXT * pPipelineInfo,
5317                                            VkBaseOutStructure *      pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5318       {
5319         return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5320       }
5321 
5322       //=== VK_EXT_extended_dynamic_state2 ===
5323 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5324       void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5325       {
5326         return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5327       }
5328 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5329       void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5330       {
5331         return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5332       }
5333 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5334       void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5335       {
5336         return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5337       }
5338 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5339       void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5340       {
5341         return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5342       }
5343 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5344       void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5345       {
5346         return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5347       }
5348 
5349 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5350       //=== VK_QNX_screen_surface ===
5351 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5352       VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5353                                          const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5354                                          const VkAllocationCallbacks *        pAllocator,
5355                                          VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5356       {
5357         return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5358       }
5359 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5360       VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5361                                                                 uint32_t                queueFamilyIndex,
5362                                                                 struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5363       {
5364         return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5365       }
5366 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5367 
5368       //=== VK_EXT_color_write_enable ===
5369 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5370       void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5371       {
5372         return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5373       }
5374 
5375       //=== VK_KHR_ray_tracing_maintenance1 ===
5376 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5377       void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5378       {
5379         return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5380       }
5381 
5382       //=== VK_EXT_multi_draw ===
5383 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5384       void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5385                               uint32_t                   drawCount,
5386                               const VkMultiDrawInfoEXT * pVertexInfo,
5387                               uint32_t                   instanceCount,
5388                               uint32_t                   firstInstance,
5389                               uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5390       {
5391         return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5392       }
5393 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5394       void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5395                                      uint32_t                          drawCount,
5396                                      const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5397                                      uint32_t                          instanceCount,
5398                                      uint32_t                          firstInstance,
5399                                      uint32_t                          stride,
5400                                      const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5401       {
5402         return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5403       }
5404 
5405       //=== VK_EXT_opacity_micromap ===
5406 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5407       VkResult vkCreateMicromapEXT( VkDevice                        device,
5408                                     const VkMicromapCreateInfoEXT * pCreateInfo,
5409                                     const VkAllocationCallbacks *   pAllocator,
5410                                     VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5411       {
5412         return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5413       }
5414 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5415       void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5416       {
5417         return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5418       }
5419 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5420       void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5421       {
5422         return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5423       }
5424 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5425       VkResult vkBuildMicromapsEXT( VkDevice                       device,
5426                                     VkDeferredOperationKHR         deferredOperation,
5427                                     uint32_t                       infoCount,
5428                                     const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5429       {
5430         return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5431       }
5432 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5433       VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5434       {
5435         return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5436       }
5437 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5438       VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5439                                           VkDeferredOperationKHR                deferredOperation,
5440                                           const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5441       {
5442         return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5443       }
5444 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5445       VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5446                                           VkDeferredOperationKHR                deferredOperation,
5447                                           const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5448       {
5449         return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5450       }
5451 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5452       VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5453                                               uint32_t              micromapCount,
5454                                               const VkMicromapEXT * pMicromaps,
5455                                               VkQueryType           queryType,
5456                                               size_t                dataSize,
5457                                               void *                pData,
5458                                               size_t                stride ) const VULKAN_HPP_NOEXCEPT
5459       {
5460         return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5461       }
5462 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5463       void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5464       {
5465         return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5466       }
5467 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5468       void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5469       {
5470         return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5471       }
5472 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5473       void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5474       {
5475         return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5476       }
5477 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5478       void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5479                                              uint32_t              micromapCount,
5480                                              const VkMicromapEXT * pMicromaps,
5481                                              VkQueryType           queryType,
5482                                              VkQueryPool           queryPool,
5483                                              uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5484       {
5485         return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5486       }
5487 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5488       void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5489                                                 const VkMicromapVersionInfoEXT *          pVersionInfo,
5490                                                 VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5491       {
5492         return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5493       }
5494 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5495       void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5496                                        VkAccelerationStructureBuildTypeKHR buildType,
5497                                        const VkMicromapBuildInfoEXT *      pBuildInfo,
5498                                        VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5499       {
5500         return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5501       }
5502 
5503       //=== VK_HUAWEI_cluster_culling_shader ===
5504 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5505       void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5506       {
5507         return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5508       }
5509 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5510       void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5511       {
5512         return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5513       }
5514 
5515       //=== VK_EXT_pageable_device_local_memory ===
5516 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5517       void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5518       {
5519         return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5520       }
5521 
5522       //=== VK_KHR_maintenance4 ===
5523 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5524       void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5525                                                    const VkDeviceBufferMemoryRequirements * pInfo,
5526                                                    VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5527       {
5528         return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5529       }
5530 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5531       void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5532                                                   const VkDeviceImageMemoryRequirements * pInfo,
5533                                                   VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5534       {
5535         return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5536       }
5537 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5538       void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5539                                                         const VkDeviceImageMemoryRequirements * pInfo,
5540                                                         uint32_t *                              pSparseMemoryRequirementCount,
5541                                                         VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5542       {
5543         return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5544       }
5545 
5546       //=== VK_VALVE_descriptor_set_host_mapping ===
5547 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5548       void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5549                                                          const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5550                                                          VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5551       {
5552         return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5553       }
5554 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5555       void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5556       {
5557         return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5558       }
5559 
5560       //=== VK_NV_copy_memory_indirect ===
5561 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5562       void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5563                                       VkDeviceAddress copyBufferAddress,
5564                                       uint32_t        copyCount,
5565                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5566       {
5567         return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5568       }
5569 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5570       void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5571                                              VkDeviceAddress                  copyBufferAddress,
5572                                              uint32_t                         copyCount,
5573                                              uint32_t                         stride,
5574                                              VkImage                          dstImage,
5575                                              VkImageLayout                    dstImageLayout,
5576                                              const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5577       {
5578         return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5579       }
5580 
5581       //=== VK_NV_memory_decompression ===
5582 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5583       void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5584                                     uint32_t                           decompressRegionCount,
5585                                     const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5586       {
5587         return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5588       }
5589 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5590       void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5591                                                  VkDeviceAddress indirectCommandsAddress,
5592                                                  VkDeviceAddress indirectCommandsCountAddress,
5593                                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5594       {
5595         return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5596       }
5597 
5598       //=== VK_NV_device_generated_commands_compute ===
5599 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5600       void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5601                                                       const VkComputePipelineCreateInfo * pCreateInfo,
5602                                                       VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5603       {
5604         return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5605       }
5606 
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5607       void vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer     commandBuffer,
5608                                                 VkPipelineBindPoint pipelineBindPoint,
5609                                                 VkPipeline          pipeline ) const VULKAN_HPP_NOEXCEPT
5610       {
5611         return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5612       }
5613 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5614       VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5615       {
5616         return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5617       }
5618 
5619       //=== VK_EXT_extended_dynamic_state3 ===
5620 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5621       void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5622       {
5623         return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5624       }
5625 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5626       void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5627       {
5628         return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5629       }
5630 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5631       void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5632       {
5633         return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5634       }
5635 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5636       void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5637       {
5638         return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5639       }
5640 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5641       void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5642       {
5643         return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5644       }
5645 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5646       void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5647       {
5648         return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5649       }
5650 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5651       void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5652       {
5653         return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5654       }
5655 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5656       void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5657                                         uint32_t         firstAttachment,
5658                                         uint32_t         attachmentCount,
5659                                         const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5660       {
5661         return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5662       }
5663 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5664       void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5665                                           uint32_t                        firstAttachment,
5666                                           uint32_t                        attachmentCount,
5667                                           const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5668       {
5669         return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5670       }
5671 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5672       void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5673                                       uint32_t                      firstAttachment,
5674                                       uint32_t                      attachmentCount,
5675                                       const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5676       {
5677         return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5678       }
5679 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5680       void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5681       {
5682         return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5683       }
5684 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5685       void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5686       {
5687         return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5688       }
5689 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5690       void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5691                                                      VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5692       {
5693         return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5694       }
5695 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5696       void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5697       {
5698         return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5699       }
5700 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5701       void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5702       {
5703         return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5704       }
5705 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5706       void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5707       {
5708         return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5709       }
5710 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5711       void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5712                                           uint32_t                        firstAttachment,
5713                                           uint32_t                        attachmentCount,
5714                                           const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5715       {
5716         return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5717       }
5718 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5719       void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5720       {
5721         return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5722       }
5723 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5724       void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5725       {
5726         return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5727       }
5728 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5729       void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5730       {
5731         return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5732       }
5733 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5734       void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5735       {
5736         return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5737       }
5738 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5739       void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5740       {
5741         return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5742       }
5743 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5744       void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5745                                       uint32_t                    firstViewport,
5746                                       uint32_t                    viewportCount,
5747                                       const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5748       {
5749         return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5750       }
5751 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5752       void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5753       {
5754         return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5755       }
5756 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5757       void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5758       {
5759         return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5760       }
5761 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5762       void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5763       {
5764         return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5765       }
5766 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5767       void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5768       {
5769         return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5770       }
5771 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5772       void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5773                                               uint32_t        coverageModulationTableCount,
5774                                               const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5775       {
5776         return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5777       }
5778 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5779       void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5780       {
5781         return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5782       }
5783 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5784       void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5785       {
5786         return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5787       }
5788 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5789       void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5790       {
5791         return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5792       }
5793 
5794       //=== VK_EXT_shader_module_identifier ===
5795 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5796       void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5797       {
5798         return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5799       }
5800 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5801       void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5802                                                      const VkShaderModuleCreateInfo * pCreateInfo,
5803                                                      VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5804       {
5805         return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5806       }
5807 
5808       //=== VK_NV_optical_flow ===
5809 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5810       VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5811                                                              const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5812                                                              uint32_t *                             pFormatCount,
5813                                                              VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5814       {
5815         return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5816       }
5817 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5818       VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5819                                              const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5820                                              const VkAllocationCallbacks *            pAllocator,
5821                                              VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5822       {
5823         return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5824       }
5825 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5826       void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5827       {
5828         return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5829       }
5830 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5831       VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5832                                                 VkOpticalFlowSessionNV             session,
5833                                                 VkOpticalFlowSessionBindingPointNV bindingPoint,
5834                                                 VkImageView                        view,
5835                                                 VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5836       {
5837         return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5838       }
5839 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5840       void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5841                                       VkOpticalFlowSessionNV             session,
5842                                       const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5843       {
5844         return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5845       }
5846 
5847       //=== VK_KHR_maintenance5 ===
5848 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5849       void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5850         VULKAN_HPP_NOEXCEPT
5851       {
5852         return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5853       }
5854 
5855       void
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfo * pRenderingAreaInfo,VkExtent2D * pGranularity) const5856         vkGetRenderingAreaGranularityKHR( VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
5857       {
5858         return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5859       }
5860 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfo * pInfo,VkSubresourceLayout2 * pLayout) const5861       void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                             device,
5862                                                  const VkDeviceImageSubresourceInfo * pInfo,
5863                                                  VkSubresourceLayout2 *               pLayout ) const VULKAN_HPP_NOEXCEPT
5864       {
5865         return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5866       }
5867 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const5868       void vkGetImageSubresourceLayout2KHR( VkDevice                    device,
5869                                             VkImage                     image,
5870                                             const VkImageSubresource2 * pSubresource,
5871                                             VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
5872       {
5873         return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5874       }
5875 
5876       //=== VK_AMD_anti_lag ===
5877 
vkAntiLagUpdateAMD(VkDevice device,const VkAntiLagDataAMD * pData) const5878       void vkAntiLagUpdateAMD( VkDevice device, const VkAntiLagDataAMD * pData ) const VULKAN_HPP_NOEXCEPT
5879       {
5880         return ::vkAntiLagUpdateAMD( device, pData );
5881       }
5882 
5883       //=== VK_EXT_shader_object ===
5884 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5885       VkResult vkCreateShadersEXT( VkDevice                      device,
5886                                    uint32_t                      createInfoCount,
5887                                    const VkShaderCreateInfoEXT * pCreateInfos,
5888                                    const VkAllocationCallbacks * pAllocator,
5889                                    VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5890       {
5891         return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5892       }
5893 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5894       void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5895       {
5896         return ::vkDestroyShaderEXT( device, shader, pAllocator );
5897       }
5898 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5899       VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5900       {
5901         return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5902       }
5903 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5904       void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5905                                 uint32_t                      stageCount,
5906                                 const VkShaderStageFlagBits * pStages,
5907                                 const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5908       {
5909         return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5910       }
5911 
vkCmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer,VkDepthClampModeEXT depthClampMode,const VkDepthClampRangeEXT * pDepthClampRange) const5912       void vkCmdSetDepthClampRangeEXT( VkCommandBuffer              commandBuffer,
5913                                        VkDepthClampModeEXT          depthClampMode,
5914                                        const VkDepthClampRangeEXT * pDepthClampRange ) const VULKAN_HPP_NOEXCEPT
5915       {
5916         return ::vkCmdSetDepthClampRangeEXT( commandBuffer, depthClampMode, pDepthClampRange );
5917       }
5918 
5919       //=== VK_KHR_pipeline_binary ===
5920 
vkCreatePipelineBinariesKHR(VkDevice device,const VkPipelineBinaryCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineBinaryHandlesInfoKHR * pBinaries) const5921       VkResult vkCreatePipelineBinariesKHR( VkDevice                              device,
5922                                             const VkPipelineBinaryCreateInfoKHR * pCreateInfo,
5923                                             const VkAllocationCallbacks *         pAllocator,
5924                                             VkPipelineBinaryHandlesInfoKHR *      pBinaries ) const VULKAN_HPP_NOEXCEPT
5925       {
5926         return ::vkCreatePipelineBinariesKHR( device, pCreateInfo, pAllocator, pBinaries );
5927       }
5928 
vkDestroyPipelineBinaryKHR(VkDevice device,VkPipelineBinaryKHR pipelineBinary,const VkAllocationCallbacks * pAllocator) const5929       void vkDestroyPipelineBinaryKHR( VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5930       {
5931         return ::vkDestroyPipelineBinaryKHR( device, pipelineBinary, pAllocator );
5932       }
5933 
vkGetPipelineKeyKHR(VkDevice device,const VkPipelineCreateInfoKHR * pPipelineCreateInfo,VkPipelineBinaryKeyKHR * pPipelineKey) const5934       VkResult vkGetPipelineKeyKHR( VkDevice                        device,
5935                                     const VkPipelineCreateInfoKHR * pPipelineCreateInfo,
5936                                     VkPipelineBinaryKeyKHR *        pPipelineKey ) const VULKAN_HPP_NOEXCEPT
5937       {
5938         return ::vkGetPipelineKeyKHR( device, pPipelineCreateInfo, pPipelineKey );
5939       }
5940 
vkGetPipelineBinaryDataKHR(VkDevice device,const VkPipelineBinaryDataInfoKHR * pInfo,VkPipelineBinaryKeyKHR * pPipelineBinaryKey,size_t * pPipelineBinaryDataSize,void * pPipelineBinaryData) const5941       VkResult vkGetPipelineBinaryDataKHR( VkDevice                            device,
5942                                            const VkPipelineBinaryDataInfoKHR * pInfo,
5943                                            VkPipelineBinaryKeyKHR *            pPipelineBinaryKey,
5944                                            size_t *                            pPipelineBinaryDataSize,
5945                                            void *                              pPipelineBinaryData ) const VULKAN_HPP_NOEXCEPT
5946       {
5947         return ::vkGetPipelineBinaryDataKHR( device, pInfo, pPipelineBinaryKey, pPipelineBinaryDataSize, pPipelineBinaryData );
5948       }
5949 
vkReleaseCapturedPipelineDataKHR(VkDevice device,const VkReleaseCapturedPipelineDataInfoKHR * pInfo,const VkAllocationCallbacks * pAllocator) const5950       VkResult vkReleaseCapturedPipelineDataKHR( VkDevice                                     device,
5951                                                  const VkReleaseCapturedPipelineDataInfoKHR * pInfo,
5952                                                  const VkAllocationCallbacks *                pAllocator ) const VULKAN_HPP_NOEXCEPT
5953       {
5954         return ::vkReleaseCapturedPipelineDataKHR( device, pInfo, pAllocator );
5955       }
5956 
5957       //=== VK_QCOM_tile_properties ===
5958 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5959       VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5960                                                    VkFramebuffer          framebuffer,
5961                                                    uint32_t *             pPropertiesCount,
5962                                                    VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5963       {
5964         return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5965       }
5966 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5967       VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5968                                                         const VkRenderingInfo * pRenderingInfo,
5969                                                         VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5970       {
5971         return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5972       }
5973 
5974       //=== VK_NV_cooperative_vector ===
5975 
vkGetPhysicalDeviceCooperativeVectorPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeVectorPropertiesNV * pProperties) const5976       VkResult vkGetPhysicalDeviceCooperativeVectorPropertiesNV( VkPhysicalDevice                  physicalDevice,
5977                                                                  uint32_t *                        pPropertyCount,
5978                                                                  VkCooperativeVectorPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
5979       {
5980         return ::vkGetPhysicalDeviceCooperativeVectorPropertiesNV( physicalDevice, pPropertyCount, pProperties );
5981       }
5982 
vkConvertCooperativeVectorMatrixNV(VkDevice device,const VkConvertCooperativeVectorMatrixInfoNV * pInfo) const5983       VkResult vkConvertCooperativeVectorMatrixNV( VkDevice device, const VkConvertCooperativeVectorMatrixInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5984       {
5985         return ::vkConvertCooperativeVectorMatrixNV( device, pInfo );
5986       }
5987 
vkCmdConvertCooperativeVectorMatrixNV(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkConvertCooperativeVectorMatrixInfoNV * pInfos) const5988       void vkCmdConvertCooperativeVectorMatrixNV( VkCommandBuffer                                commandBuffer,
5989                                                   uint32_t                                       infoCount,
5990                                                   const VkConvertCooperativeVectorMatrixInfoNV * pInfos ) const VULKAN_HPP_NOEXCEPT
5991       {
5992         return ::vkCmdConvertCooperativeVectorMatrixNV( commandBuffer, infoCount, pInfos );
5993       }
5994 
5995       //=== VK_NV_low_latency2 ===
5996 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5997       VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5998       {
5999         return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
6000       }
6001 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const6002       VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
6003       {
6004         return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
6005       }
6006 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const6007       void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
6008       {
6009         return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
6010       }
6011 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const6012       void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
6013       {
6014         return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
6015       }
6016 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const6017       void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
6018       {
6019         return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
6020       }
6021 
6022       //=== VK_KHR_cooperative_matrix ===
6023 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const6024       VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
6025                                                                   uint32_t *                         pPropertyCount,
6026                                                                   VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
6027       {
6028         return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
6029       }
6030 
6031       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
6032 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const6033       void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
6034       {
6035         return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
6036       }
6037 
6038 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
6039       //=== VK_QNX_external_memory_screen_buffer ===
6040 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const6041       VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
6042                                                const struct _screen_buffer * buffer,
6043                                                VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
6044       {
6045         return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
6046       }
6047 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
6048 
6049       //=== VK_KHR_line_rasterization ===
6050 
vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const6051       void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
6052       {
6053         return ::vkCmdSetLineStippleKHR( commandBuffer, lineStippleFactor, lineStipplePattern );
6054       }
6055 
6056       //=== VK_KHR_calibrated_timestamps ===
6057 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const6058       VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
6059                                                                uint32_t *        pTimeDomainCount,
6060                                                                VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
6061       {
6062         return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
6063       }
6064 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const6065       VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
6066                                              uint32_t                             timestampCount,
6067                                              const VkCalibratedTimestampInfoKHR * pTimestampInfos,
6068                                              uint64_t *                           pTimestamps,
6069                                              uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
6070       {
6071         return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
6072       }
6073 
6074       //=== VK_KHR_maintenance6 ===
6075 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) const6076       void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
6077       {
6078         return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
6079       }
6080 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfo * pPushConstantsInfo) const6081       void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
6082       {
6083         return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
6084       }
6085 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) const6086       void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
6087       {
6088         return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
6089       }
6090 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) const6091       void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                             commandBuffer,
6092                                                    const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
6093       {
6094         return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
6095       }
6096 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const6097       void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
6098                                                 const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
6099       {
6100         return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
6101       }
6102 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const6103       void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
6104         VkCommandBuffer                                       commandBuffer,
6105         const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
6106       {
6107         return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
6108       }
6109 
6110       //=== VK_NV_cluster_acceleration_structure ===
6111 
vkGetClusterAccelerationStructureBuildSizesNV(VkDevice device,const VkClusterAccelerationStructureInputInfoNV * pInfo,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const6112       void vkGetClusterAccelerationStructureBuildSizesNV( VkDevice                                          device,
6113                                                           const VkClusterAccelerationStructureInputInfoNV * pInfo,
6114                                                           VkAccelerationStructureBuildSizesInfoKHR *        pSizeInfo ) const VULKAN_HPP_NOEXCEPT
6115       {
6116         return ::vkGetClusterAccelerationStructureBuildSizesNV( device, pInfo, pSizeInfo );
6117       }
6118 
vkCmdBuildClusterAccelerationStructureIndirectNV(VkCommandBuffer commandBuffer,const VkClusterAccelerationStructureCommandsInfoNV * pCommandInfos) const6119       void vkCmdBuildClusterAccelerationStructureIndirectNV( VkCommandBuffer                                      commandBuffer,
6120                                                              const VkClusterAccelerationStructureCommandsInfoNV * pCommandInfos ) const VULKAN_HPP_NOEXCEPT
6121       {
6122         return ::vkCmdBuildClusterAccelerationStructureIndirectNV( commandBuffer, pCommandInfos );
6123       }
6124 
6125       //=== VK_NV_partitioned_acceleration_structure ===
6126 
vkGetPartitionedAccelerationStructuresBuildSizesNV(VkDevice device,const VkPartitionedAccelerationStructureInstancesInputNV * pInfo,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const6127       void vkGetPartitionedAccelerationStructuresBuildSizesNV( VkDevice                                                   device,
6128                                                                const VkPartitionedAccelerationStructureInstancesInputNV * pInfo,
6129                                                                VkAccelerationStructureBuildSizesInfoKHR *                 pSizeInfo ) const VULKAN_HPP_NOEXCEPT
6130       {
6131         return ::vkGetPartitionedAccelerationStructuresBuildSizesNV( device, pInfo, pSizeInfo );
6132       }
6133 
vkCmdBuildPartitionedAccelerationStructuresNV(VkCommandBuffer commandBuffer,const VkBuildPartitionedAccelerationStructureInfoNV * pBuildInfo) const6134       void vkCmdBuildPartitionedAccelerationStructuresNV( VkCommandBuffer                                       commandBuffer,
6135                                                           const VkBuildPartitionedAccelerationStructureInfoNV * pBuildInfo ) const VULKAN_HPP_NOEXCEPT
6136       {
6137         return ::vkCmdBuildPartitionedAccelerationStructuresNV( commandBuffer, pBuildInfo );
6138       }
6139 
6140       //=== VK_EXT_device_generated_commands ===
6141 
vkGetGeneratedCommandsMemoryRequirementsEXT(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoEXT * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const6142       void vkGetGeneratedCommandsMemoryRequirementsEXT( VkDevice                                             device,
6143                                                         const VkGeneratedCommandsMemoryRequirementsInfoEXT * pInfo,
6144                                                         VkMemoryRequirements2 *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
6145       {
6146         return ::vkGetGeneratedCommandsMemoryRequirementsEXT( device, pInfo, pMemoryRequirements );
6147       }
6148 
vkCmdPreprocessGeneratedCommandsEXT(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo,VkCommandBuffer stateCommandBuffer) const6149       void vkCmdPreprocessGeneratedCommandsEXT( VkCommandBuffer                    commandBuffer,
6150                                                 const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo,
6151                                                 VkCommandBuffer                    stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT
6152       {
6153         return ::vkCmdPreprocessGeneratedCommandsEXT( commandBuffer, pGeneratedCommandsInfo, stateCommandBuffer );
6154       }
6155 
vkCmdExecuteGeneratedCommandsEXT(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo) const6156       void vkCmdExecuteGeneratedCommandsEXT( VkCommandBuffer                    commandBuffer,
6157                                              VkBool32                           isPreprocessed,
6158                                              const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
6159       {
6160         return ::vkCmdExecuteGeneratedCommandsEXT( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
6161       }
6162 
vkCreateIndirectCommandsLayoutEXT(VkDevice device,const VkIndirectCommandsLayoutCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutEXT * pIndirectCommandsLayout) const6163       VkResult vkCreateIndirectCommandsLayoutEXT( VkDevice                                      device,
6164                                                   const VkIndirectCommandsLayoutCreateInfoEXT * pCreateInfo,
6165                                                   const VkAllocationCallbacks *                 pAllocator,
6166                                                   VkIndirectCommandsLayoutEXT *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
6167       {
6168         return ::vkCreateIndirectCommandsLayoutEXT( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
6169       }
6170 
vkDestroyIndirectCommandsLayoutEXT(VkDevice device,VkIndirectCommandsLayoutEXT indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const6171       void vkDestroyIndirectCommandsLayoutEXT( VkDevice                      device,
6172                                                VkIndirectCommandsLayoutEXT   indirectCommandsLayout,
6173                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
6174       {
6175         return ::vkDestroyIndirectCommandsLayoutEXT( device, indirectCommandsLayout, pAllocator );
6176       }
6177 
vkCreateIndirectExecutionSetEXT(VkDevice device,const VkIndirectExecutionSetCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectExecutionSetEXT * pIndirectExecutionSet) const6178       VkResult vkCreateIndirectExecutionSetEXT( VkDevice                                    device,
6179                                                 const VkIndirectExecutionSetCreateInfoEXT * pCreateInfo,
6180                                                 const VkAllocationCallbacks *               pAllocator,
6181                                                 VkIndirectExecutionSetEXT *                 pIndirectExecutionSet ) const VULKAN_HPP_NOEXCEPT
6182       {
6183         return ::vkCreateIndirectExecutionSetEXT( device, pCreateInfo, pAllocator, pIndirectExecutionSet );
6184       }
6185 
vkDestroyIndirectExecutionSetEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,const VkAllocationCallbacks * pAllocator) const6186       void vkDestroyIndirectExecutionSetEXT( VkDevice                      device,
6187                                              VkIndirectExecutionSetEXT     indirectExecutionSet,
6188                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
6189       {
6190         return ::vkDestroyIndirectExecutionSetEXT( device, indirectExecutionSet, pAllocator );
6191       }
6192 
vkUpdateIndirectExecutionSetPipelineEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VkWriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites) const6193       void vkUpdateIndirectExecutionSetPipelineEXT( VkDevice                                       device,
6194                                                     VkIndirectExecutionSetEXT                      indirectExecutionSet,
6195                                                     uint32_t                                       executionSetWriteCount,
6196                                                     const VkWriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites ) const VULKAN_HPP_NOEXCEPT
6197       {
6198         return ::vkUpdateIndirectExecutionSetPipelineEXT( device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites );
6199       }
6200 
vkUpdateIndirectExecutionSetShaderEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VkWriteIndirectExecutionSetShaderEXT * pExecutionSetWrites) const6201       void vkUpdateIndirectExecutionSetShaderEXT( VkDevice                                     device,
6202                                                   VkIndirectExecutionSetEXT                    indirectExecutionSet,
6203                                                   uint32_t                                     executionSetWriteCount,
6204                                                   const VkWriteIndirectExecutionSetShaderEXT * pExecutionSetWrites ) const VULKAN_HPP_NOEXCEPT
6205       {
6206         return ::vkUpdateIndirectExecutionSetShaderEXT( device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites );
6207       }
6208 
6209       //=== VK_NV_cooperative_matrix2 ===
6210 
vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties) const6211       VkResult vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
6212         VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
6213       {
6214         return ::vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( physicalDevice, pPropertyCount, pProperties );
6215       }
6216 
6217 #  if defined( VK_USE_PLATFORM_METAL_EXT )
6218       //=== VK_EXT_external_memory_metal ===
6219 
6220       VkResult
vkGetMemoryMetalHandleEXT(VkDevice device,const VkMemoryGetMetalHandleInfoEXT * pGetMetalHandleInfo,void ** pHandle) const6221         vkGetMemoryMetalHandleEXT( VkDevice device, const VkMemoryGetMetalHandleInfoEXT * pGetMetalHandleInfo, void ** pHandle ) const VULKAN_HPP_NOEXCEPT
6222       {
6223         return ::vkGetMemoryMetalHandleEXT( device, pGetMetalHandleInfo, pHandle );
6224       }
6225 
vkGetMemoryMetalHandlePropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHandle,VkMemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties) const6226       VkResult vkGetMemoryMetalHandlePropertiesEXT( VkDevice                           device,
6227                                                     VkExternalMemoryHandleTypeFlagBits handleType,
6228                                                     const void *                       pHandle,
6229                                                     VkMemoryMetalHandlePropertiesEXT * pMemoryMetalHandleProperties ) const VULKAN_HPP_NOEXCEPT
6230       {
6231         return ::vkGetMemoryMetalHandlePropertiesEXT( device, handleType, pHandle, pMemoryMetalHandleProperties );
6232       }
6233 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
6234     };
6235 
getDispatchLoaderStatic()6236     inline DispatchLoaderStatic & getDispatchLoaderStatic()
6237     {
6238       static DispatchLoaderStatic dls;
6239       return dls;
6240     }
6241 #endif
6242 
6243   }  // namespace detail
6244 #if ( 14 <= VULKAN_HPP_CPP_VERSION )
6245   using std::exchange;
6246 #else
6247   template <class T, class U = T>
exchange(T & obj,U && newValue)6248   VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_INLINE T exchange( T & obj, U && newValue )
6249   {
6250     T oldValue = std::move( obj );
6251     obj        = std::forward<U>( newValue );
6252     return oldValue;
6253   }
6254 #endif
6255 
6256 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6257   struct AllocationCallbacks;
6258 
6259   namespace detail
6260   {
6261     template <typename OwnerType, typename Dispatch>
6262     class ObjectDestroy
6263     {
6264     public:
6265       ObjectDestroy() = default;
6266 
ObjectDestroy(OwnerType owner,Optional<const vk::AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6267       ObjectDestroy( OwnerType                                                   owner,
6268                      Optional<const vk::AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6269                      Dispatch const & dispatch                                   VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6270         : m_owner( owner )
6271         , m_allocationCallbacks( allocationCallbacks )
6272         , m_dispatch( &dispatch )
6273       {
6274       }
6275 
getOwner() const6276       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6277       {
6278         return m_owner;
6279       }
6280 
getAllocator() const6281       Optional<const vk::AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6282       {
6283         return m_allocationCallbacks;
6284       }
6285 
getDispatch() const6286       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6287       {
6288         return *m_dispatch;
6289       }
6290 
6291     protected:
6292       template <typename T>
destroy(T t)6293       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6294       {
6295         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6296         m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
6297       }
6298 
6299     private:
6300       OwnerType                               m_owner               = {};
6301       Optional<const vk::AllocationCallbacks> m_allocationCallbacks = nullptr;
6302       Dispatch const *                        m_dispatch            = nullptr;
6303     };
6304 
6305     class NoParent;
6306 
6307     template <typename Dispatch>
6308     class ObjectDestroy<NoParent, Dispatch>
6309     {
6310     public:
6311       ObjectDestroy() = default;
6312 
ObjectDestroy(Optional<const vk::AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6313       ObjectDestroy( Optional<const vk::AllocationCallbacks> allocationCallbacks,
6314                      Dispatch const & dispatch               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6315         : m_allocationCallbacks( allocationCallbacks )
6316         , m_dispatch( &dispatch )
6317       {
6318       }
6319 
getAllocator() const6320       Optional<const vk::AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6321       {
6322         return m_allocationCallbacks;
6323       }
6324 
getDispatch() const6325       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6326       {
6327         return *m_dispatch;
6328       }
6329 
6330     protected:
6331       template <typename T>
destroy(T t)6332       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6333       {
6334         VULKAN_HPP_ASSERT( m_dispatch );
6335         t.destroy( m_allocationCallbacks, *m_dispatch );
6336       }
6337 
6338     private:
6339       Optional<const vk::AllocationCallbacks> m_allocationCallbacks = nullptr;
6340       Dispatch const *                        m_dispatch            = nullptr;
6341     };
6342 
6343     template <typename OwnerType, typename Dispatch>
6344     class ObjectFree
6345     {
6346     public:
6347       ObjectFree() = default;
6348 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6349       ObjectFree( OwnerType                                               owner,
6350                   Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6351                   Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6352         : m_owner( owner )
6353         , m_allocationCallbacks( allocationCallbacks )
6354         , m_dispatch( &dispatch )
6355       {
6356       }
6357 
getOwner() const6358       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6359       {
6360         return m_owner;
6361       }
6362 
getAllocator() const6363       Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6364       {
6365         return m_allocationCallbacks;
6366       }
6367 
getDispatch() const6368       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6369       {
6370         return *m_dispatch;
6371       }
6372 
6373     protected:
6374       template <typename T>
destroy(T t)6375       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6376       {
6377         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6378         ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6379       }
6380 
6381     private:
6382       OwnerType                           m_owner               = {};
6383       Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6384       Dispatch const *                    m_dispatch            = nullptr;
6385     };
6386 
6387     template <typename OwnerType, typename Dispatch>
6388     class ObjectRelease
6389     {
6390     public:
6391       ObjectRelease() = default;
6392 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6393       ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6394         : m_owner( owner )
6395         , m_dispatch( &dispatch )
6396       {
6397       }
6398 
getOwner() const6399       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6400       {
6401         return m_owner;
6402       }
6403 
getDispatch() const6404       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6405       {
6406         return *m_dispatch;
6407       }
6408 
6409     protected:
6410       template <typename T>
destroy(T t)6411       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6412       {
6413         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6414         m_owner.release( t, *m_dispatch );
6415       }
6416 
6417     private:
6418       OwnerType        m_owner    = {};
6419       Dispatch const * m_dispatch = nullptr;
6420     };
6421 
6422     template <typename OwnerType, typename PoolType, typename Dispatch>
6423     class PoolFree
6424     {
6425     public:
6426       PoolFree() = default;
6427 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6428       PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6429         : m_owner( owner )
6430         , m_pool( pool )
6431         , m_dispatch( &dispatch )
6432       {
6433       }
6434 
getOwner() const6435       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6436       {
6437         return m_owner;
6438       }
6439 
getPool() const6440       PoolType getPool() const VULKAN_HPP_NOEXCEPT
6441       {
6442         return m_pool;
6443       }
6444 
getDispatch() const6445       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6446       {
6447         return *m_dispatch;
6448       }
6449 
6450     protected:
6451       template <typename T>
destroy(T t)6452       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6453       {
6454         ( m_owner.free )( m_pool, t, *m_dispatch );
6455       }
6456 
6457     private:
6458       OwnerType        m_owner    = OwnerType();
6459       PoolType         m_pool     = PoolType();
6460       Dispatch const * m_dispatch = nullptr;
6461     };
6462 
6463   }     // namespace detail
6464 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6465 
6466   //==================
6467   //=== BASE TYPEs ===
6468   //==================
6469 
6470   using Bool32          = uint32_t;
6471   using DeviceAddress   = uint64_t;
6472   using DeviceSize      = uint64_t;
6473   using RemoteAddressNV = void *;
6474   using SampleMask      = uint32_t;
6475 
6476   template <typename Type, Type value = Type{}>
6477   struct CppType
6478   {
6479   };
6480 }  // namespace VULKAN_HPP_NAMESPACE
6481 
6482 #include <vulkan/vulkan_enums.hpp>
6483 #if !defined( VULKAN_HPP_NO_TO_STRING )
6484 #  include <vulkan/vulkan_to_string.hpp>
6485 #endif
6486 
6487 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6488 namespace std
6489 {
6490   template <>
6491   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6492   {
6493   };
6494 }  // namespace std
6495 #endif
6496 
6497 namespace VULKAN_HPP_NAMESPACE
6498 {
6499 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6500   class ErrorCategoryImpl : public std::error_category
6501   {
6502   public:
name() const6503     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6504     {
6505       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6506     }
6507 
message(int ev) const6508     virtual std::string message( int ev ) const override
6509     {
6510 #  if defined( VULKAN_HPP_NO_TO_STRING )
6511       return std::to_string( ev );
6512 #  else
6513       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6514 #  endif
6515     }
6516   };
6517 
6518   class Error
6519   {
6520   public:
6521     Error() VULKAN_HPP_NOEXCEPT                = default;
6522     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6523     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6524 
6525     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6526   };
6527 
6528   class LogicError
6529     : public Error
6530     , public std::logic_error
6531   {
6532   public:
LogicError(const std::string & what)6533     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6534 
LogicError(char const * what)6535     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6536 
what() const6537     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6538     {
6539       return std::logic_error::what();
6540     }
6541   };
6542 
6543   class SystemError
6544     : public Error
6545     , public std::system_error
6546   {
6547   public:
SystemError(std::error_code ec)6548     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6549 
SystemError(std::error_code ec,std::string const & what)6550     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6551 
SystemError(std::error_code ec,char const * what)6552     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6553 
SystemError(int ev,std::error_category const & ecat)6554     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6555 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6556     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6557 
SystemError(int ev,std::error_category const & ecat,char const * what)6558     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6559 
what() const6560     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6561     {
6562       return std::system_error::what();
6563     }
6564   };
6565 
errorCategory()6566   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6567   {
6568     static ErrorCategoryImpl instance;
6569     return instance;
6570   }
6571 
make_error_code(Result e)6572   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6573   {
6574     return std::error_code( static_cast<int>( e ), errorCategory() );
6575   }
6576 
make_error_condition(Result e)6577   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6578   {
6579     return std::error_condition( static_cast<int>( e ), errorCategory() );
6580   }
6581 
6582   class OutOfHostMemoryError : public SystemError
6583   {
6584   public:
OutOfHostMemoryError(std::string const & message)6585     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6586 
OutOfHostMemoryError(char const * message)6587     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6588   };
6589 
6590   class OutOfDeviceMemoryError : public SystemError
6591   {
6592   public:
OutOfDeviceMemoryError(std::string const & message)6593     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6594 
OutOfDeviceMemoryError(char const * message)6595     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6596   };
6597 
6598   class InitializationFailedError : public SystemError
6599   {
6600   public:
InitializationFailedError(std::string const & message)6601     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6602 
InitializationFailedError(char const * message)6603     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6604   };
6605 
6606   class DeviceLostError : public SystemError
6607   {
6608   public:
DeviceLostError(std::string const & message)6609     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6610 
DeviceLostError(char const * message)6611     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6612   };
6613 
6614   class MemoryMapFailedError : public SystemError
6615   {
6616   public:
MemoryMapFailedError(std::string const & message)6617     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6618 
MemoryMapFailedError(char const * message)6619     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6620   };
6621 
6622   class LayerNotPresentError : public SystemError
6623   {
6624   public:
LayerNotPresentError(std::string const & message)6625     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6626 
LayerNotPresentError(char const * message)6627     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6628   };
6629 
6630   class ExtensionNotPresentError : public SystemError
6631   {
6632   public:
ExtensionNotPresentError(std::string const & message)6633     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6634 
ExtensionNotPresentError(char const * message)6635     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6636   };
6637 
6638   class FeatureNotPresentError : public SystemError
6639   {
6640   public:
FeatureNotPresentError(std::string const & message)6641     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6642 
FeatureNotPresentError(char const * message)6643     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6644   };
6645 
6646   class IncompatibleDriverError : public SystemError
6647   {
6648   public:
IncompatibleDriverError(std::string const & message)6649     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6650 
IncompatibleDriverError(char const * message)6651     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6652   };
6653 
6654   class TooManyObjectsError : public SystemError
6655   {
6656   public:
TooManyObjectsError(std::string const & message)6657     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6658 
TooManyObjectsError(char const * message)6659     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6660   };
6661 
6662   class FormatNotSupportedError : public SystemError
6663   {
6664   public:
FormatNotSupportedError(std::string const & message)6665     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6666 
FormatNotSupportedError(char const * message)6667     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6668   };
6669 
6670   class FragmentedPoolError : public SystemError
6671   {
6672   public:
FragmentedPoolError(std::string const & message)6673     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6674 
FragmentedPoolError(char const * message)6675     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6676   };
6677 
6678   class UnknownError : public SystemError
6679   {
6680   public:
UnknownError(std::string const & message)6681     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6682 
UnknownError(char const * message)6683     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6684   };
6685 
6686   class OutOfPoolMemoryError : public SystemError
6687   {
6688   public:
OutOfPoolMemoryError(std::string const & message)6689     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6690 
OutOfPoolMemoryError(char const * message)6691     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6692   };
6693 
6694   class InvalidExternalHandleError : public SystemError
6695   {
6696   public:
InvalidExternalHandleError(std::string const & message)6697     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6698 
InvalidExternalHandleError(char const * message)6699     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6700   };
6701 
6702   class FragmentationError : public SystemError
6703   {
6704   public:
FragmentationError(std::string const & message)6705     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6706 
FragmentationError(char const * message)6707     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6708   };
6709 
6710   class InvalidOpaqueCaptureAddressError : public SystemError
6711   {
6712   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6713     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6714 
InvalidOpaqueCaptureAddressError(char const * message)6715     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6716   };
6717 
6718   class NotPermittedError : public SystemError
6719   {
6720   public:
NotPermittedError(std::string const & message)6721     NotPermittedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6722 
NotPermittedError(char const * message)6723     NotPermittedError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6724   };
6725 
6726   class SurfaceLostKHRError : public SystemError
6727   {
6728   public:
SurfaceLostKHRError(std::string const & message)6729     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6730 
SurfaceLostKHRError(char const * message)6731     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6732   };
6733 
6734   class NativeWindowInUseKHRError : public SystemError
6735   {
6736   public:
NativeWindowInUseKHRError(std::string const & message)6737     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6738 
NativeWindowInUseKHRError(char const * message)6739     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6740   };
6741 
6742   class OutOfDateKHRError : public SystemError
6743   {
6744   public:
OutOfDateKHRError(std::string const & message)6745     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6746 
OutOfDateKHRError(char const * message)6747     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6748   };
6749 
6750   class IncompatibleDisplayKHRError : public SystemError
6751   {
6752   public:
IncompatibleDisplayKHRError(std::string const & message)6753     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6754 
IncompatibleDisplayKHRError(char const * message)6755     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6756   };
6757 
6758   class ValidationFailedEXTError : public SystemError
6759   {
6760   public:
ValidationFailedEXTError(std::string const & message)6761     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6762 
ValidationFailedEXTError(char const * message)6763     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6764   };
6765 
6766   class InvalidShaderNVError : public SystemError
6767   {
6768   public:
InvalidShaderNVError(std::string const & message)6769     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6770 
InvalidShaderNVError(char const * message)6771     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6772   };
6773 
6774   class ImageUsageNotSupportedKHRError : public SystemError
6775   {
6776   public:
ImageUsageNotSupportedKHRError(std::string const & message)6777     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6778 
ImageUsageNotSupportedKHRError(char const * message)6779     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6780   };
6781 
6782   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6783   {
6784   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6785     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6786       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6787     {
6788     }
6789 
VideoPictureLayoutNotSupportedKHRError(char const * message)6790     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6791     {
6792     }
6793   };
6794 
6795   class VideoProfileOperationNotSupportedKHRError : public SystemError
6796   {
6797   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6798     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6799       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6800     {
6801     }
6802 
VideoProfileOperationNotSupportedKHRError(char const * message)6803     VideoProfileOperationNotSupportedKHRError( char const * message )
6804       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6805     {
6806     }
6807   };
6808 
6809   class VideoProfileFormatNotSupportedKHRError : public SystemError
6810   {
6811   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6812     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6813       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6814     {
6815     }
6816 
VideoProfileFormatNotSupportedKHRError(char const * message)6817     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6818     {
6819     }
6820   };
6821 
6822   class VideoProfileCodecNotSupportedKHRError : public SystemError
6823   {
6824   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6825     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6826       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6827     {
6828     }
6829 
VideoProfileCodecNotSupportedKHRError(char const * message)6830     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6831   };
6832 
6833   class VideoStdVersionNotSupportedKHRError : public SystemError
6834   {
6835   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6836     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6837     {
6838     }
6839 
VideoStdVersionNotSupportedKHRError(char const * message)6840     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6841   };
6842 
6843   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6844   {
6845   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6846     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6847       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6848     {
6849     }
6850 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6851     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6852       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6853     {
6854     }
6855   };
6856 
6857 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6858   class FullScreenExclusiveModeLostEXTError : public SystemError
6859   {
6860   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6861     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6862     {
6863     }
6864 
FullScreenExclusiveModeLostEXTError(char const * message)6865     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6866   };
6867 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6868 
6869   class InvalidVideoStdParametersKHRError : public SystemError
6870   {
6871   public:
InvalidVideoStdParametersKHRError(std::string const & message)6872     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6873 
InvalidVideoStdParametersKHRError(char const * message)6874     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6875   };
6876 
6877   class CompressionExhaustedEXTError : public SystemError
6878   {
6879   public:
CompressionExhaustedEXTError(std::string const & message)6880     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6881 
CompressionExhaustedEXTError(char const * message)6882     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6883   };
6884 
6885   class NotEnoughSpaceKHRError : public SystemError
6886   {
6887   public:
NotEnoughSpaceKHRError(std::string const & message)6888     NotEnoughSpaceKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6889 
NotEnoughSpaceKHRError(char const * message)6890     NotEnoughSpaceKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6891   };
6892 
6893   namespace detail
6894   {
throwResultException(Result result,char const * message)6895     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6896     {
6897       switch ( result )
6898       {
6899         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6900         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6901         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6902         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6903         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6904         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6905         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6906         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6907         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6908         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6909         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6910         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6911         case Result::eErrorUnknown: throw UnknownError( message );
6912         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6913         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6914         case Result::eErrorFragmentation: throw FragmentationError( message );
6915         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6916         case Result::eErrorNotPermitted: throw NotPermittedError( message );
6917         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6918         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6919         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6920         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6921         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6922         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6923         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6924         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6925         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6926         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6927         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6928         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6929         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6930 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6931         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6932 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6933         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6934         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6935         case Result::eErrorNotEnoughSpaceKHR: throw NotEnoughSpaceKHRError( message );
6936         default: throw SystemError( make_error_code( result ), message );
6937       }
6938     }
6939   }  // namespace detail
6940 #endif
6941 
6942   template <typename T>
6943   struct ResultValue
6944   {
6945 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6946     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6947 #else
6948     ResultValue( Result r, T & v )
6949 #endif
6950       : result( r ), value( v )
6951     {
6952     }
6953 
6954 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6955     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6956 #else
6957     ResultValue( Result r, T && v )
6958 #endif
6959       : result( r ), value( std::move( v ) )
6960     {
6961     }
6962 
6963     Result result;
6964     T      value;
6965 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6966     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6967     {
6968       return std::tuple<Result &, T &>( result, value );
6969     }
6970   };
6971 
6972 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6973   template <typename Type, typename Dispatch>
6974   struct ResultValue<UniqueHandle<Type, Dispatch>>
6975   {
6976 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6977     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6978 #  else
6979     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6980 #  endif
6981       : result( r )
6982       , value( std::move( v ) )
6983     {
6984     }
6985 
6986     VULKAN_HPP_DEPRECATED(
6987       "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." )
6988 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6989     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6990     {
6991       return std::make_tuple( result, std::move( value ) );
6992     }
6993 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6994     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6995     {
6996       return std::make_tuple( result, std::move( value ) );
6997     }
6998 
6999     Result                       result;
7000     UniqueHandle<Type, Dispatch> value;
7001   };
7002 
7003   template <typename Type, typename Dispatch>
7004   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
7005   {
7006 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue7007     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
7008 #  else
7009     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
7010 #  endif
7011       : result( r )
7012       , value( std::move( v ) )
7013     {
7014     }
7015 
7016     VULKAN_HPP_DEPRECATED(
7017       "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." )
7018 
asTupleVULKAN_HPP_NAMESPACE::ResultValue7019     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
7020     {
7021       return std::make_tuple( result, std::move( value ) );
7022     }
7023 
asTupleVULKAN_HPP_NAMESPACE::ResultValue7024     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
7025     {
7026       return std::make_tuple( result, std::move( value ) );
7027     }
7028 
7029     Result                                    result;
7030     std::vector<UniqueHandle<Type, Dispatch>> value;
7031   };
7032 #endif
7033 
7034   template <typename T>
7035   struct ResultValueType
7036   {
7037 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7038     using type = ResultValue<T>;
7039 #else
7040     using type = T;
7041 #endif
7042   };
7043 
7044   template <>
7045   struct ResultValueType<void>
7046   {
7047 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7048     using type = Result;
7049 #else
7050     using type = void;
7051 #endif
7052   };
7053 
7054   namespace detail
7055   {
7056     template <typename T>
ignore(T const &)7057     void ignore( T const & ) VULKAN_HPP_NOEXCEPT
7058     {
7059     }
7060 
createResultValueType(VULKAN_HPP_NAMESPACE::Result result)7061     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<void>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result )
7062     {
7063 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7064       return result;
7065 #else
7066       VULKAN_HPP_NAMESPACE::detail::ignore( result );
7067 #endif
7068     }
7069 
7070     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T & data)7071     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T & data )
7072     {
7073 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7074       return ResultValue<T>( result, data );
7075 #else
7076       VULKAN_HPP_NAMESPACE::detail::ignore( result );
7077       return data;
7078 #endif
7079     }
7080 
7081     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T && data)7082     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T && data )
7083     {
7084 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7085       return ResultValue<T>( result, std::move( data ) );
7086 #else
7087       VULKAN_HPP_NAMESPACE::detail::ignore( result );
7088       return std::move( data );
7089 #endif
7090     }
7091   }  // namespace detail
7092 
7093   namespace detail
7094   {
resultCheck(Result result,char const * message)7095     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
7096     {
7097 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7098       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7099       VULKAN_HPP_NAMESPACE::detail::ignore( message );
7100       VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
7101 #else
7102       if ( result != Result::eSuccess )
7103       {
7104         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
7105       }
7106 #endif
7107     }
7108 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)7109     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
7110     {
7111 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7112       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7113       VULKAN_HPP_NAMESPACE::detail::ignore( message );
7114       VULKAN_HPP_NAMESPACE::detail::ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7115       VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
7116 #else
7117       if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
7118       {
7119         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
7120       }
7121 #endif
7122     }
7123   }  // namespace detail
7124 
7125   //===========================
7126   //=== CONSTEXPR CONSTANTs ===
7127   //===========================
7128 
7129   //=== VK_VERSION_1_0 ===
7130   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
7131   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
7132   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
7133   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
7134   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
7135   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
7136   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
7137   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
7138   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
7139   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
7140   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
7141   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
7142   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
7143   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
7144   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
7145 
7146   //=== VK_VERSION_1_1 ===
7147   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
7148   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
7149   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
7150 
7151   //=== VK_VERSION_1_2 ===
7152   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
7153   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
7154 
7155   //=== VK_VERSION_1_4 ===
7156   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySize = VK_MAX_GLOBAL_PRIORITY_SIZE;
7157 
7158   //=== VK_KHR_device_group_creation ===
7159   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
7160 
7161   //=== VK_KHR_external_memory_capabilities ===
7162   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
7163 
7164   //=== VK_KHR_external_memory ===
7165   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
7166 
7167   //=== VK_EXT_queue_family_foreign ===
7168   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
7169 
7170 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7171   //=== VK_AMDX_shader_enqueue ===
7172   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
7173 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7174 
7175   //=== VK_KHR_ray_tracing_pipeline ===
7176   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
7177 
7178   //=== VK_NV_ray_tracing ===
7179   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
7180 
7181   //=== VK_KHR_global_priority ===
7182   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
7183 
7184   //=== VK_KHR_driver_properties ===
7185   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
7186   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
7187 
7188   //=== VK_EXT_global_priority_query ===
7189   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
7190 
7191   //=== VK_EXT_image_sliced_view_of_3d ===
7192   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
7193 
7194   //=== VK_EXT_shader_module_identifier ===
7195   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
7196 
7197   //=== VK_KHR_pipeline_binary ===
7198   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPipelineBinaryKeySizeKHR = VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR;
7199 
7200   //=== VK_KHR_video_decode_av1 ===
7201   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoAv1ReferencesPerFrameKHR = VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR;
7202 
7203   //=== VK_NV_partitioned_acceleration_structure ===
7204   VULKAN_HPP_CONSTEXPR_INLINE uint32_t PartitionedAccelerationStructurePartitionIndexGlobalNV = VK_PARTITIONED_ACCELERATION_STRUCTURE_PARTITION_INDEX_GLOBAL_NV;
7205 
7206   //========================
7207   //=== CONSTEXPR VALUEs ===
7208   //========================
7209   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion      = VK_HEADER_VERSION;
7210   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Use64BitPtrDefines = VK_USE_64_BIT_PTR_DEFINES;
7211 
7212   //=========================
7213   //=== CONSTEXPR CALLEEs ===
7214   //=========================
7215   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)7216   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
7217   {
7218     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
7219   }
7220 
7221   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)7222   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
7223   {
7224     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7225   }
7226 
7227   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)7228   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
7229   {
7230     return ( (uint32_t)(version)&0xFFFU );
7231   }
7232 
7233   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)7234   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
7235   {
7236     return ( (uint32_t)( version ) >> 29U );
7237   }
7238 
7239   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)7240   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
7241   {
7242     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7243   }
7244 
7245   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7246   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)7247   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
7248   {
7249     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7250   }
7251 
7252   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7253   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)7254   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
7255   {
7256     return ( (uint32_t)( version ) >> 22U );
7257   }
7258 
7259   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7260   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)7261   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
7262   {
7263     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7264   }
7265 
7266   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7267   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)7268   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
7269   {
7270     return ( (uint32_t)(version)&0xFFFU );
7271   }
7272 
7273   //=========================
7274   //=== CONSTEXPR CALLERs ===
7275   //=========================
7276   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
7277   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
7278   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
7279   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
7280   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
7281   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion14          = makeApiVersion( 0, 1, 4, 0 );
7282   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 4, VK_HEADER_VERSION );
7283 
7284   //=================================
7285   //=== CONSTEXPR EXTENSION NAMEs ===
7286   //=================================
7287 
7288   //=== VK_KHR_surface ===
7289   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
7290   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
7291 
7292   //=== VK_KHR_swapchain ===
7293   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
7294   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
7295 
7296   //=== VK_KHR_display ===
7297   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
7298   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
7299 
7300   //=== VK_KHR_display_swapchain ===
7301   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
7302   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
7303 
7304 #if defined( VK_USE_PLATFORM_XLIB_KHR )
7305   //=== VK_KHR_xlib_surface ===
7306   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
7307   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
7308 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
7309 
7310 #if defined( VK_USE_PLATFORM_XCB_KHR )
7311   //=== VK_KHR_xcb_surface ===
7312   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
7313   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
7314 #endif /*VK_USE_PLATFORM_XCB_KHR*/
7315 
7316 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
7317   //=== VK_KHR_wayland_surface ===
7318   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
7319   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
7320 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
7321 
7322 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7323   //=== VK_KHR_android_surface ===
7324   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
7325   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
7326 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7327 
7328 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7329   //=== VK_KHR_win32_surface ===
7330   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
7331   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
7332 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7333 
7334 #if defined( VK_USE_PLATFORM_OHOS )
7335   //=== VK_OHOS_surface ===
7336   VULKAN_HPP_CONSTEXPR_INLINE auto OHOSSurfaceExtensionName = VK_OHOS_SURFACE_EXTENSION_NAME;
7337   VULKAN_HPP_CONSTEXPR_INLINE auto OHOSSurfaceSpecVersion   = VK_OHOS_SURFACE_SPEC_VERSION;
7338 #endif /*VK_USE_PLATFORM_OHOS*/
7339 
7340   //=== VK_EXT_debug_report ===
7341   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7342   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
7343   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7344   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
7345 
7346   //=== VK_NV_glsl_shader ===
7347   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7348   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
7349   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7350   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
7351 
7352   //=== VK_EXT_depth_range_unrestricted ===
7353   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
7354   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
7355 
7356   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
7357   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
7358   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion   = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
7359 
7360   //=== VK_IMG_filter_cubic ===
7361   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
7362   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
7363 
7364   //=== VK_AMD_rasterization_order ===
7365   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
7366   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
7367 
7368   //=== VK_AMD_shader_trinary_minmax ===
7369   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
7370   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
7371 
7372   //=== VK_AMD_shader_explicit_vertex_parameter ===
7373   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
7374   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
7375 
7376   //=== VK_EXT_debug_marker ===
7377   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
7378   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion   = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
7379 
7380   //=== VK_KHR_video_queue ===
7381   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
7382   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7383 
7384   //=== VK_KHR_video_decode_queue ===
7385   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7386   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7387 
7388   //=== VK_AMD_gcn_shader ===
7389   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7390   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7391 
7392   //=== VK_NV_dedicated_allocation ===
7393   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7394   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7395   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7396   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7397 
7398   //=== VK_EXT_transform_feedback ===
7399   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7400   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7401 
7402   //=== VK_NVX_binary_import ===
7403   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7404   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7405 
7406   //=== VK_NVX_image_view_handle ===
7407   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7408   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7409 
7410   //=== VK_AMD_draw_indirect_count ===
7411   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7412   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion   = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7413 
7414   //=== VK_AMD_negative_viewport_height ===
7415   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7416   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7417   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7418   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7419 
7420   //=== VK_AMD_gpu_shader_half_float ===
7421   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7422   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7423   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7424   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7425 
7426   //=== VK_AMD_shader_ballot ===
7427   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7428   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7429 
7430   //=== VK_KHR_video_encode_h264 ===
7431   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7432   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7433 
7434   //=== VK_KHR_video_encode_h265 ===
7435   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7436   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7437 
7438   //=== VK_KHR_video_decode_h264 ===
7439   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7440   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7441 
7442   //=== VK_AMD_texture_gather_bias_lod ===
7443   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7444   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7445 
7446   //=== VK_AMD_shader_info ===
7447   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7448   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7449 
7450   //=== VK_KHR_dynamic_rendering ===
7451   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7452   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion   = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7453 
7454   //=== VK_AMD_shader_image_load_store_lod ===
7455   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7456   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7457 
7458 #if defined( VK_USE_PLATFORM_GGP )
7459   //=== VK_GGP_stream_descriptor_surface ===
7460   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7461   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7462 #endif /*VK_USE_PLATFORM_GGP*/
7463 
7464   //=== VK_NV_corner_sampled_image ===
7465   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7466   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7467 
7468   //=== VK_KHR_multiview ===
7469   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7470   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion   = VK_KHR_MULTIVIEW_SPEC_VERSION;
7471 
7472   //=== VK_IMG_format_pvrtc ===
7473   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7474   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7475   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7476   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7477 
7478   //=== VK_NV_external_memory_capabilities ===
7479   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7480   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7481   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7482   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7483 
7484   //=== VK_NV_external_memory ===
7485   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7486   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7487   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7488   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7489 
7490 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7491   //=== VK_NV_external_memory_win32 ===
7492   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7493   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7494   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7495   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7496 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7497 
7498 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7499   //=== VK_NV_win32_keyed_mutex ===
7500   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7501   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion   = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7502 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7503 
7504   //=== VK_KHR_get_physical_device_properties2 ===
7505   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7506   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion   = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7507 
7508   //=== VK_KHR_device_group ===
7509   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7510   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion   = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7511 
7512   //=== VK_EXT_validation_flags ===
7513   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7514   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7515   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7516   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7517 
7518 #if defined( VK_USE_PLATFORM_VI_NN )
7519   //=== VK_NN_vi_surface ===
7520   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7521   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7522 #endif /*VK_USE_PLATFORM_VI_NN*/
7523 
7524   //=== VK_KHR_shader_draw_parameters ===
7525   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7526   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion   = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7527 
7528   //=== VK_EXT_shader_subgroup_ballot ===
7529   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7530   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7531   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7532   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7533 
7534   //=== VK_EXT_shader_subgroup_vote ===
7535   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7536   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7537   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7538   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7539 
7540   //=== VK_EXT_texture_compression_astc_hdr ===
7541   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7542   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion   = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7543 
7544   //=== VK_EXT_astc_decode_mode ===
7545   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7547 
7548   //=== VK_EXT_pipeline_robustness ===
7549   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7550   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7551 
7552   //=== VK_KHR_maintenance1 ===
7553   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7554   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion   = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7555 
7556   //=== VK_KHR_device_group_creation ===
7557   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7558   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion   = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7559 
7560   //=== VK_KHR_external_memory_capabilities ===
7561   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7562   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7563 
7564   //=== VK_KHR_external_memory ===
7565   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7566   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion   = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7567 
7568 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7569   //=== VK_KHR_external_memory_win32 ===
7570   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7571   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7572 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7573 
7574   //=== VK_KHR_external_memory_fd ===
7575   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7576   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7577 
7578 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7579   //=== VK_KHR_win32_keyed_mutex ===
7580   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7581   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7582 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7583 
7584   //=== VK_KHR_external_semaphore_capabilities ===
7585   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7586   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7587 
7588   //=== VK_KHR_external_semaphore ===
7589   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7590   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7591 
7592 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7593   //=== VK_KHR_external_semaphore_win32 ===
7594   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7595   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7596 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7597 
7598   //=== VK_KHR_external_semaphore_fd ===
7599   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7600   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7601 
7602   //=== VK_KHR_push_descriptor ===
7603   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7604   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7605 
7606   //=== VK_EXT_conditional_rendering ===
7607   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7608   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7609 
7610   //=== VK_KHR_shader_float16_int8 ===
7611   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7612   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion   = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7613 
7614   //=== VK_KHR_16bit_storage ===
7615   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7616   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion   = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7617 
7618   //=== VK_KHR_incremental_present ===
7619   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7620   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7621 
7622   //=== VK_KHR_descriptor_update_template ===
7623   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7624   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion   = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7625 
7626   //=== VK_NV_clip_space_w_scaling ===
7627   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7628   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7629 
7630   //=== VK_EXT_direct_mode_display ===
7631   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7632   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7633 
7634 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7635   //=== VK_EXT_acquire_xlib_display ===
7636   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7637   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7638 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7639 
7640   //=== VK_EXT_display_surface_counter ===
7641   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7642   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7643 
7644   //=== VK_EXT_display_control ===
7645   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7646   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7647 
7648   //=== VK_GOOGLE_display_timing ===
7649   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7650   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7651 
7652   //=== VK_NV_sample_mask_override_coverage ===
7653   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7654   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7655 
7656   //=== VK_NV_geometry_shader_passthrough ===
7657   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7658   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7659 
7660   //=== VK_NV_viewport_array2 ===
7661   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7662   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7663 
7664   //=== VK_NVX_multiview_per_view_attributes ===
7665   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7666   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7667 
7668   //=== VK_NV_viewport_swizzle ===
7669   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7670   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7671 
7672   //=== VK_EXT_discard_rectangles ===
7673   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7674   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7675 
7676   //=== VK_EXT_conservative_rasterization ===
7677   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7678   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7679 
7680   //=== VK_EXT_depth_clip_enable ===
7681   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7682   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7683 
7684   //=== VK_EXT_swapchain_colorspace ===
7685   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7686   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7687 
7688   //=== VK_EXT_hdr_metadata ===
7689   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7690   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7691 
7692   //=== VK_KHR_imageless_framebuffer ===
7693   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7694   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion   = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7695 
7696   //=== VK_KHR_create_renderpass2 ===
7697   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7698   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion   = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7699 
7700   //=== VK_IMG_relaxed_line_rasterization ===
7701   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7702   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7703 
7704   //=== VK_KHR_shared_presentable_image ===
7705   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7706   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7707 
7708   //=== VK_KHR_external_fence_capabilities ===
7709   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7710   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7711 
7712   //=== VK_KHR_external_fence ===
7713   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7714   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion   = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7715 
7716 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7717   //=== VK_KHR_external_fence_win32 ===
7718   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7719   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7720 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7721 
7722   //=== VK_KHR_external_fence_fd ===
7723   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7724   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7725 
7726   //=== VK_KHR_performance_query ===
7727   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7728   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7729 
7730   //=== VK_KHR_maintenance2 ===
7731   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7732   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion   = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7733 
7734   //=== VK_KHR_get_surface_capabilities2 ===
7735   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7736   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7737 
7738   //=== VK_KHR_variable_pointers ===
7739   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7740   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion   = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7741 
7742   //=== VK_KHR_get_display_properties2 ===
7743   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7744   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7745 
7746 #if defined( VK_USE_PLATFORM_IOS_MVK )
7747   //=== VK_MVK_ios_surface ===
7748   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7749   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7750   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7751   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7752 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7753 
7754 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7755   //=== VK_MVK_macos_surface ===
7756   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7757   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7758   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7759   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7760 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7761 
7762   //=== VK_EXT_external_memory_dma_buf ===
7763   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7764   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7765 
7766   //=== VK_EXT_queue_family_foreign ===
7767   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7768   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7769 
7770   //=== VK_KHR_dedicated_allocation ===
7771   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7772   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion   = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7773 
7774   //=== VK_EXT_debug_utils ===
7775   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7776   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7777 
7778 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7779   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7780   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7781   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7782 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7783 
7784   //=== VK_EXT_sampler_filter_minmax ===
7785   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7786   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion   = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7787 
7788   //=== VK_KHR_storage_buffer_storage_class ===
7789   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7790   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion   = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7791 
7792   //=== VK_AMD_gpu_shader_int16 ===
7793   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7794   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7795   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7796   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7797 
7798 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7799   //=== VK_AMDX_shader_enqueue ===
7800   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7801   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7802 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7803 
7804   //=== VK_AMD_mixed_attachment_samples ===
7805   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7806   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7807 
7808   //=== VK_AMD_shader_fragment_mask ===
7809   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7810   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7811 
7812   //=== VK_EXT_inline_uniform_block ===
7813   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7814   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion   = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7815 
7816   //=== VK_EXT_shader_stencil_export ===
7817   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7818   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7819 
7820   //=== VK_EXT_sample_locations ===
7821   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7822   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7823 
7824   //=== VK_KHR_relaxed_block_layout ===
7825   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7826   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion   = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7827 
7828   //=== VK_KHR_get_memory_requirements2 ===
7829   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7830   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion   = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7831 
7832   //=== VK_KHR_image_format_list ===
7833   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7834   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion   = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7835 
7836   //=== VK_EXT_blend_operation_advanced ===
7837   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7838   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7839 
7840   //=== VK_NV_fragment_coverage_to_color ===
7841   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7842   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7843 
7844   //=== VK_KHR_acceleration_structure ===
7845   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7846   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7847 
7848   //=== VK_KHR_ray_tracing_pipeline ===
7849   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7850   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7851 
7852   //=== VK_KHR_ray_query ===
7853   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7854   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7855 
7856   //=== VK_NV_framebuffer_mixed_samples ===
7857   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7858   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7859 
7860   //=== VK_NV_fill_rectangle ===
7861   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7862   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7863 
7864   //=== VK_NV_shader_sm_builtins ===
7865   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7866   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7867 
7868   //=== VK_EXT_post_depth_coverage ===
7869   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7870   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7871 
7872   //=== VK_KHR_sampler_ycbcr_conversion ===
7873   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7874   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion   = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7875 
7876   //=== VK_KHR_bind_memory2 ===
7877   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7878   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion   = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7879 
7880   //=== VK_EXT_image_drm_format_modifier ===
7881   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7882   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7883 
7884   //=== VK_EXT_validation_cache ===
7885   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7886   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7887 
7888   //=== VK_EXT_descriptor_indexing ===
7889   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7890   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion   = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7891 
7892   //=== VK_EXT_shader_viewport_index_layer ===
7893   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7894   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion   = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7895 
7896 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7897   //=== VK_KHR_portability_subset ===
7898   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7899   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7900 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7901 
7902   //=== VK_NV_shading_rate_image ===
7903   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7904   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7905 
7906   //=== VK_NV_ray_tracing ===
7907   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7908   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7909   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7910   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion = VK_NV_RAY_TRACING_SPEC_VERSION;
7911 
7912   //=== VK_NV_representative_fragment_test ===
7913   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7914   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7915 
7916   //=== VK_KHR_maintenance3 ===
7917   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7918   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion   = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7919 
7920   //=== VK_KHR_draw_indirect_count ===
7921   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7922   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion   = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7923 
7924   //=== VK_EXT_filter_cubic ===
7925   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7926   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7927 
7928   //=== VK_QCOM_render_pass_shader_resolve ===
7929   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7930   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7931 
7932   //=== VK_EXT_global_priority ===
7933   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7934   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion   = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7935 
7936   //=== VK_KHR_shader_subgroup_extended_types ===
7937   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7938   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion   = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7939 
7940   //=== VK_KHR_8bit_storage ===
7941   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7942   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion   = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7943 
7944   //=== VK_EXT_external_memory_host ===
7945   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7946   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7947 
7948   //=== VK_AMD_buffer_marker ===
7949   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7950   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7951 
7952   //=== VK_KHR_shader_atomic_int64 ===
7953   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7954   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion   = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7955 
7956   //=== VK_KHR_shader_clock ===
7957   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7958   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7959 
7960   //=== VK_AMD_pipeline_compiler_control ===
7961   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7962   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7963 
7964   //=== VK_EXT_calibrated_timestamps ===
7965   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7966   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion   = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7967 
7968   //=== VK_AMD_shader_core_properties ===
7969   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7970   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7971 
7972   //=== VK_KHR_video_decode_h265 ===
7973   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7974   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7975 
7976   //=== VK_KHR_global_priority ===
7977   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7978   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7979 
7980   //=== VK_AMD_memory_overallocation_behavior ===
7981   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7982   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7983 
7984   //=== VK_EXT_vertex_attribute_divisor ===
7985   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7986   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion   = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7987 
7988 #if defined( VK_USE_PLATFORM_GGP )
7989   //=== VK_GGP_frame_token ===
7990   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7991   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7992 #endif /*VK_USE_PLATFORM_GGP*/
7993 
7994   //=== VK_EXT_pipeline_creation_feedback ===
7995   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7996   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion   = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7997 
7998   //=== VK_KHR_driver_properties ===
7999   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
8000   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion   = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
8001 
8002   //=== VK_KHR_shader_float_controls ===
8003   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
8004   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
8005 
8006   //=== VK_NV_shader_subgroup_partitioned ===
8007   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
8008   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
8009 
8010   //=== VK_KHR_depth_stencil_resolve ===
8011   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
8012   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion   = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
8013 
8014   //=== VK_KHR_swapchain_mutable_format ===
8015   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
8016   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
8017 
8018   //=== VK_NV_compute_shader_derivatives ===
8019   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
8020   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
8021 
8022   //=== VK_NV_mesh_shader ===
8023   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
8024   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
8025 
8026   //=== VK_NV_fragment_shader_barycentric ===
8027   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8028   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion   = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8029 
8030   //=== VK_NV_shader_image_footprint ===
8031   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
8032   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
8033 
8034   //=== VK_NV_scissor_exclusive ===
8035   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
8036   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
8037 
8038   //=== VK_NV_device_diagnostic_checkpoints ===
8039   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
8040   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
8041 
8042   //=== VK_KHR_timeline_semaphore ===
8043   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
8044   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion   = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
8045 
8046   //=== VK_INTEL_shader_integer_functions2 ===
8047   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
8048   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
8049 
8050   //=== VK_INTEL_performance_query ===
8051   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
8052   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
8053 
8054   //=== VK_KHR_vulkan_memory_model ===
8055   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
8056   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion   = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
8057 
8058   //=== VK_EXT_pci_bus_info ===
8059   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
8060   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
8061 
8062   //=== VK_AMD_display_native_hdr ===
8063   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
8064   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
8065 
8066 #if defined( VK_USE_PLATFORM_FUCHSIA )
8067   //=== VK_FUCHSIA_imagepipe_surface ===
8068   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
8069   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
8070 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8071 
8072   //=== VK_KHR_shader_terminate_invocation ===
8073   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
8074   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion   = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
8075 
8076 #if defined( VK_USE_PLATFORM_METAL_EXT )
8077   //=== VK_EXT_metal_surface ===
8078   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
8079   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
8080 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8081 
8082   //=== VK_EXT_fragment_density_map ===
8083   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
8084   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
8085 
8086   //=== VK_EXT_scalar_block_layout ===
8087   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
8088   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion   = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
8089 
8090   //=== VK_GOOGLE_hlsl_functionality1 ===
8091   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
8092   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
8093 
8094   //=== VK_GOOGLE_decorate_string ===
8095   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
8096   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
8097 
8098   //=== VK_EXT_subgroup_size_control ===
8099   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
8100   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion   = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
8101 
8102   //=== VK_KHR_fragment_shading_rate ===
8103   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
8104   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
8105 
8106   //=== VK_AMD_shader_core_properties2 ===
8107   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
8108   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
8109 
8110   //=== VK_AMD_device_coherent_memory ===
8111   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
8112   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
8113 
8114   //=== VK_KHR_dynamic_rendering_local_read ===
8115   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadExtensionName = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME;
8116   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadSpecVersion   = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION;
8117 
8118   //=== VK_EXT_shader_image_atomic_int64 ===
8119   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
8120   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
8121 
8122   //=== VK_KHR_shader_quad_control ===
8123   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlExtensionName = VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME;
8124   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlSpecVersion   = VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION;
8125 
8126   //=== VK_KHR_spirv_1_4 ===
8127   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
8128   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion   = VK_KHR_SPIRV_1_4_SPEC_VERSION;
8129 
8130   //=== VK_EXT_memory_budget ===
8131   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
8132   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
8133 
8134   //=== VK_EXT_memory_priority ===
8135   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
8136   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
8137 
8138   //=== VK_KHR_surface_protected_capabilities ===
8139   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
8140   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
8141 
8142   //=== VK_NV_dedicated_allocation_image_aliasing ===
8143   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
8144   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
8145 
8146   //=== VK_KHR_separate_depth_stencil_layouts ===
8147   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
8148   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion   = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
8149 
8150   //=== VK_EXT_buffer_device_address ===
8151   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
8152   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
8153   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
8154   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
8155 
8156   //=== VK_EXT_tooling_info ===
8157   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
8158   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion   = VK_EXT_TOOLING_INFO_SPEC_VERSION;
8159 
8160   //=== VK_EXT_separate_stencil_usage ===
8161   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
8162   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion   = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
8163 
8164   //=== VK_EXT_validation_features ===
8165   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
8166   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
8167   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
8168   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
8169 
8170   //=== VK_KHR_present_wait ===
8171   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
8172   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
8173 
8174   //=== VK_NV_cooperative_matrix ===
8175   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
8176   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
8177 
8178   //=== VK_NV_coverage_reduction_mode ===
8179   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
8180   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
8181 
8182   //=== VK_EXT_fragment_shader_interlock ===
8183   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
8184   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
8185 
8186   //=== VK_EXT_ycbcr_image_arrays ===
8187   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
8188   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
8189 
8190   //=== VK_KHR_uniform_buffer_standard_layout ===
8191   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
8192   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion   = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
8193 
8194   //=== VK_EXT_provoking_vertex ===
8195   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
8196   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
8197 
8198 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8199   //=== VK_EXT_full_screen_exclusive ===
8200   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
8201   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
8202 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8203 
8204   //=== VK_EXT_headless_surface ===
8205   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
8206   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
8207 
8208   //=== VK_KHR_buffer_device_address ===
8209   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
8210   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion   = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
8211 
8212   //=== VK_EXT_line_rasterization ===
8213   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
8214   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion   = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
8215 
8216   //=== VK_EXT_shader_atomic_float ===
8217   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
8218   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
8219 
8220   //=== VK_EXT_host_query_reset ===
8221   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
8222   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion   = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
8223 
8224   //=== VK_EXT_index_type_uint8 ===
8225   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
8226   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion   = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
8227 
8228   //=== VK_EXT_extended_dynamic_state ===
8229   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
8230   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
8231 
8232   //=== VK_KHR_deferred_host_operations ===
8233   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
8234   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
8235 
8236   //=== VK_KHR_pipeline_executable_properties ===
8237   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
8238   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
8239 
8240   //=== VK_EXT_host_image_copy ===
8241   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
8242   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
8243 
8244   //=== VK_KHR_map_memory2 ===
8245   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
8246   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
8247 
8248   //=== VK_EXT_map_memory_placed ===
8249   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedExtensionName = VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME;
8250   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedSpecVersion   = VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION;
8251 
8252   //=== VK_EXT_shader_atomic_float2 ===
8253   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
8254   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
8255 
8256   //=== VK_EXT_surface_maintenance1 ===
8257   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
8258   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
8259 
8260   //=== VK_EXT_swapchain_maintenance1 ===
8261   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
8262   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
8263 
8264   //=== VK_EXT_shader_demote_to_helper_invocation ===
8265   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
8266   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion   = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
8267 
8268   //=== VK_NV_device_generated_commands ===
8269   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8270   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8271 
8272   //=== VK_NV_inherited_viewport_scissor ===
8273   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
8274   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8275 
8276   //=== VK_KHR_shader_integer_dot_product ===
8277   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8278   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion   = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8279 
8280   //=== VK_EXT_texel_buffer_alignment ===
8281   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8282   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion   = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8283 
8284   //=== VK_QCOM_render_pass_transform ===
8285   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8286   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8287 
8288   //=== VK_EXT_depth_bias_control ===
8289   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8290   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8291 
8292   //=== VK_EXT_device_memory_report ===
8293   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8294   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8295 
8296   //=== VK_EXT_acquire_drm_display ===
8297   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8298   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8299 
8300   //=== VK_EXT_robustness2 ===
8301   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8302   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8303 
8304   //=== VK_EXT_custom_border_color ===
8305   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8306   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8307 
8308   //=== VK_GOOGLE_user_type ===
8309   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8310   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8311 
8312   //=== VK_KHR_pipeline_library ===
8313   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8314   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8315 
8316   //=== VK_NV_present_barrier ===
8317   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8318   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8319 
8320   //=== VK_KHR_shader_non_semantic_info ===
8321   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8322   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion   = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8323 
8324   //=== VK_KHR_present_id ===
8325   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8326   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8327 
8328   //=== VK_EXT_private_data ===
8329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8330   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion   = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8331 
8332   //=== VK_EXT_pipeline_creation_cache_control ===
8333   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8334   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion   = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8335 
8336   //=== VK_KHR_video_encode_queue ===
8337   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8338   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8339 
8340   //=== VK_NV_device_diagnostics_config ===
8341   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8342   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8343 
8344   //=== VK_QCOM_render_pass_store_ops ===
8345   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8346   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8347 
8348 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8349   //=== VK_NV_cuda_kernel_launch ===
8350   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8351   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8352 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8353 
8354   //=== VK_NV_low_latency ===
8355   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8356   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8357 
8358 #if defined( VK_USE_PLATFORM_METAL_EXT )
8359   //=== VK_EXT_metal_objects ===
8360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8362 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8363 
8364   //=== VK_KHR_synchronization2 ===
8365   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8366   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion   = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8367 
8368   //=== VK_EXT_descriptor_buffer ===
8369   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8370   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8371 
8372   //=== VK_EXT_graphics_pipeline_library ===
8373   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8374   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8375 
8376   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8377   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8378   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8379 
8380   //=== VK_KHR_fragment_shader_barycentric ===
8381   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8382   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8383 
8384   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8385   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8386   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8387 
8388   //=== VK_KHR_zero_initialize_workgroup_memory ===
8389   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8390   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion   = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8391 
8392   //=== VK_NV_fragment_shading_rate_enums ===
8393   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8394   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8395 
8396   //=== VK_NV_ray_tracing_motion_blur ===
8397   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8398   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8399 
8400   //=== VK_EXT_mesh_shader ===
8401   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8402   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8403 
8404   //=== VK_EXT_ycbcr_2plane_444_formats ===
8405   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8406   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion   = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8407 
8408   //=== VK_EXT_fragment_density_map2 ===
8409   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8410   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8411 
8412   //=== VK_QCOM_rotated_copy_commands ===
8413   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8414   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8415 
8416   //=== VK_EXT_image_robustness ===
8417   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8418   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion   = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8419 
8420   //=== VK_KHR_workgroup_memory_explicit_layout ===
8421   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8422   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8423 
8424   //=== VK_KHR_copy_commands2 ===
8425   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8426   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion   = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8427 
8428   //=== VK_EXT_image_compression_control ===
8429   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8430   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8431 
8432   //=== VK_EXT_attachment_feedback_loop_layout ===
8433   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8434   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8435 
8436   //=== VK_EXT_4444_formats ===
8437   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8438   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion   = VK_EXT_4444_FORMATS_SPEC_VERSION;
8439 
8440   //=== VK_EXT_device_fault ===
8441   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8443 
8444   //=== VK_ARM_rasterization_order_attachment_access ===
8445   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8446   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion   = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8447 
8448   //=== VK_EXT_rgba10x6_formats ===
8449   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8450   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8451 
8452 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8453   //=== VK_NV_acquire_winrt_display ===
8454   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8455   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8456 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8457 
8458 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8459   //=== VK_EXT_directfb_surface ===
8460   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8461   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8462 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8463 
8464   //=== VK_VALVE_mutable_descriptor_type ===
8465   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8466   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion   = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8467 
8468   //=== VK_EXT_vertex_input_dynamic_state ===
8469   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8470   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8471 
8472   //=== VK_EXT_physical_device_drm ===
8473   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8474   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8475 
8476   //=== VK_EXT_device_address_binding_report ===
8477   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8478   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8479 
8480   //=== VK_EXT_depth_clip_control ===
8481   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8482   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8483 
8484   //=== VK_EXT_primitive_topology_list_restart ===
8485   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8486   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8487 
8488   //=== VK_KHR_format_feature_flags2 ===
8489   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8490   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion   = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8491 
8492   //=== VK_EXT_present_mode_fifo_latest_ready ===
8493   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPresentModeFifoLatestReadyExtensionName = VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME;
8494   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPresentModeFifoLatestReadySpecVersion   = VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION;
8495 
8496 #if defined( VK_USE_PLATFORM_FUCHSIA )
8497   //=== VK_FUCHSIA_external_memory ===
8498   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8499   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8500 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8501 
8502 #if defined( VK_USE_PLATFORM_FUCHSIA )
8503   //=== VK_FUCHSIA_external_semaphore ===
8504   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8505   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8506 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8507 
8508 #if defined( VK_USE_PLATFORM_FUCHSIA )
8509   //=== VK_FUCHSIA_buffer_collection ===
8510   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8511   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8512 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8513 
8514   //=== VK_HUAWEI_subpass_shading ===
8515   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8516   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8517 
8518   //=== VK_HUAWEI_invocation_mask ===
8519   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8520   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8521 
8522   //=== VK_NV_external_memory_rdma ===
8523   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8524   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8525 
8526   //=== VK_EXT_pipeline_properties ===
8527   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8528   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8529 
8530   //=== VK_EXT_frame_boundary ===
8531   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8532   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8533 
8534   //=== VK_EXT_multisampled_render_to_single_sampled ===
8535   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8536   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8537 
8538   //=== VK_EXT_extended_dynamic_state2 ===
8539   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8540   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8541 
8542 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8543   //=== VK_QNX_screen_surface ===
8544   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8545   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8546 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8547 
8548   //=== VK_EXT_color_write_enable ===
8549   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8550   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8551 
8552   //=== VK_EXT_primitives_generated_query ===
8553   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8554   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8555 
8556   //=== VK_KHR_ray_tracing_maintenance1 ===
8557   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8558   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8559 
8560   //=== VK_EXT_global_priority_query ===
8561   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8562   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion   = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8563 
8564   //=== VK_EXT_image_view_min_lod ===
8565   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8566   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8567 
8568   //=== VK_EXT_multi_draw ===
8569   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8570   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8571 
8572   //=== VK_EXT_image_2d_view_of_3d ===
8573   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8574   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8575 
8576   //=== VK_KHR_portability_enumeration ===
8577   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8578   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8579 
8580   //=== VK_EXT_shader_tile_image ===
8581   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8582   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8583 
8584   //=== VK_EXT_opacity_micromap ===
8585   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8586   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8587 
8588 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8589   //=== VK_NV_displacement_micromap ===
8590   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8591   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8592 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8593 
8594   //=== VK_EXT_load_store_op_none ===
8595   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8596   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion   = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8597 
8598   //=== VK_HUAWEI_cluster_culling_shader ===
8599   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8600   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8601 
8602   //=== VK_EXT_border_color_swizzle ===
8603   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8604   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8605 
8606   //=== VK_EXT_pageable_device_local_memory ===
8607   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8608   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8609 
8610   //=== VK_KHR_maintenance4 ===
8611   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8612   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion   = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8613 
8614   //=== VK_ARM_shader_core_properties ===
8615   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8616   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8617 
8618   //=== VK_KHR_shader_subgroup_rotate ===
8619   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateExtensionName = VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME;
8620   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateSpecVersion   = VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION;
8621 
8622   //=== VK_ARM_scheduling_controls ===
8623   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8624   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8625 
8626   //=== VK_EXT_image_sliced_view_of_3d ===
8627   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8628   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8629 
8630   //=== VK_VALVE_descriptor_set_host_mapping ===
8631   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8632   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8633 
8634   //=== VK_EXT_depth_clamp_zero_one ===
8635   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8636   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8637 
8638   //=== VK_EXT_non_seamless_cube_map ===
8639   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8640   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8641 
8642   //=== VK_ARM_render_pass_striped ===
8643   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8644   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8645 
8646   //=== VK_QCOM_fragment_density_map_offset ===
8647   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8648   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8649 
8650   //=== VK_NV_copy_memory_indirect ===
8651   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8652   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8653 
8654   //=== VK_NV_memory_decompression ===
8655   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8656   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8657 
8658   //=== VK_NV_device_generated_commands_compute ===
8659   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8660   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8661 
8662   //=== VK_NV_ray_tracing_linear_swept_spheres ===
8663   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingLinearSweptSpheresExtensionName = VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_EXTENSION_NAME;
8664   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingLinearSweptSpheresSpecVersion   = VK_NV_RAY_TRACING_LINEAR_SWEPT_SPHERES_SPEC_VERSION;
8665 
8666   //=== VK_NV_linear_color_attachment ===
8667   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8668   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8669 
8670   //=== VK_GOOGLE_surfaceless_query ===
8671   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8672   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8673 
8674   //=== VK_KHR_shader_maximal_reconvergence ===
8675   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceExtensionName = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME;
8676   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceSpecVersion   = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION;
8677 
8678   //=== VK_EXT_image_compression_control_swapchain ===
8679   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8680   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8681 
8682   //=== VK_QCOM_image_processing ===
8683   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8684   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8685 
8686   //=== VK_EXT_nested_command_buffer ===
8687   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8688   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8689 
8690   //=== VK_EXT_external_memory_acquire_unmodified ===
8691   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8692   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8693 
8694   //=== VK_EXT_extended_dynamic_state3 ===
8695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8696   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8697 
8698   //=== VK_EXT_subpass_merge_feedback ===
8699   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8700   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8701 
8702   //=== VK_LUNARG_direct_driver_loading ===
8703   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8704   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8705 
8706   //=== VK_EXT_shader_module_identifier ===
8707   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8708   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8709 
8710   //=== VK_EXT_rasterization_order_attachment_access ===
8711   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8712   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8713 
8714   //=== VK_NV_optical_flow ===
8715   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8716   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8717 
8718   //=== VK_EXT_legacy_dithering ===
8719   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8720   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8721 
8722   //=== VK_EXT_pipeline_protected_access ===
8723   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8724   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8725 
8726 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8727   //=== VK_ANDROID_external_format_resolve ===
8728   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8729   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8730 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8731 
8732   //=== VK_KHR_maintenance5 ===
8733   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8734   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8735 
8736   //=== VK_AMD_anti_lag ===
8737   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagExtensionName = VK_AMD_ANTI_LAG_EXTENSION_NAME;
8738   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagSpecVersion   = VK_AMD_ANTI_LAG_SPEC_VERSION;
8739 
8740   //=== VK_KHR_ray_tracing_position_fetch ===
8741   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8742   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8743 
8744   //=== VK_EXT_shader_object ===
8745   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8746   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8747 
8748   //=== VK_KHR_pipeline_binary ===
8749   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinaryExtensionName = VK_KHR_PIPELINE_BINARY_EXTENSION_NAME;
8750   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinarySpecVersion   = VK_KHR_PIPELINE_BINARY_SPEC_VERSION;
8751 
8752   //=== VK_QCOM_tile_properties ===
8753   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8754   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8755 
8756   //=== VK_SEC_amigo_profiling ===
8757   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8758   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8759 
8760   //=== VK_QCOM_multiview_per_view_viewports ===
8761   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8762   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8763 
8764   //=== VK_NV_ray_tracing_invocation_reorder ===
8765   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8766   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8767 
8768   //=== VK_NV_cooperative_vector ===
8769   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeVectorExtensionName = VK_NV_COOPERATIVE_VECTOR_EXTENSION_NAME;
8770   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeVectorSpecVersion   = VK_NV_COOPERATIVE_VECTOR_SPEC_VERSION;
8771 
8772   //=== VK_NV_extended_sparse_address_space ===
8773   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8774   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8775 
8776   //=== VK_EXT_mutable_descriptor_type ===
8777   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8778   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8779 
8780   //=== VK_EXT_legacy_vertex_attributes ===
8781   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesExtensionName = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME;
8782   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesSpecVersion   = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION;
8783 
8784   //=== VK_EXT_layer_settings ===
8785   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8786   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8787 
8788   //=== VK_ARM_shader_core_builtins ===
8789   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8790   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8791 
8792   //=== VK_EXT_pipeline_library_group_handles ===
8793   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8794   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8795 
8796   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8797   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8798   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8799 
8800   //=== VK_NV_low_latency2 ===
8801   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8802   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8803 
8804   //=== VK_KHR_cooperative_matrix ===
8805   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8806   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8807 
8808   //=== VK_QCOM_multiview_per_view_render_areas ===
8809   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8810   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8811 
8812   //=== VK_KHR_compute_shader_derivatives ===
8813   VULKAN_HPP_CONSTEXPR_INLINE auto KHRComputeShaderDerivativesExtensionName = VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
8814   VULKAN_HPP_CONSTEXPR_INLINE auto KHRComputeShaderDerivativesSpecVersion   = VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
8815 
8816   //=== VK_KHR_video_decode_av1 ===
8817   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1ExtensionName = VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME;
8818   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1SpecVersion   = VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION;
8819 
8820   //=== VK_KHR_video_encode_av1 ===
8821   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeAv1ExtensionName = VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME;
8822   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeAv1SpecVersion   = VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION;
8823 
8824   //=== VK_KHR_video_maintenance1 ===
8825   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8826   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8827 
8828   //=== VK_NV_per_stage_descriptor_set ===
8829   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8830   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8831 
8832   //=== VK_QCOM_image_processing2 ===
8833   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8834   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8835 
8836   //=== VK_QCOM_filter_cubic_weights ===
8837   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8838   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8839 
8840   //=== VK_QCOM_ycbcr_degamma ===
8841   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8842   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8843 
8844   //=== VK_QCOM_filter_cubic_clamp ===
8845   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8846   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8847 
8848   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8849   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8850   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8851 
8852   //=== VK_KHR_vertex_attribute_divisor ===
8853   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8854   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8855 
8856   //=== VK_KHR_load_store_op_none ===
8857   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneExtensionName = VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8858   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneSpecVersion   = VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION;
8859 
8860   //=== VK_KHR_shader_float_controls2 ===
8861   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2ExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME;
8862   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2SpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION;
8863 
8864 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8865   //=== VK_QNX_external_memory_screen_buffer ===
8866   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8867   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8868 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8869 
8870   //=== VK_MSFT_layered_driver ===
8871   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8872   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8873 
8874   //=== VK_KHR_index_type_uint8 ===
8875   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8ExtensionName = VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME;
8876   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8SpecVersion   = VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION;
8877 
8878   //=== VK_KHR_line_rasterization ===
8879   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationExtensionName = VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME;
8880   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationSpecVersion   = VK_KHR_LINE_RASTERIZATION_SPEC_VERSION;
8881 
8882   //=== VK_KHR_calibrated_timestamps ===
8883   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8884   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8885 
8886   //=== VK_KHR_shader_expect_assume ===
8887   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeExtensionName = VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME;
8888   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeSpecVersion   = VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION;
8889 
8890   //=== VK_KHR_maintenance6 ===
8891   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8892   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8893 
8894   //=== VK_NV_descriptor_pool_overallocation ===
8895   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8896   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8897 
8898   //=== VK_NV_display_stereo ===
8899   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplayStereoExtensionName = VK_NV_DISPLAY_STEREO_EXTENSION_NAME;
8900   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplayStereoSpecVersion   = VK_NV_DISPLAY_STEREO_SPEC_VERSION;
8901 
8902   //=== VK_KHR_video_encode_quantization_map ===
8903   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQuantizationMapExtensionName = VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME;
8904   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQuantizationMapSpecVersion   = VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION;
8905 
8906   //=== VK_NV_raw_access_chains ===
8907   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsExtensionName = VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME;
8908   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsSpecVersion   = VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION;
8909 
8910   //=== VK_KHR_shader_relaxed_extended_instruction ===
8911   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionExtensionName = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME;
8912   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionSpecVersion   = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION;
8913 
8914   //=== VK_NV_command_buffer_inheritance ===
8915   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceExtensionName = VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME;
8916   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceSpecVersion   = VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION;
8917 
8918   //=== VK_KHR_maintenance7 ===
8919   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7ExtensionName = VK_KHR_MAINTENANCE_7_EXTENSION_NAME;
8920   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7SpecVersion   = VK_KHR_MAINTENANCE_7_SPEC_VERSION;
8921 
8922   //=== VK_NV_shader_atomic_float16_vector ===
8923   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorExtensionName = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME;
8924   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorSpecVersion   = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION;
8925 
8926   //=== VK_EXT_shader_replicated_composites ===
8927   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesExtensionName = VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME;
8928   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesSpecVersion   = VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION;
8929 
8930   //=== VK_NV_ray_tracing_validation ===
8931   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationExtensionName = VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME;
8932   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationSpecVersion   = VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION;
8933 
8934   //=== VK_NV_cluster_acceleration_structure ===
8935   VULKAN_HPP_CONSTEXPR_INLINE auto NVClusterAccelerationStructureExtensionName = VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME;
8936   VULKAN_HPP_CONSTEXPR_INLINE auto NVClusterAccelerationStructureSpecVersion   = VK_NV_CLUSTER_ACCELERATION_STRUCTURE_SPEC_VERSION;
8937 
8938   //=== VK_NV_partitioned_acceleration_structure ===
8939   VULKAN_HPP_CONSTEXPR_INLINE auto NVPartitionedAccelerationStructureExtensionName = VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_EXTENSION_NAME;
8940   VULKAN_HPP_CONSTEXPR_INLINE auto NVPartitionedAccelerationStructureSpecVersion   = VK_NV_PARTITIONED_ACCELERATION_STRUCTURE_SPEC_VERSION;
8941 
8942   //=== VK_EXT_device_generated_commands ===
8943   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceGeneratedCommandsExtensionName = VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8944   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceGeneratedCommandsSpecVersion   = VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8945 
8946   //=== VK_KHR_maintenance8 ===
8947   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance8ExtensionName = VK_KHR_MAINTENANCE_8_EXTENSION_NAME;
8948   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance8SpecVersion   = VK_KHR_MAINTENANCE_8_SPEC_VERSION;
8949 
8950   //=== VK_MESA_image_alignment_control ===
8951   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlExtensionName = VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME;
8952   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlSpecVersion   = VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION;
8953 
8954   //=== VK_EXT_depth_clamp_control ===
8955   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlExtensionName = VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME;
8956   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlSpecVersion   = VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION;
8957 
8958   //=== VK_KHR_video_maintenance2 ===
8959   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance2ExtensionName = VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME;
8960   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance2SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_2_SPEC_VERSION;
8961 
8962   //=== VK_HUAWEI_hdr_vivid ===
8963   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIHdrVividExtensionName = VK_HUAWEI_HDR_VIVID_EXTENSION_NAME;
8964   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIHdrVividSpecVersion   = VK_HUAWEI_HDR_VIVID_SPEC_VERSION;
8965 
8966   //=== VK_NV_cooperative_matrix2 ===
8967   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrix2ExtensionName = VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME;
8968   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrix2SpecVersion   = VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION;
8969 
8970   //=== VK_ARM_pipeline_opacity_micromap ===
8971   VULKAN_HPP_CONSTEXPR_INLINE auto ARMPipelineOpacityMicromapExtensionName = VK_ARM_PIPELINE_OPACITY_MICROMAP_EXTENSION_NAME;
8972   VULKAN_HPP_CONSTEXPR_INLINE auto ARMPipelineOpacityMicromapSpecVersion   = VK_ARM_PIPELINE_OPACITY_MICROMAP_SPEC_VERSION;
8973 
8974 #if defined( VK_USE_PLATFORM_METAL_EXT )
8975   //=== VK_EXT_external_memory_metal ===
8976   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryMetalExtensionName = VK_EXT_EXTERNAL_MEMORY_METAL_EXTENSION_NAME;
8977   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryMetalSpecVersion   = VK_EXT_EXTERNAL_MEMORY_METAL_SPEC_VERSION;
8978 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8979 
8980   //=== VK_KHR_depth_clamp_zero_one ===
8981   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthClampZeroOneExtensionName = VK_KHR_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8982   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthClampZeroOneSpecVersion   = VK_KHR_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8983 
8984   //=== VK_EXT_vertex_attribute_robustness ===
8985   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeRobustnessExtensionName = VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME;
8986   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeRobustnessSpecVersion   = VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION;
8987 
8988 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8989   //=== VK_NV_present_metering ===
8990   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentMeteringExtensionName = VK_NV_PRESENT_METERING_EXTENSION_NAME;
8991   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentMeteringSpecVersion   = VK_NV_PRESENT_METERING_SPEC_VERSION;
8992 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8993 
8994 }  // namespace VULKAN_HPP_NAMESPACE
8995 
8996 // clang-format off
8997 #include <vulkan/vulkan_handles.hpp>
8998 #include <vulkan/vulkan_structs.hpp>
8999 #include <vulkan/vulkan_funcs.hpp>
9000 
9001 // clang-format on
9002 
9003 namespace VULKAN_HPP_NAMESPACE
9004 {
9005 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
9006 
9007   //=======================
9008   //=== STRUCTS EXTENDS ===
9009   //=======================
9010 
9011   //=== VK_VERSION_1_0 ===
9012   template <>
9013   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
9014   {
9015     enum
9016     {
9017       value = true
9018     };
9019   };
9020 
9021   template <>
9022   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfo>
9023   {
9024     enum
9025     {
9026       value = true
9027     };
9028   };
9029 
9030   template <>
9031   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfo>
9032   {
9033     enum
9034     {
9035       value = true
9036     };
9037   };
9038 
9039   template <>
9040   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfo>
9041   {
9042     enum
9043     {
9044       value = true
9045     };
9046   };
9047 
9048   template <>
9049   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfo>
9050   {
9051     enum
9052     {
9053       value = true
9054     };
9055   };
9056 
9057   template <>
9058   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
9059   {
9060     enum
9061     {
9062       value = true
9063     };
9064   };
9065 
9066   template <>
9067   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
9068   {
9069     enum
9070     {
9071       value = true
9072     };
9073   };
9074 
9075   template <>
9076   struct StructExtends<PipelineLayoutCreateInfo, IndirectCommandsLayoutCreateInfoEXT>
9077   {
9078     enum
9079     {
9080       value = true
9081     };
9082   };
9083 
9084   //=== VK_VERSION_1_1 ===
9085   template <>
9086   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
9087   {
9088     enum
9089     {
9090       value = true
9091     };
9092   };
9093 
9094   template <>
9095   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
9096   {
9097     enum
9098     {
9099       value = true
9100     };
9101   };
9102 
9103   template <>
9104   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
9105   {
9106     enum
9107     {
9108       value = true
9109     };
9110   };
9111 
9112   template <>
9113   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
9114   {
9115     enum
9116     {
9117       value = true
9118     };
9119   };
9120 
9121   template <>
9122   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
9123   {
9124     enum
9125     {
9126       value = true
9127     };
9128   };
9129 
9130   template <>
9131   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
9132   {
9133     enum
9134     {
9135       value = true
9136     };
9137   };
9138 
9139   template <>
9140   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
9141   {
9142     enum
9143     {
9144       value = true
9145     };
9146   };
9147 
9148   template <>
9149   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
9150   {
9151     enum
9152     {
9153       value = true
9154     };
9155   };
9156 
9157   template <>
9158   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
9159   {
9160     enum
9161     {
9162       value = true
9163     };
9164   };
9165 
9166   template <>
9167   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
9168   {
9169     enum
9170     {
9171       value = true
9172     };
9173   };
9174 
9175   template <>
9176   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
9177   {
9178     enum
9179     {
9180       value = true
9181     };
9182   };
9183 
9184   template <>
9185   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
9186   {
9187     enum
9188     {
9189       value = true
9190     };
9191   };
9192 
9193   template <>
9194   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
9195   {
9196     enum
9197     {
9198       value = true
9199     };
9200   };
9201 
9202   template <>
9203   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
9204   {
9205     enum
9206     {
9207       value = true
9208     };
9209   };
9210 
9211   template <>
9212   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
9213   {
9214     enum
9215     {
9216       value = true
9217     };
9218   };
9219 
9220   template <>
9221   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
9222   {
9223     enum
9224     {
9225       value = true
9226     };
9227   };
9228 
9229   template <>
9230   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
9231   {
9232     enum
9233     {
9234       value = true
9235     };
9236   };
9237 
9238   template <>
9239   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
9240   {
9241     enum
9242     {
9243       value = true
9244     };
9245   };
9246 
9247   template <>
9248   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
9249   {
9250     enum
9251     {
9252       value = true
9253     };
9254   };
9255 
9256   template <>
9257   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
9258   {
9259     enum
9260     {
9261       value = true
9262     };
9263   };
9264 
9265   template <>
9266   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
9267   {
9268     enum
9269     {
9270       value = true
9271     };
9272   };
9273 
9274   template <>
9275   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
9276   {
9277     enum
9278     {
9279       value = true
9280     };
9281   };
9282 
9283   template <>
9284   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
9285   {
9286     enum
9287     {
9288       value = true
9289     };
9290   };
9291 
9292   template <>
9293   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
9294   {
9295     enum
9296     {
9297       value = true
9298     };
9299   };
9300 
9301   template <>
9302   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
9303   {
9304     enum
9305     {
9306       value = true
9307     };
9308   };
9309 
9310   template <>
9311   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
9312   {
9313     enum
9314     {
9315       value = true
9316     };
9317   };
9318 
9319   template <>
9320   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
9321   {
9322     enum
9323     {
9324       value = true
9325     };
9326   };
9327 
9328   template <>
9329   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
9330   {
9331     enum
9332     {
9333       value = true
9334     };
9335   };
9336 
9337   template <>
9338   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
9339   {
9340     enum
9341     {
9342       value = true
9343     };
9344   };
9345 
9346   template <>
9347   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
9348   {
9349     enum
9350     {
9351       value = true
9352     };
9353   };
9354 
9355   template <>
9356   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
9357   {
9358     enum
9359     {
9360       value = true
9361     };
9362   };
9363 
9364   template <>
9365   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
9366   {
9367     enum
9368     {
9369       value = true
9370     };
9371   };
9372 
9373   template <>
9374   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
9375   {
9376     enum
9377     {
9378       value = true
9379     };
9380   };
9381 
9382   template <>
9383   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
9384   {
9385     enum
9386     {
9387       value = true
9388     };
9389   };
9390 
9391   template <>
9392   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
9393   {
9394     enum
9395     {
9396       value = true
9397     };
9398   };
9399 
9400   template <>
9401   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9402   {
9403     enum
9404     {
9405       value = true
9406     };
9407   };
9408 
9409   template <>
9410   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9411   {
9412     enum
9413     {
9414       value = true
9415     };
9416   };
9417 
9418   template <>
9419   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9420   {
9421     enum
9422     {
9423       value = true
9424     };
9425   };
9426 
9427   template <>
9428   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9429   {
9430     enum
9431     {
9432       value = true
9433     };
9434   };
9435 
9436   template <>
9437   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9438   {
9439     enum
9440     {
9441       value = true
9442     };
9443   };
9444 
9445   template <>
9446   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9447   {
9448     enum
9449     {
9450       value = true
9451     };
9452   };
9453 
9454   template <>
9455   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9456   {
9457     enum
9458     {
9459       value = true
9460     };
9461   };
9462 
9463   template <>
9464   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9465   {
9466     enum
9467     {
9468       value = true
9469     };
9470   };
9471 
9472   template <>
9473   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9474   {
9475     enum
9476     {
9477       value = true
9478     };
9479   };
9480 
9481   template <>
9482   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9483   {
9484     enum
9485     {
9486       value = true
9487     };
9488   };
9489 
9490   template <>
9491   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9492   {
9493     enum
9494     {
9495       value = true
9496     };
9497   };
9498 
9499   template <>
9500   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9501   {
9502     enum
9503     {
9504       value = true
9505     };
9506   };
9507 
9508   //=== VK_VERSION_1_2 ===
9509   template <>
9510   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9511   {
9512     enum
9513     {
9514       value = true
9515     };
9516   };
9517 
9518   template <>
9519   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9520   {
9521     enum
9522     {
9523       value = true
9524     };
9525   };
9526 
9527   template <>
9528   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9529   {
9530     enum
9531     {
9532       value = true
9533     };
9534   };
9535 
9536   template <>
9537   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9538   {
9539     enum
9540     {
9541       value = true
9542     };
9543   };
9544 
9545   template <>
9546   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9547   {
9548     enum
9549     {
9550       value = true
9551     };
9552   };
9553 
9554   template <>
9555   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9556   {
9557     enum
9558     {
9559       value = true
9560     };
9561   };
9562 
9563   template <>
9564   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9565   {
9566     enum
9567     {
9568       value = true
9569     };
9570   };
9571 
9572   template <>
9573   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9574   {
9575     enum
9576     {
9577       value = true
9578     };
9579   };
9580 
9581   template <>
9582   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9583   {
9584     enum
9585     {
9586       value = true
9587     };
9588   };
9589 
9590   template <>
9591   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9592   {
9593     enum
9594     {
9595       value = true
9596     };
9597   };
9598 
9599   template <>
9600   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9601   {
9602     enum
9603     {
9604       value = true
9605     };
9606   };
9607 
9608   template <>
9609   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9610   {
9611     enum
9612     {
9613       value = true
9614     };
9615   };
9616 
9617   template <>
9618   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9619   {
9620     enum
9621     {
9622       value = true
9623     };
9624   };
9625 
9626   template <>
9627   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9628   {
9629     enum
9630     {
9631       value = true
9632     };
9633   };
9634 
9635   template <>
9636   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9637   {
9638     enum
9639     {
9640       value = true
9641     };
9642   };
9643 
9644   template <>
9645   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9646   {
9647     enum
9648     {
9649       value = true
9650     };
9651   };
9652 
9653   template <>
9654   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9655   {
9656     enum
9657     {
9658       value = true
9659     };
9660   };
9661 
9662   template <>
9663   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9664   {
9665     enum
9666     {
9667       value = true
9668     };
9669   };
9670 
9671   template <>
9672   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9673   {
9674     enum
9675     {
9676       value = true
9677     };
9678   };
9679 
9680   template <>
9681   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9682   {
9683     enum
9684     {
9685       value = true
9686     };
9687   };
9688 
9689   template <>
9690   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9691   {
9692     enum
9693     {
9694       value = true
9695     };
9696   };
9697 
9698   template <>
9699   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9700   {
9701     enum
9702     {
9703       value = true
9704     };
9705   };
9706 
9707   template <>
9708   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9709   {
9710     enum
9711     {
9712       value = true
9713     };
9714   };
9715 
9716   template <>
9717   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9718   {
9719     enum
9720     {
9721       value = true
9722     };
9723   };
9724 
9725   template <>
9726   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9727   {
9728     enum
9729     {
9730       value = true
9731     };
9732   };
9733 
9734   template <>
9735   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9736   {
9737     enum
9738     {
9739       value = true
9740     };
9741   };
9742 
9743   template <>
9744   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9745   {
9746     enum
9747     {
9748       value = true
9749     };
9750   };
9751 
9752   template <>
9753   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9754   {
9755     enum
9756     {
9757       value = true
9758     };
9759   };
9760 
9761   template <>
9762   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9763   {
9764     enum
9765     {
9766       value = true
9767     };
9768   };
9769 
9770   template <>
9771   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9772   {
9773     enum
9774     {
9775       value = true
9776     };
9777   };
9778 
9779   template <>
9780   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9781   {
9782     enum
9783     {
9784       value = true
9785     };
9786   };
9787 
9788   template <>
9789   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9790   {
9791     enum
9792     {
9793       value = true
9794     };
9795   };
9796 
9797   template <>
9798   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9799   {
9800     enum
9801     {
9802       value = true
9803     };
9804   };
9805 
9806   template <>
9807   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9808   {
9809     enum
9810     {
9811       value = true
9812     };
9813   };
9814 
9815   template <>
9816   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9817   {
9818     enum
9819     {
9820       value = true
9821     };
9822   };
9823 
9824   template <>
9825   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9826   {
9827     enum
9828     {
9829       value = true
9830     };
9831   };
9832 
9833   template <>
9834   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9835   {
9836     enum
9837     {
9838       value = true
9839     };
9840   };
9841 
9842   template <>
9843   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9844   {
9845     enum
9846     {
9847       value = true
9848     };
9849   };
9850 
9851   template <>
9852   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9853   {
9854     enum
9855     {
9856       value = true
9857     };
9858   };
9859 
9860   template <>
9861   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9862   {
9863     enum
9864     {
9865       value = true
9866     };
9867   };
9868 
9869   template <>
9870   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9871   {
9872     enum
9873     {
9874       value = true
9875     };
9876   };
9877 
9878   template <>
9879   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9880   {
9881     enum
9882     {
9883       value = true
9884     };
9885   };
9886 
9887   template <>
9888   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9889   {
9890     enum
9891     {
9892       value = true
9893     };
9894   };
9895 
9896   template <>
9897   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9898   {
9899     enum
9900     {
9901       value = true
9902     };
9903   };
9904 
9905   template <>
9906   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9907   {
9908     enum
9909     {
9910       value = true
9911     };
9912   };
9913 
9914   template <>
9915   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9916   {
9917     enum
9918     {
9919       value = true
9920     };
9921   };
9922 
9923   template <>
9924   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9925   {
9926     enum
9927     {
9928       value = true
9929     };
9930   };
9931 
9932   template <>
9933   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9934   {
9935     enum
9936     {
9937       value = true
9938     };
9939   };
9940 
9941   template <>
9942   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9943   {
9944     enum
9945     {
9946       value = true
9947     };
9948   };
9949 
9950   template <>
9951   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9952   {
9953     enum
9954     {
9955       value = true
9956     };
9957   };
9958 
9959   template <>
9960   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9961   {
9962     enum
9963     {
9964       value = true
9965     };
9966   };
9967 
9968   template <>
9969   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9970   {
9971     enum
9972     {
9973       value = true
9974     };
9975   };
9976 
9977   template <>
9978   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9979   {
9980     enum
9981     {
9982       value = true
9983     };
9984   };
9985 
9986   template <>
9987   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9988   {
9989     enum
9990     {
9991       value = true
9992     };
9993   };
9994 
9995   template <>
9996   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9997   {
9998     enum
9999     {
10000       value = true
10001     };
10002   };
10003 
10004   template <>
10005   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
10006   {
10007     enum
10008     {
10009       value = true
10010     };
10011   };
10012 
10013   template <>
10014   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
10015   {
10016     enum
10017     {
10018       value = true
10019     };
10020   };
10021 
10022   template <>
10023   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
10024   {
10025     enum
10026     {
10027       value = true
10028     };
10029   };
10030 
10031   //=== VK_VERSION_1_3 ===
10032   template <>
10033   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
10034   {
10035     enum
10036     {
10037       value = true
10038     };
10039   };
10040 
10041   template <>
10042   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
10043   {
10044     enum
10045     {
10046       value = true
10047     };
10048   };
10049 
10050   template <>
10051   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
10052   {
10053     enum
10054     {
10055       value = true
10056     };
10057   };
10058 
10059   template <>
10060   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
10061   {
10062     enum
10063     {
10064       value = true
10065     };
10066   };
10067 
10068   template <>
10069   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
10070   {
10071     enum
10072     {
10073       value = true
10074     };
10075   };
10076 
10077   template <>
10078   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
10079   {
10080     enum
10081     {
10082       value = true
10083     };
10084   };
10085 
10086   template <>
10087   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
10088   {
10089     enum
10090     {
10091       value = true
10092     };
10093   };
10094 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
10095   template <>
10096   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
10097   {
10098     enum
10099     {
10100       value = true
10101     };
10102   };
10103 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
10104   template <>
10105   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
10106   {
10107     enum
10108     {
10109       value = true
10110     };
10111   };
10112 
10113   template <>
10114   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
10115   {
10116     enum
10117     {
10118       value = true
10119     };
10120   };
10121 
10122   template <>
10123   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
10124   {
10125     enum
10126     {
10127       value = true
10128     };
10129   };
10130 
10131   template <>
10132   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
10133   {
10134     enum
10135     {
10136       value = true
10137     };
10138   };
10139 
10140   template <>
10141   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
10142   {
10143     enum
10144     {
10145       value = true
10146     };
10147   };
10148 
10149   template <>
10150   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
10151   {
10152     enum
10153     {
10154       value = true
10155     };
10156   };
10157 
10158   template <>
10159   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
10160   {
10161     enum
10162     {
10163       value = true
10164     };
10165   };
10166 
10167   template <>
10168   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
10169   {
10170     enum
10171     {
10172       value = true
10173     };
10174   };
10175 
10176   template <>
10177   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
10178   {
10179     enum
10180     {
10181       value = true
10182     };
10183   };
10184 
10185   template <>
10186   struct StructExtends<MemoryBarrier2, SubpassDependency2>
10187   {
10188     enum
10189     {
10190       value = true
10191     };
10192   };
10193 
10194   template <>
10195   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
10196   {
10197     enum
10198     {
10199       value = true
10200     };
10201   };
10202 
10203   template <>
10204   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
10205   {
10206     enum
10207     {
10208       value = true
10209     };
10210   };
10211 
10212   template <>
10213   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
10214   {
10215     enum
10216     {
10217       value = true
10218     };
10219   };
10220 
10221   template <>
10222   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
10223   {
10224     enum
10225     {
10226       value = true
10227     };
10228   };
10229 
10230   template <>
10231   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
10232   {
10233     enum
10234     {
10235       value = true
10236     };
10237   };
10238 
10239   template <>
10240   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
10241   {
10242     enum
10243     {
10244       value = true
10245     };
10246   };
10247 
10248   template <>
10249   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
10250   {
10251     enum
10252     {
10253       value = true
10254     };
10255   };
10256 
10257   template <>
10258   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
10259   {
10260     enum
10261     {
10262       value = true
10263     };
10264   };
10265 
10266   template <>
10267   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
10268   {
10269     enum
10270     {
10271       value = true
10272     };
10273   };
10274 
10275   template <>
10276   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
10277   {
10278     enum
10279     {
10280       value = true
10281     };
10282   };
10283 
10284   template <>
10285   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
10286   {
10287     enum
10288     {
10289       value = true
10290     };
10291   };
10292 
10293   template <>
10294   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
10295   {
10296     enum
10297     {
10298       value = true
10299     };
10300   };
10301 
10302   template <>
10303   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
10304   {
10305     enum
10306     {
10307       value = true
10308     };
10309   };
10310 
10311   template <>
10312   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
10313   {
10314     enum
10315     {
10316       value = true
10317     };
10318   };
10319 
10320   template <>
10321   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
10322   {
10323     enum
10324     {
10325       value = true
10326     };
10327   };
10328 
10329   template <>
10330   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
10331   {
10332     enum
10333     {
10334       value = true
10335     };
10336   };
10337 
10338   template <>
10339   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
10340   {
10341     enum
10342     {
10343       value = true
10344     };
10345   };
10346 
10347   template <>
10348   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
10349   {
10350     enum
10351     {
10352       value = true
10353     };
10354   };
10355 
10356   template <>
10357   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
10358   {
10359     enum
10360     {
10361       value = true
10362     };
10363   };
10364 
10365   template <>
10366   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
10367   {
10368     enum
10369     {
10370       value = true
10371     };
10372   };
10373 
10374   template <>
10375   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
10376   {
10377     enum
10378     {
10379       value = true
10380     };
10381   };
10382 
10383   template <>
10384   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
10385   {
10386     enum
10387     {
10388       value = true
10389     };
10390   };
10391 
10392   template <>
10393   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
10394   {
10395     enum
10396     {
10397       value = true
10398     };
10399   };
10400 
10401   template <>
10402   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
10403   {
10404     enum
10405     {
10406       value = true
10407     };
10408   };
10409 
10410   template <>
10411   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10412   {
10413     enum
10414     {
10415       value = true
10416     };
10417   };
10418 
10419   template <>
10420   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10421   {
10422     enum
10423     {
10424       value = true
10425     };
10426   };
10427 
10428   template <>
10429   struct StructExtends<FormatProperties3, FormatProperties2>
10430   {
10431     enum
10432     {
10433       value = true
10434     };
10435   };
10436 
10437   template <>
10438   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10439   {
10440     enum
10441     {
10442       value = true
10443     };
10444   };
10445 
10446   template <>
10447   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10448   {
10449     enum
10450     {
10451       value = true
10452     };
10453   };
10454 
10455   template <>
10456   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10457   {
10458     enum
10459     {
10460       value = true
10461     };
10462   };
10463 
10464   //=== VK_VERSION_1_4 ===
10465   template <>
10466   struct StructExtends<PhysicalDeviceVulkan14Features, PhysicalDeviceFeatures2>
10467   {
10468     enum
10469     {
10470       value = true
10471     };
10472   };
10473 
10474   template <>
10475   struct StructExtends<PhysicalDeviceVulkan14Features, DeviceCreateInfo>
10476   {
10477     enum
10478     {
10479       value = true
10480     };
10481   };
10482 
10483   template <>
10484   struct StructExtends<PhysicalDeviceVulkan14Properties, PhysicalDeviceProperties2>
10485   {
10486     enum
10487     {
10488       value = true
10489     };
10490   };
10491 
10492   template <>
10493   struct StructExtends<DeviceQueueGlobalPriorityCreateInfo, DeviceQueueCreateInfo>
10494   {
10495     enum
10496     {
10497       value = true
10498     };
10499   };
10500 
10501   template <>
10502   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, PhysicalDeviceFeatures2>
10503   {
10504     enum
10505     {
10506       value = true
10507     };
10508   };
10509 
10510   template <>
10511   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, DeviceCreateInfo>
10512   {
10513     enum
10514     {
10515       value = true
10516     };
10517   };
10518 
10519   template <>
10520   struct StructExtends<QueueFamilyGlobalPriorityProperties, QueueFamilyProperties2>
10521   {
10522     enum
10523     {
10524       value = true
10525     };
10526   };
10527 
10528   template <>
10529   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, PhysicalDeviceFeatures2>
10530   {
10531     enum
10532     {
10533       value = true
10534     };
10535   };
10536 
10537   template <>
10538   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, DeviceCreateInfo>
10539   {
10540     enum
10541     {
10542       value = true
10543     };
10544   };
10545 
10546   template <>
10547   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, PhysicalDeviceFeatures2>
10548   {
10549     enum
10550     {
10551       value = true
10552     };
10553   };
10554 
10555   template <>
10556   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, DeviceCreateInfo>
10557   {
10558     enum
10559     {
10560       value = true
10561     };
10562   };
10563 
10564   template <>
10565   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, PhysicalDeviceFeatures2>
10566   {
10567     enum
10568     {
10569       value = true
10570     };
10571   };
10572 
10573   template <>
10574   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, DeviceCreateInfo>
10575   {
10576     enum
10577     {
10578       value = true
10579     };
10580   };
10581 
10582   template <>
10583   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, PhysicalDeviceFeatures2>
10584   {
10585     enum
10586     {
10587       value = true
10588     };
10589   };
10590 
10591   template <>
10592   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, DeviceCreateInfo>
10593   {
10594     enum
10595     {
10596       value = true
10597     };
10598   };
10599 
10600   template <>
10601   struct StructExtends<PhysicalDeviceLineRasterizationProperties, PhysicalDeviceProperties2>
10602   {
10603     enum
10604     {
10605       value = true
10606     };
10607   };
10608 
10609   template <>
10610   struct StructExtends<PipelineRasterizationLineStateCreateInfo, PipelineRasterizationStateCreateInfo>
10611   {
10612     enum
10613     {
10614       value = true
10615     };
10616   };
10617 
10618   template <>
10619   struct StructExtends<PhysicalDeviceVertexAttributeDivisorProperties, PhysicalDeviceProperties2>
10620   {
10621     enum
10622     {
10623       value = true
10624     };
10625   };
10626 
10627   template <>
10628   struct StructExtends<PipelineVertexInputDivisorStateCreateInfo, PipelineVertexInputStateCreateInfo>
10629   {
10630     enum
10631     {
10632       value = true
10633     };
10634   };
10635 
10636   template <>
10637   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, PhysicalDeviceFeatures2>
10638   {
10639     enum
10640     {
10641       value = true
10642     };
10643   };
10644 
10645   template <>
10646   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, DeviceCreateInfo>
10647   {
10648     enum
10649     {
10650       value = true
10651     };
10652   };
10653 
10654   template <>
10655   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, PhysicalDeviceFeatures2>
10656   {
10657     enum
10658     {
10659       value = true
10660     };
10661   };
10662 
10663   template <>
10664   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, DeviceCreateInfo>
10665   {
10666     enum
10667     {
10668       value = true
10669     };
10670   };
10671 
10672   template <>
10673   struct StructExtends<PhysicalDeviceMaintenance5Features, PhysicalDeviceFeatures2>
10674   {
10675     enum
10676     {
10677       value = true
10678     };
10679   };
10680 
10681   template <>
10682   struct StructExtends<PhysicalDeviceMaintenance5Features, DeviceCreateInfo>
10683   {
10684     enum
10685     {
10686       value = true
10687     };
10688   };
10689 
10690   template <>
10691   struct StructExtends<PhysicalDeviceMaintenance5Properties, PhysicalDeviceProperties2>
10692   {
10693     enum
10694     {
10695       value = true
10696     };
10697   };
10698 
10699   template <>
10700   struct StructExtends<PipelineCreateFlags2CreateInfo, ComputePipelineCreateInfo>
10701   {
10702     enum
10703     {
10704       value = true
10705     };
10706   };
10707 
10708   template <>
10709   struct StructExtends<PipelineCreateFlags2CreateInfo, GraphicsPipelineCreateInfo>
10710   {
10711     enum
10712     {
10713       value = true
10714     };
10715   };
10716 
10717   template <>
10718   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoNV>
10719   {
10720     enum
10721     {
10722       value = true
10723     };
10724   };
10725 
10726   template <>
10727   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoKHR>
10728   {
10729     enum
10730     {
10731       value = true
10732     };
10733   };
10734 
10735   template <>
10736   struct StructExtends<BufferUsageFlags2CreateInfo, BufferViewCreateInfo>
10737   {
10738     enum
10739     {
10740       value = true
10741     };
10742   };
10743 
10744   template <>
10745   struct StructExtends<BufferUsageFlags2CreateInfo, BufferCreateInfo>
10746   {
10747     enum
10748     {
10749       value = true
10750     };
10751   };
10752 
10753   template <>
10754   struct StructExtends<BufferUsageFlags2CreateInfo, PhysicalDeviceExternalBufferInfo>
10755   {
10756     enum
10757     {
10758       value = true
10759     };
10760   };
10761 
10762   template <>
10763   struct StructExtends<BufferUsageFlags2CreateInfo, DescriptorBufferBindingInfoEXT>
10764   {
10765     enum
10766     {
10767       value = true
10768     };
10769   };
10770 
10771   template <>
10772   struct StructExtends<PhysicalDevicePushDescriptorProperties, PhysicalDeviceProperties2>
10773   {
10774     enum
10775     {
10776       value = true
10777     };
10778   };
10779 
10780   template <>
10781   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, PhysicalDeviceFeatures2>
10782   {
10783     enum
10784     {
10785       value = true
10786     };
10787   };
10788 
10789   template <>
10790   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, DeviceCreateInfo>
10791   {
10792     enum
10793     {
10794       value = true
10795     };
10796   };
10797 
10798   template <>
10799   struct StructExtends<RenderingAttachmentLocationInfo, GraphicsPipelineCreateInfo>
10800   {
10801     enum
10802     {
10803       value = true
10804     };
10805   };
10806 
10807   template <>
10808   struct StructExtends<RenderingAttachmentLocationInfo, CommandBufferInheritanceInfo>
10809   {
10810     enum
10811     {
10812       value = true
10813     };
10814   };
10815 
10816   template <>
10817   struct StructExtends<RenderingInputAttachmentIndexInfo, GraphicsPipelineCreateInfo>
10818   {
10819     enum
10820     {
10821       value = true
10822     };
10823   };
10824 
10825   template <>
10826   struct StructExtends<RenderingInputAttachmentIndexInfo, CommandBufferInheritanceInfo>
10827   {
10828     enum
10829     {
10830       value = true
10831     };
10832   };
10833 
10834   template <>
10835   struct StructExtends<PhysicalDeviceMaintenance6Features, PhysicalDeviceFeatures2>
10836   {
10837     enum
10838     {
10839       value = true
10840     };
10841   };
10842 
10843   template <>
10844   struct StructExtends<PhysicalDeviceMaintenance6Features, DeviceCreateInfo>
10845   {
10846     enum
10847     {
10848       value = true
10849     };
10850   };
10851 
10852   template <>
10853   struct StructExtends<PhysicalDeviceMaintenance6Properties, PhysicalDeviceProperties2>
10854   {
10855     enum
10856     {
10857       value = true
10858     };
10859   };
10860 
10861   template <>
10862   struct StructExtends<BindMemoryStatus, BindBufferMemoryInfo>
10863   {
10864     enum
10865     {
10866       value = true
10867     };
10868   };
10869 
10870   template <>
10871   struct StructExtends<BindMemoryStatus, BindImageMemoryInfo>
10872   {
10873     enum
10874     {
10875       value = true
10876     };
10877   };
10878 
10879   template <>
10880   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, PhysicalDeviceFeatures2>
10881   {
10882     enum
10883     {
10884       value = true
10885     };
10886   };
10887 
10888   template <>
10889   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, DeviceCreateInfo>
10890   {
10891     enum
10892     {
10893       value = true
10894     };
10895   };
10896 
10897   template <>
10898   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, PhysicalDeviceFeatures2>
10899   {
10900     enum
10901     {
10902       value = true
10903     };
10904   };
10905 
10906   template <>
10907   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, DeviceCreateInfo>
10908   {
10909     enum
10910     {
10911       value = true
10912     };
10913   };
10914 
10915   template <>
10916   struct StructExtends<PhysicalDevicePipelineRobustnessProperties, PhysicalDeviceProperties2>
10917   {
10918     enum
10919     {
10920       value = true
10921     };
10922   };
10923 
10924   template <>
10925   struct StructExtends<PipelineRobustnessCreateInfo, GraphicsPipelineCreateInfo>
10926   {
10927     enum
10928     {
10929       value = true
10930     };
10931   };
10932 
10933   template <>
10934   struct StructExtends<PipelineRobustnessCreateInfo, ComputePipelineCreateInfo>
10935   {
10936     enum
10937     {
10938       value = true
10939     };
10940   };
10941 
10942   template <>
10943   struct StructExtends<PipelineRobustnessCreateInfo, PipelineShaderStageCreateInfo>
10944   {
10945     enum
10946     {
10947       value = true
10948     };
10949   };
10950 
10951   template <>
10952   struct StructExtends<PipelineRobustnessCreateInfo, RayTracingPipelineCreateInfoKHR>
10953   {
10954     enum
10955     {
10956       value = true
10957     };
10958   };
10959 
10960   template <>
10961   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, PhysicalDeviceFeatures2>
10962   {
10963     enum
10964     {
10965       value = true
10966     };
10967   };
10968 
10969   template <>
10970   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, DeviceCreateInfo>
10971   {
10972     enum
10973     {
10974       value = true
10975     };
10976   };
10977 
10978   template <>
10979   struct StructExtends<PhysicalDeviceHostImageCopyProperties, PhysicalDeviceProperties2>
10980   {
10981     enum
10982     {
10983       value = true
10984     };
10985   };
10986 
10987   template <>
10988   struct StructExtends<SubresourceHostMemcpySize, SubresourceLayout2>
10989   {
10990     enum
10991     {
10992       value = true
10993     };
10994   };
10995 
10996   template <>
10997   struct StructExtends<HostImageCopyDevicePerformanceQuery, ImageFormatProperties2>
10998   {
10999     enum
11000     {
11001       value = true
11002     };
11003   };
11004 
11005   //=== VK_KHR_swapchain ===
11006   template <>
11007   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
11008   {
11009     enum
11010     {
11011       value = true
11012     };
11013   };
11014 
11015   template <>
11016   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
11017   {
11018     enum
11019     {
11020       value = true
11021     };
11022   };
11023 
11024   template <>
11025   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
11026   {
11027     enum
11028     {
11029       value = true
11030     };
11031   };
11032 
11033   template <>
11034   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
11035   {
11036     enum
11037     {
11038       value = true
11039     };
11040   };
11041 
11042   //=== VK_KHR_display_swapchain ===
11043   template <>
11044   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
11045   {
11046     enum
11047     {
11048       value = true
11049     };
11050   };
11051 
11052   //=== VK_EXT_debug_report ===
11053   template <>
11054   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
11055   {
11056     enum
11057     {
11058       value = true
11059     };
11060   };
11061 
11062   //=== VK_AMD_rasterization_order ===
11063   template <>
11064   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
11065   {
11066     enum
11067     {
11068       value = true
11069     };
11070   };
11071 
11072   //=== VK_KHR_video_queue ===
11073   template <>
11074   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
11075   {
11076     enum
11077     {
11078       value = true
11079     };
11080   };
11081 
11082   template <>
11083   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
11084   {
11085     enum
11086     {
11087       value = true
11088     };
11089   };
11090 
11091   template <>
11092   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
11093   {
11094     enum
11095     {
11096       value = true
11097     };
11098   };
11099 
11100   template <>
11101   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
11102   {
11103     enum
11104     {
11105       value = true
11106     };
11107   };
11108 
11109   template <>
11110   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
11111   {
11112     enum
11113     {
11114       value = true
11115     };
11116   };
11117 
11118   template <>
11119   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
11120   {
11121     enum
11122     {
11123       value = true
11124     };
11125   };
11126 
11127   template <>
11128   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
11129   {
11130     enum
11131     {
11132       value = true
11133     };
11134   };
11135 
11136   //=== VK_KHR_video_decode_queue ===
11137   template <>
11138   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
11139   {
11140     enum
11141     {
11142       value = true
11143     };
11144   };
11145 
11146   template <>
11147   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
11148   {
11149     enum
11150     {
11151       value = true
11152     };
11153   };
11154 
11155   template <>
11156   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
11157   {
11158     enum
11159     {
11160       value = true
11161     };
11162   };
11163 
11164   //=== VK_NV_dedicated_allocation ===
11165   template <>
11166   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
11167   {
11168     enum
11169     {
11170       value = true
11171     };
11172   };
11173 
11174   template <>
11175   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
11176   {
11177     enum
11178     {
11179       value = true
11180     };
11181   };
11182 
11183   template <>
11184   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
11185   {
11186     enum
11187     {
11188       value = true
11189     };
11190   };
11191 
11192   //=== VK_EXT_transform_feedback ===
11193   template <>
11194   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
11195   {
11196     enum
11197     {
11198       value = true
11199     };
11200   };
11201 
11202   template <>
11203   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
11204   {
11205     enum
11206     {
11207       value = true
11208     };
11209   };
11210 
11211   template <>
11212   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
11213   {
11214     enum
11215     {
11216       value = true
11217     };
11218   };
11219 
11220   template <>
11221   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11222   {
11223     enum
11224     {
11225       value = true
11226     };
11227   };
11228 
11229   //=== VK_NVX_binary_import ===
11230   template <>
11231   struct StructExtends<CuModuleTexturingModeCreateInfoNVX, CuModuleCreateInfoNVX>
11232   {
11233     enum
11234     {
11235       value = true
11236     };
11237   };
11238 
11239   //=== VK_KHR_video_encode_h264 ===
11240   template <>
11241   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
11242   {
11243     enum
11244     {
11245       value = true
11246     };
11247   };
11248 
11249   template <>
11250   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
11251   {
11252     enum
11253     {
11254       value = true
11255     };
11256   };
11257 
11258   template <>
11259   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
11260   {
11261     enum
11262     {
11263       value = true
11264     };
11265   };
11266 
11267   template <>
11268   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11269   {
11270     enum
11271     {
11272       value = true
11273     };
11274   };
11275 
11276   template <>
11277   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11278   {
11279     enum
11280     {
11281       value = true
11282     };
11283   };
11284 
11285   template <>
11286   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
11287   {
11288     enum
11289     {
11290       value = true
11291     };
11292   };
11293 
11294   template <>
11295   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
11296   {
11297     enum
11298     {
11299       value = true
11300     };
11301   };
11302 
11303   template <>
11304   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
11305   {
11306     enum
11307     {
11308       value = true
11309     };
11310   };
11311 
11312   template <>
11313   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11314   {
11315     enum
11316     {
11317       value = true
11318     };
11319   };
11320 
11321   template <>
11322   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11323   {
11324     enum
11325     {
11326       value = true
11327     };
11328   };
11329 
11330   template <>
11331   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11332   {
11333     enum
11334     {
11335       value = true
11336     };
11337   };
11338 
11339   template <>
11340   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
11341   {
11342     enum
11343     {
11344       value = true
11345     };
11346   };
11347 
11348   template <>
11349   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
11350   {
11351     enum
11352     {
11353       value = true
11354     };
11355   };
11356 
11357   template <>
11358   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11359   {
11360     enum
11361     {
11362       value = true
11363     };
11364   };
11365 
11366   template <>
11367   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11368   {
11369     enum
11370     {
11371       value = true
11372     };
11373   };
11374 
11375   //=== VK_KHR_video_encode_h265 ===
11376   template <>
11377   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11378   {
11379     enum
11380     {
11381       value = true
11382     };
11383   };
11384 
11385   template <>
11386   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
11387   {
11388     enum
11389     {
11390       value = true
11391     };
11392   };
11393 
11394   template <>
11395   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
11396   {
11397     enum
11398     {
11399       value = true
11400     };
11401   };
11402 
11403   template <>
11404   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11405   {
11406     enum
11407     {
11408       value = true
11409     };
11410   };
11411 
11412   template <>
11413   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11414   {
11415     enum
11416     {
11417       value = true
11418     };
11419   };
11420 
11421   template <>
11422   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
11423   {
11424     enum
11425     {
11426       value = true
11427     };
11428   };
11429 
11430   template <>
11431   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
11432   {
11433     enum
11434     {
11435       value = true
11436     };
11437   };
11438 
11439   template <>
11440   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
11441   {
11442     enum
11443     {
11444       value = true
11445     };
11446   };
11447 
11448   template <>
11449   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11450   {
11451     enum
11452     {
11453       value = true
11454     };
11455   };
11456 
11457   template <>
11458   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11459   {
11460     enum
11461     {
11462       value = true
11463     };
11464   };
11465 
11466   template <>
11467   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11468   {
11469     enum
11470     {
11471       value = true
11472     };
11473   };
11474 
11475   template <>
11476   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
11477   {
11478     enum
11479     {
11480       value = true
11481     };
11482   };
11483 
11484   template <>
11485   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
11486   {
11487     enum
11488     {
11489       value = true
11490     };
11491   };
11492 
11493   template <>
11494   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11495   {
11496     enum
11497     {
11498       value = true
11499     };
11500   };
11501 
11502   template <>
11503   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11504   {
11505     enum
11506     {
11507       value = true
11508     };
11509   };
11510 
11511   //=== VK_KHR_video_decode_h264 ===
11512   template <>
11513   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11514   {
11515     enum
11516     {
11517       value = true
11518     };
11519   };
11520 
11521   template <>
11522   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11523   {
11524     enum
11525     {
11526       value = true
11527     };
11528   };
11529 
11530   template <>
11531   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
11532   {
11533     enum
11534     {
11535       value = true
11536     };
11537   };
11538 
11539   template <>
11540   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11541   {
11542     enum
11543     {
11544       value = true
11545     };
11546   };
11547 
11548   template <>
11549   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11550   {
11551     enum
11552     {
11553       value = true
11554     };
11555   };
11556 
11557   template <>
11558   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
11559   {
11560     enum
11561     {
11562       value = true
11563     };
11564   };
11565 
11566   template <>
11567   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11568   {
11569     enum
11570     {
11571       value = true
11572     };
11573   };
11574 
11575   //=== VK_AMD_texture_gather_bias_lod ===
11576   template <>
11577   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
11578   {
11579     enum
11580     {
11581       value = true
11582     };
11583   };
11584 
11585   //=== VK_NV_corner_sampled_image ===
11586   template <>
11587   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
11588   {
11589     enum
11590     {
11591       value = true
11592     };
11593   };
11594 
11595   template <>
11596   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
11597   {
11598     enum
11599     {
11600       value = true
11601     };
11602   };
11603 
11604   //=== VK_NV_external_memory ===
11605   template <>
11606   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
11607   {
11608     enum
11609     {
11610       value = true
11611     };
11612   };
11613 
11614   template <>
11615   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
11616   {
11617     enum
11618     {
11619       value = true
11620     };
11621   };
11622 
11623 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11624   //=== VK_NV_external_memory_win32 ===
11625   template <>
11626   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11627   {
11628     enum
11629     {
11630       value = true
11631     };
11632   };
11633 
11634   template <>
11635   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11636   {
11637     enum
11638     {
11639       value = true
11640     };
11641   };
11642 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11643 
11644 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11645   //=== VK_NV_win32_keyed_mutex ===
11646   template <>
11647   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
11648   {
11649     enum
11650     {
11651       value = true
11652     };
11653   };
11654 
11655   template <>
11656   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
11657   {
11658     enum
11659     {
11660       value = true
11661     };
11662   };
11663 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11664 
11665   //=== VK_EXT_validation_flags ===
11666   template <>
11667   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
11668   {
11669     enum
11670     {
11671       value = true
11672     };
11673   };
11674 
11675   //=== VK_EXT_astc_decode_mode ===
11676   template <>
11677   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
11678   {
11679     enum
11680     {
11681       value = true
11682     };
11683   };
11684 
11685   template <>
11686   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
11687   {
11688     enum
11689     {
11690       value = true
11691     };
11692   };
11693 
11694   template <>
11695   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
11696   {
11697     enum
11698     {
11699       value = true
11700     };
11701   };
11702 
11703 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11704   //=== VK_KHR_external_memory_win32 ===
11705   template <>
11706   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11707   {
11708     enum
11709     {
11710       value = true
11711     };
11712   };
11713 
11714   template <>
11715   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11716   {
11717     enum
11718     {
11719       value = true
11720     };
11721   };
11722 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11723 
11724   //=== VK_KHR_external_memory_fd ===
11725   template <>
11726   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
11727   {
11728     enum
11729     {
11730       value = true
11731     };
11732   };
11733 
11734 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11735   //=== VK_KHR_win32_keyed_mutex ===
11736   template <>
11737   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
11738   {
11739     enum
11740     {
11741       value = true
11742     };
11743   };
11744 
11745   template <>
11746   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
11747   {
11748     enum
11749     {
11750       value = true
11751     };
11752   };
11753 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11754 
11755 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11756   //=== VK_KHR_external_semaphore_win32 ===
11757   template <>
11758   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
11759   {
11760     enum
11761     {
11762       value = true
11763     };
11764   };
11765 
11766   template <>
11767   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
11768   {
11769     enum
11770     {
11771       value = true
11772     };
11773   };
11774 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11775 
11776   //=== VK_EXT_conditional_rendering ===
11777   template <>
11778   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
11779   {
11780     enum
11781     {
11782       value = true
11783     };
11784   };
11785 
11786   template <>
11787   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
11788   {
11789     enum
11790     {
11791       value = true
11792     };
11793   };
11794 
11795   template <>
11796   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
11797   {
11798     enum
11799     {
11800       value = true
11801     };
11802   };
11803 
11804   //=== VK_KHR_incremental_present ===
11805   template <>
11806   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
11807   {
11808     enum
11809     {
11810       value = true
11811     };
11812   };
11813 
11814   //=== VK_NV_clip_space_w_scaling ===
11815   template <>
11816   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
11817   {
11818     enum
11819     {
11820       value = true
11821     };
11822   };
11823 
11824   //=== VK_EXT_display_control ===
11825   template <>
11826   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11827   {
11828     enum
11829     {
11830       value = true
11831     };
11832   };
11833 
11834   //=== VK_GOOGLE_display_timing ===
11835   template <>
11836   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11837   {
11838     enum
11839     {
11840       value = true
11841     };
11842   };
11843 
11844   //=== VK_NVX_multiview_per_view_attributes ===
11845   template <>
11846   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11847   {
11848     enum
11849     {
11850       value = true
11851     };
11852   };
11853 
11854   template <>
11855   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
11856   {
11857     enum
11858     {
11859       value = true
11860     };
11861   };
11862 
11863   template <>
11864   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
11865   {
11866     enum
11867     {
11868       value = true
11869     };
11870   };
11871 
11872   template <>
11873   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
11874   {
11875     enum
11876     {
11877       value = true
11878     };
11879   };
11880 
11881   //=== VK_NV_viewport_swizzle ===
11882   template <>
11883   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11884   {
11885     enum
11886     {
11887       value = true
11888     };
11889   };
11890 
11891   //=== VK_EXT_discard_rectangles ===
11892   template <>
11893   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11894   {
11895     enum
11896     {
11897       value = true
11898     };
11899   };
11900 
11901   template <>
11902   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11903   {
11904     enum
11905     {
11906       value = true
11907     };
11908   };
11909 
11910   //=== VK_EXT_conservative_rasterization ===
11911   template <>
11912   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11913   {
11914     enum
11915     {
11916       value = true
11917     };
11918   };
11919 
11920   template <>
11921   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11922   {
11923     enum
11924     {
11925       value = true
11926     };
11927   };
11928 
11929   //=== VK_EXT_depth_clip_enable ===
11930   template <>
11931   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11932   {
11933     enum
11934     {
11935       value = true
11936     };
11937   };
11938 
11939   template <>
11940   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11941   {
11942     enum
11943     {
11944       value = true
11945     };
11946   };
11947 
11948   template <>
11949   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11950   {
11951     enum
11952     {
11953       value = true
11954     };
11955   };
11956 
11957   //=== VK_IMG_relaxed_line_rasterization ===
11958   template <>
11959   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11960   {
11961     enum
11962     {
11963       value = true
11964     };
11965   };
11966 
11967   template <>
11968   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11969   {
11970     enum
11971     {
11972       value = true
11973     };
11974   };
11975 
11976   //=== VK_KHR_shared_presentable_image ===
11977   template <>
11978   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11979   {
11980     enum
11981     {
11982       value = true
11983     };
11984   };
11985 
11986 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11987   //=== VK_KHR_external_fence_win32 ===
11988   template <>
11989   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11990   {
11991     enum
11992     {
11993       value = true
11994     };
11995   };
11996 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11997 
11998   //=== VK_KHR_performance_query ===
11999   template <>
12000   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
12001   {
12002     enum
12003     {
12004       value = true
12005     };
12006   };
12007 
12008   template <>
12009   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
12010   {
12011     enum
12012     {
12013       value = true
12014     };
12015   };
12016 
12017   template <>
12018   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
12019   {
12020     enum
12021     {
12022       value = true
12023     };
12024   };
12025 
12026   template <>
12027   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
12028   {
12029     enum
12030     {
12031       value = true
12032     };
12033   };
12034 
12035   template <>
12036   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
12037   {
12038     enum
12039     {
12040       value = true
12041     };
12042   };
12043 
12044   template <>
12045   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
12046   {
12047     enum
12048     {
12049       value = true
12050     };
12051   };
12052 
12053   //=== VK_EXT_debug_utils ===
12054   template <>
12055   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
12056   {
12057     enum
12058     {
12059       value = true
12060     };
12061   };
12062 
12063   template <>
12064   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
12065   {
12066     enum
12067     {
12068       value = true
12069     };
12070   };
12071 
12072 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
12073   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
12074   template <>
12075   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
12076   {
12077     enum
12078     {
12079       value = true
12080     };
12081   };
12082 
12083   template <>
12084   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
12085   {
12086     enum
12087     {
12088       value = true
12089     };
12090   };
12091 
12092   template <>
12093   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
12094   {
12095     enum
12096     {
12097       value = true
12098     };
12099   };
12100 
12101   template <>
12102   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
12103   {
12104     enum
12105     {
12106       value = true
12107     };
12108   };
12109 
12110   template <>
12111   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
12112   {
12113     enum
12114     {
12115       value = true
12116     };
12117   };
12118 
12119   template <>
12120   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
12121   {
12122     enum
12123     {
12124       value = true
12125     };
12126   };
12127 
12128   template <>
12129   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
12130   {
12131     enum
12132     {
12133       value = true
12134     };
12135   };
12136 
12137   template <>
12138   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
12139   {
12140     enum
12141     {
12142       value = true
12143     };
12144   };
12145 
12146   template <>
12147   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
12148   {
12149     enum
12150     {
12151       value = true
12152     };
12153   };
12154 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
12155 
12156 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12157   //=== VK_AMDX_shader_enqueue ===
12158   template <>
12159   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
12160   {
12161     enum
12162     {
12163       value = true
12164     };
12165   };
12166 
12167   template <>
12168   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
12169   {
12170     enum
12171     {
12172       value = true
12173     };
12174   };
12175 
12176   template <>
12177   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
12178   {
12179     enum
12180     {
12181       value = true
12182     };
12183   };
12184 
12185   template <>
12186   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
12187   {
12188     enum
12189     {
12190       value = true
12191     };
12192   };
12193 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12194 
12195   //=== VK_AMD_mixed_attachment_samples ===
12196   template <>
12197   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
12198   {
12199     enum
12200     {
12201       value = true
12202     };
12203   };
12204 
12205   template <>
12206   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
12207   {
12208     enum
12209     {
12210       value = true
12211     };
12212   };
12213 
12214   //=== VK_EXT_sample_locations ===
12215   template <>
12216   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
12217   {
12218     enum
12219     {
12220       value = true
12221     };
12222   };
12223 
12224   template <>
12225   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
12226   {
12227     enum
12228     {
12229       value = true
12230     };
12231   };
12232 
12233   template <>
12234   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
12235   {
12236     enum
12237     {
12238       value = true
12239     };
12240   };
12241 
12242   template <>
12243   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
12244   {
12245     enum
12246     {
12247       value = true
12248     };
12249   };
12250 
12251   template <>
12252   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
12253   {
12254     enum
12255     {
12256       value = true
12257     };
12258   };
12259 
12260   //=== VK_EXT_blend_operation_advanced ===
12261   template <>
12262   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
12263   {
12264     enum
12265     {
12266       value = true
12267     };
12268   };
12269 
12270   template <>
12271   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
12272   {
12273     enum
12274     {
12275       value = true
12276     };
12277   };
12278 
12279   template <>
12280   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
12281   {
12282     enum
12283     {
12284       value = true
12285     };
12286   };
12287 
12288   template <>
12289   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
12290   {
12291     enum
12292     {
12293       value = true
12294     };
12295   };
12296 
12297   //=== VK_NV_fragment_coverage_to_color ===
12298   template <>
12299   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12300   {
12301     enum
12302     {
12303       value = true
12304     };
12305   };
12306 
12307   //=== VK_KHR_acceleration_structure ===
12308   template <>
12309   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
12310   {
12311     enum
12312     {
12313       value = true
12314     };
12315   };
12316 
12317   template <>
12318   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
12319   {
12320     enum
12321     {
12322       value = true
12323     };
12324   };
12325 
12326   template <>
12327   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
12328   {
12329     enum
12330     {
12331       value = true
12332     };
12333   };
12334 
12335   template <>
12336   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
12337   {
12338     enum
12339     {
12340       value = true
12341     };
12342   };
12343 
12344   //=== VK_KHR_ray_tracing_pipeline ===
12345   template <>
12346   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
12347   {
12348     enum
12349     {
12350       value = true
12351     };
12352   };
12353 
12354   template <>
12355   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
12356   {
12357     enum
12358     {
12359       value = true
12360     };
12361   };
12362 
12363   template <>
12364   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
12365   {
12366     enum
12367     {
12368       value = true
12369     };
12370   };
12371 
12372   //=== VK_KHR_ray_query ===
12373   template <>
12374   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
12375   {
12376     enum
12377     {
12378       value = true
12379     };
12380   };
12381 
12382   template <>
12383   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
12384   {
12385     enum
12386     {
12387       value = true
12388     };
12389   };
12390 
12391   //=== VK_NV_framebuffer_mixed_samples ===
12392   template <>
12393   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12394   {
12395     enum
12396     {
12397       value = true
12398     };
12399   };
12400 
12401   //=== VK_NV_shader_sm_builtins ===
12402   template <>
12403   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
12404   {
12405     enum
12406     {
12407       value = true
12408     };
12409   };
12410 
12411   template <>
12412   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
12413   {
12414     enum
12415     {
12416       value = true
12417     };
12418   };
12419 
12420   template <>
12421   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
12422   {
12423     enum
12424     {
12425       value = true
12426     };
12427   };
12428 
12429   //=== VK_EXT_image_drm_format_modifier ===
12430   template <>
12431   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
12432   {
12433     enum
12434     {
12435       value = true
12436     };
12437   };
12438 
12439   template <>
12440   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
12441   {
12442     enum
12443     {
12444       value = true
12445     };
12446   };
12447 
12448   template <>
12449   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
12450   {
12451     enum
12452     {
12453       value = true
12454     };
12455   };
12456 
12457   template <>
12458   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
12459   {
12460     enum
12461     {
12462       value = true
12463     };
12464   };
12465 
12466   template <>
12467   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
12468   {
12469     enum
12470     {
12471       value = true
12472     };
12473   };
12474 
12475   //=== VK_EXT_validation_cache ===
12476   template <>
12477   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
12478   {
12479     enum
12480     {
12481       value = true
12482     };
12483   };
12484 
12485   template <>
12486   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
12487   {
12488     enum
12489     {
12490       value = true
12491     };
12492   };
12493 
12494 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12495   //=== VK_KHR_portability_subset ===
12496   template <>
12497   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
12498   {
12499     enum
12500     {
12501       value = true
12502     };
12503   };
12504 
12505   template <>
12506   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
12507   {
12508     enum
12509     {
12510       value = true
12511     };
12512   };
12513 
12514   template <>
12515   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
12516   {
12517     enum
12518     {
12519       value = true
12520     };
12521   };
12522 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12523 
12524   //=== VK_NV_shading_rate_image ===
12525   template <>
12526   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
12527   {
12528     enum
12529     {
12530       value = true
12531     };
12532   };
12533 
12534   template <>
12535   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
12536   {
12537     enum
12538     {
12539       value = true
12540     };
12541   };
12542 
12543   template <>
12544   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
12545   {
12546     enum
12547     {
12548       value = true
12549     };
12550   };
12551 
12552   template <>
12553   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
12554   {
12555     enum
12556     {
12557       value = true
12558     };
12559   };
12560 
12561   template <>
12562   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
12563   {
12564     enum
12565     {
12566       value = true
12567     };
12568   };
12569 
12570   //=== VK_NV_ray_tracing ===
12571   template <>
12572   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
12573   {
12574     enum
12575     {
12576       value = true
12577     };
12578   };
12579 
12580   template <>
12581   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
12582   {
12583     enum
12584     {
12585       value = true
12586     };
12587   };
12588 
12589   //=== VK_NV_representative_fragment_test ===
12590   template <>
12591   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
12592   {
12593     enum
12594     {
12595       value = true
12596     };
12597   };
12598 
12599   template <>
12600   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
12601   {
12602     enum
12603     {
12604       value = true
12605     };
12606   };
12607 
12608   template <>
12609   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
12610   {
12611     enum
12612     {
12613       value = true
12614     };
12615   };
12616 
12617   //=== VK_EXT_filter_cubic ===
12618   template <>
12619   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
12620   {
12621     enum
12622     {
12623       value = true
12624     };
12625   };
12626 
12627   template <>
12628   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
12629   {
12630     enum
12631     {
12632       value = true
12633     };
12634   };
12635 
12636   //=== VK_EXT_external_memory_host ===
12637   template <>
12638   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
12639   {
12640     enum
12641     {
12642       value = true
12643     };
12644   };
12645 
12646   template <>
12647   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
12648   {
12649     enum
12650     {
12651       value = true
12652     };
12653   };
12654 
12655   //=== VK_KHR_shader_clock ===
12656   template <>
12657   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
12658   {
12659     enum
12660     {
12661       value = true
12662     };
12663   };
12664 
12665   template <>
12666   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
12667   {
12668     enum
12669     {
12670       value = true
12671     };
12672   };
12673 
12674   //=== VK_AMD_pipeline_compiler_control ===
12675   template <>
12676   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
12677   {
12678     enum
12679     {
12680       value = true
12681     };
12682   };
12683 
12684   template <>
12685   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
12686   {
12687     enum
12688     {
12689       value = true
12690     };
12691   };
12692 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12693   template <>
12694   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
12695   {
12696     enum
12697     {
12698       value = true
12699     };
12700   };
12701 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12702 
12703   //=== VK_AMD_shader_core_properties ===
12704   template <>
12705   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
12706   {
12707     enum
12708     {
12709       value = true
12710     };
12711   };
12712 
12713   //=== VK_KHR_video_decode_h265 ===
12714   template <>
12715   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
12716   {
12717     enum
12718     {
12719       value = true
12720     };
12721   };
12722 
12723   template <>
12724   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
12725   {
12726     enum
12727     {
12728       value = true
12729     };
12730   };
12731 
12732   template <>
12733   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
12734   {
12735     enum
12736     {
12737       value = true
12738     };
12739   };
12740 
12741   template <>
12742   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
12743   {
12744     enum
12745     {
12746       value = true
12747     };
12748   };
12749 
12750   template <>
12751   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
12752   {
12753     enum
12754     {
12755       value = true
12756     };
12757   };
12758 
12759   template <>
12760   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
12761   {
12762     enum
12763     {
12764       value = true
12765     };
12766   };
12767 
12768   template <>
12769   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
12770   {
12771     enum
12772     {
12773       value = true
12774     };
12775   };
12776 
12777   //=== VK_AMD_memory_overallocation_behavior ===
12778   template <>
12779   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
12780   {
12781     enum
12782     {
12783       value = true
12784     };
12785   };
12786 
12787   //=== VK_EXT_vertex_attribute_divisor ===
12788   template <>
12789   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
12790   {
12791     enum
12792     {
12793       value = true
12794     };
12795   };
12796 
12797 #  if defined( VK_USE_PLATFORM_GGP )
12798   //=== VK_GGP_frame_token ===
12799   template <>
12800   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
12801   {
12802     enum
12803     {
12804       value = true
12805     };
12806   };
12807 #  endif /*VK_USE_PLATFORM_GGP*/
12808 
12809   //=== VK_NV_mesh_shader ===
12810   template <>
12811   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
12812   {
12813     enum
12814     {
12815       value = true
12816     };
12817   };
12818 
12819   template <>
12820   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12821   {
12822     enum
12823     {
12824       value = true
12825     };
12826   };
12827 
12828   template <>
12829   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12830   {
12831     enum
12832     {
12833       value = true
12834     };
12835   };
12836 
12837   //=== VK_NV_shader_image_footprint ===
12838   template <>
12839   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12840   {
12841     enum
12842     {
12843       value = true
12844     };
12845   };
12846 
12847   template <>
12848   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12849   {
12850     enum
12851     {
12852       value = true
12853     };
12854   };
12855 
12856   //=== VK_NV_scissor_exclusive ===
12857   template <>
12858   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12859   {
12860     enum
12861     {
12862       value = true
12863     };
12864   };
12865 
12866   template <>
12867   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12868   {
12869     enum
12870     {
12871       value = true
12872     };
12873   };
12874 
12875   template <>
12876   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12877   {
12878     enum
12879     {
12880       value = true
12881     };
12882   };
12883 
12884   //=== VK_NV_device_diagnostic_checkpoints ===
12885   template <>
12886   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12887   {
12888     enum
12889     {
12890       value = true
12891     };
12892   };
12893 
12894   template <>
12895   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
12896   {
12897     enum
12898     {
12899       value = true
12900     };
12901   };
12902 
12903   //=== VK_INTEL_shader_integer_functions2 ===
12904   template <>
12905   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12906   {
12907     enum
12908     {
12909       value = true
12910     };
12911   };
12912 
12913   template <>
12914   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12915   {
12916     enum
12917     {
12918       value = true
12919     };
12920   };
12921 
12922   //=== VK_INTEL_performance_query ===
12923   template <>
12924   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12925   {
12926     enum
12927     {
12928       value = true
12929     };
12930   };
12931 
12932   //=== VK_EXT_pci_bus_info ===
12933   template <>
12934   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12935   {
12936     enum
12937     {
12938       value = true
12939     };
12940   };
12941 
12942   //=== VK_AMD_display_native_hdr ===
12943   template <>
12944   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12945   {
12946     enum
12947     {
12948       value = true
12949     };
12950   };
12951 
12952   template <>
12953   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12954   {
12955     enum
12956     {
12957       value = true
12958     };
12959   };
12960 
12961   //=== VK_EXT_fragment_density_map ===
12962   template <>
12963   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12964   {
12965     enum
12966     {
12967       value = true
12968     };
12969   };
12970 
12971   template <>
12972   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12973   {
12974     enum
12975     {
12976       value = true
12977     };
12978   };
12979 
12980   template <>
12981   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12982   {
12983     enum
12984     {
12985       value = true
12986     };
12987   };
12988 
12989   template <>
12990   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12991   {
12992     enum
12993     {
12994       value = true
12995     };
12996   };
12997 
12998   template <>
12999   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
13000   {
13001     enum
13002     {
13003       value = true
13004     };
13005   };
13006 
13007   template <>
13008   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
13009   {
13010     enum
13011     {
13012       value = true
13013     };
13014   };
13015 
13016   //=== VK_KHR_fragment_shading_rate ===
13017   template <>
13018   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
13019   {
13020     enum
13021     {
13022       value = true
13023     };
13024   };
13025 
13026   template <>
13027   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
13028   {
13029     enum
13030     {
13031       value = true
13032     };
13033   };
13034 
13035   template <>
13036   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
13037   {
13038     enum
13039     {
13040       value = true
13041     };
13042   };
13043 
13044   template <>
13045   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
13046   {
13047     enum
13048     {
13049       value = true
13050     };
13051   };
13052 
13053   template <>
13054   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
13055   {
13056     enum
13057     {
13058       value = true
13059     };
13060   };
13061 
13062   template <>
13063   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
13064   {
13065     enum
13066     {
13067       value = true
13068     };
13069   };
13070 
13071   //=== VK_AMD_shader_core_properties2 ===
13072   template <>
13073   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
13074   {
13075     enum
13076     {
13077       value = true
13078     };
13079   };
13080 
13081   //=== VK_AMD_device_coherent_memory ===
13082   template <>
13083   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
13084   {
13085     enum
13086     {
13087       value = true
13088     };
13089   };
13090 
13091   template <>
13092   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
13093   {
13094     enum
13095     {
13096       value = true
13097     };
13098   };
13099 
13100   //=== VK_EXT_shader_image_atomic_int64 ===
13101   template <>
13102   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
13103   {
13104     enum
13105     {
13106       value = true
13107     };
13108   };
13109 
13110   template <>
13111   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
13112   {
13113     enum
13114     {
13115       value = true
13116     };
13117   };
13118 
13119   //=== VK_KHR_shader_quad_control ===
13120   template <>
13121   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, PhysicalDeviceFeatures2>
13122   {
13123     enum
13124     {
13125       value = true
13126     };
13127   };
13128 
13129   template <>
13130   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, DeviceCreateInfo>
13131   {
13132     enum
13133     {
13134       value = true
13135     };
13136   };
13137 
13138   //=== VK_EXT_memory_budget ===
13139   template <>
13140   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
13141   {
13142     enum
13143     {
13144       value = true
13145     };
13146   };
13147 
13148   //=== VK_EXT_memory_priority ===
13149   template <>
13150   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
13151   {
13152     enum
13153     {
13154       value = true
13155     };
13156   };
13157 
13158   template <>
13159   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
13160   {
13161     enum
13162     {
13163       value = true
13164     };
13165   };
13166 
13167   template <>
13168   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
13169   {
13170     enum
13171     {
13172       value = true
13173     };
13174   };
13175 
13176   //=== VK_KHR_surface_protected_capabilities ===
13177   template <>
13178   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
13179   {
13180     enum
13181     {
13182       value = true
13183     };
13184   };
13185 
13186   //=== VK_NV_dedicated_allocation_image_aliasing ===
13187   template <>
13188   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
13189   {
13190     enum
13191     {
13192       value = true
13193     };
13194   };
13195 
13196   template <>
13197   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
13198   {
13199     enum
13200     {
13201       value = true
13202     };
13203   };
13204 
13205   //=== VK_EXT_buffer_device_address ===
13206   template <>
13207   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
13208   {
13209     enum
13210     {
13211       value = true
13212     };
13213   };
13214 
13215   template <>
13216   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
13217   {
13218     enum
13219     {
13220       value = true
13221     };
13222   };
13223 
13224   template <>
13225   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
13226   {
13227     enum
13228     {
13229       value = true
13230     };
13231   };
13232 
13233   //=== VK_EXT_validation_features ===
13234   template <>
13235   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
13236   {
13237     enum
13238     {
13239       value = true
13240     };
13241   };
13242 
13243   template <>
13244   struct StructExtends<ValidationFeaturesEXT, ShaderModuleCreateInfo>
13245   {
13246     enum
13247     {
13248       value = true
13249     };
13250   };
13251 
13252   template <>
13253   struct StructExtends<ValidationFeaturesEXT, ShaderCreateInfoEXT>
13254   {
13255     enum
13256     {
13257       value = true
13258     };
13259   };
13260 
13261   //=== VK_KHR_present_wait ===
13262   template <>
13263   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
13264   {
13265     enum
13266     {
13267       value = true
13268     };
13269   };
13270 
13271   template <>
13272   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
13273   {
13274     enum
13275     {
13276       value = true
13277     };
13278   };
13279 
13280   //=== VK_NV_cooperative_matrix ===
13281   template <>
13282   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
13283   {
13284     enum
13285     {
13286       value = true
13287     };
13288   };
13289 
13290   template <>
13291   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
13292   {
13293     enum
13294     {
13295       value = true
13296     };
13297   };
13298 
13299   template <>
13300   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
13301   {
13302     enum
13303     {
13304       value = true
13305     };
13306   };
13307 
13308   //=== VK_NV_coverage_reduction_mode ===
13309   template <>
13310   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
13311   {
13312     enum
13313     {
13314       value = true
13315     };
13316   };
13317 
13318   template <>
13319   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
13320   {
13321     enum
13322     {
13323       value = true
13324     };
13325   };
13326 
13327   template <>
13328   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
13329   {
13330     enum
13331     {
13332       value = true
13333     };
13334   };
13335 
13336   //=== VK_EXT_fragment_shader_interlock ===
13337   template <>
13338   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
13339   {
13340     enum
13341     {
13342       value = true
13343     };
13344   };
13345 
13346   template <>
13347   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
13348   {
13349     enum
13350     {
13351       value = true
13352     };
13353   };
13354 
13355   //=== VK_EXT_ycbcr_image_arrays ===
13356   template <>
13357   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
13358   {
13359     enum
13360     {
13361       value = true
13362     };
13363   };
13364 
13365   template <>
13366   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
13367   {
13368     enum
13369     {
13370       value = true
13371     };
13372   };
13373 
13374   //=== VK_EXT_provoking_vertex ===
13375   template <>
13376   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
13377   {
13378     enum
13379     {
13380       value = true
13381     };
13382   };
13383 
13384   template <>
13385   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
13386   {
13387     enum
13388     {
13389       value = true
13390     };
13391   };
13392 
13393   template <>
13394   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
13395   {
13396     enum
13397     {
13398       value = true
13399     };
13400   };
13401 
13402   template <>
13403   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
13404   {
13405     enum
13406     {
13407       value = true
13408     };
13409   };
13410 
13411 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
13412   //=== VK_EXT_full_screen_exclusive ===
13413   template <>
13414   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13415   {
13416     enum
13417     {
13418       value = true
13419     };
13420   };
13421 
13422   template <>
13423   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
13424   {
13425     enum
13426     {
13427       value = true
13428     };
13429   };
13430 
13431   template <>
13432   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
13433   {
13434     enum
13435     {
13436       value = true
13437     };
13438   };
13439 
13440   template <>
13441   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13442   {
13443     enum
13444     {
13445       value = true
13446     };
13447   };
13448 
13449   template <>
13450   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
13451   {
13452     enum
13453     {
13454       value = true
13455     };
13456   };
13457 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
13458 
13459   //=== VK_EXT_shader_atomic_float ===
13460   template <>
13461   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
13462   {
13463     enum
13464     {
13465       value = true
13466     };
13467   };
13468 
13469   template <>
13470   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
13471   {
13472     enum
13473     {
13474       value = true
13475     };
13476   };
13477 
13478   //=== VK_EXT_extended_dynamic_state ===
13479   template <>
13480   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
13481   {
13482     enum
13483     {
13484       value = true
13485     };
13486   };
13487 
13488   template <>
13489   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
13490   {
13491     enum
13492     {
13493       value = true
13494     };
13495   };
13496 
13497   //=== VK_KHR_pipeline_executable_properties ===
13498   template <>
13499   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
13500   {
13501     enum
13502     {
13503       value = true
13504     };
13505   };
13506 
13507   template <>
13508   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
13509   {
13510     enum
13511     {
13512       value = true
13513     };
13514   };
13515 
13516   //=== VK_EXT_map_memory_placed ===
13517   template <>
13518   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, PhysicalDeviceFeatures2>
13519   {
13520     enum
13521     {
13522       value = true
13523     };
13524   };
13525 
13526   template <>
13527   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, DeviceCreateInfo>
13528   {
13529     enum
13530     {
13531       value = true
13532     };
13533   };
13534 
13535   template <>
13536   struct StructExtends<PhysicalDeviceMapMemoryPlacedPropertiesEXT, PhysicalDeviceProperties2>
13537   {
13538     enum
13539     {
13540       value = true
13541     };
13542   };
13543 
13544   template <>
13545   struct StructExtends<MemoryMapPlacedInfoEXT, MemoryMapInfo>
13546   {
13547     enum
13548     {
13549       value = true
13550     };
13551   };
13552 
13553   //=== VK_EXT_shader_atomic_float2 ===
13554   template <>
13555   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
13556   {
13557     enum
13558     {
13559       value = true
13560     };
13561   };
13562 
13563   template <>
13564   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
13565   {
13566     enum
13567     {
13568       value = true
13569     };
13570   };
13571 
13572   //=== VK_EXT_surface_maintenance1 ===
13573   template <>
13574   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
13575   {
13576     enum
13577     {
13578       value = true
13579     };
13580   };
13581 
13582   template <>
13583   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
13584   {
13585     enum
13586     {
13587       value = true
13588     };
13589   };
13590 
13591   template <>
13592   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
13593   {
13594     enum
13595     {
13596       value = true
13597     };
13598   };
13599 
13600   //=== VK_EXT_swapchain_maintenance1 ===
13601   template <>
13602   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
13603   {
13604     enum
13605     {
13606       value = true
13607     };
13608   };
13609 
13610   template <>
13611   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
13612   {
13613     enum
13614     {
13615       value = true
13616     };
13617   };
13618 
13619   template <>
13620   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
13621   {
13622     enum
13623     {
13624       value = true
13625     };
13626   };
13627 
13628   template <>
13629   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
13630   {
13631     enum
13632     {
13633       value = true
13634     };
13635   };
13636 
13637   template <>
13638   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
13639   {
13640     enum
13641     {
13642       value = true
13643     };
13644   };
13645 
13646   template <>
13647   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
13648   {
13649     enum
13650     {
13651       value = true
13652     };
13653   };
13654 
13655   //=== VK_NV_device_generated_commands ===
13656   template <>
13657   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
13658   {
13659     enum
13660     {
13661       value = true
13662     };
13663   };
13664 
13665   template <>
13666   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
13667   {
13668     enum
13669     {
13670       value = true
13671     };
13672   };
13673 
13674   template <>
13675   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
13676   {
13677     enum
13678     {
13679       value = true
13680     };
13681   };
13682 
13683   template <>
13684   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
13685   {
13686     enum
13687     {
13688       value = true
13689     };
13690   };
13691 
13692   //=== VK_NV_inherited_viewport_scissor ===
13693   template <>
13694   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
13695   {
13696     enum
13697     {
13698       value = true
13699     };
13700   };
13701 
13702   template <>
13703   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
13704   {
13705     enum
13706     {
13707       value = true
13708     };
13709   };
13710 
13711   template <>
13712   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
13713   {
13714     enum
13715     {
13716       value = true
13717     };
13718   };
13719 
13720   //=== VK_EXT_texel_buffer_alignment ===
13721   template <>
13722   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
13723   {
13724     enum
13725     {
13726       value = true
13727     };
13728   };
13729 
13730   template <>
13731   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
13732   {
13733     enum
13734     {
13735       value = true
13736     };
13737   };
13738 
13739   //=== VK_QCOM_render_pass_transform ===
13740   template <>
13741   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
13742   {
13743     enum
13744     {
13745       value = true
13746     };
13747   };
13748 
13749   template <>
13750   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
13751   {
13752     enum
13753     {
13754       value = true
13755     };
13756   };
13757 
13758   //=== VK_EXT_depth_bias_control ===
13759   template <>
13760   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
13761   {
13762     enum
13763     {
13764       value = true
13765     };
13766   };
13767 
13768   template <>
13769   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
13770   {
13771     enum
13772     {
13773       value = true
13774     };
13775   };
13776 
13777   template <>
13778   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
13779   {
13780     enum
13781     {
13782       value = true
13783     };
13784   };
13785 
13786   template <>
13787   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
13788   {
13789     enum
13790     {
13791       value = true
13792     };
13793   };
13794 
13795   //=== VK_EXT_device_memory_report ===
13796   template <>
13797   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
13798   {
13799     enum
13800     {
13801       value = true
13802     };
13803   };
13804 
13805   template <>
13806   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
13807   {
13808     enum
13809     {
13810       value = true
13811     };
13812   };
13813 
13814   template <>
13815   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13816   {
13817     enum
13818     {
13819       value = true
13820     };
13821   };
13822 
13823   //=== VK_EXT_robustness2 ===
13824   template <>
13825   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13826   {
13827     enum
13828     {
13829       value = true
13830     };
13831   };
13832 
13833   template <>
13834   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13835   {
13836     enum
13837     {
13838       value = true
13839     };
13840   };
13841 
13842   template <>
13843   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13844   {
13845     enum
13846     {
13847       value = true
13848     };
13849   };
13850 
13851   //=== VK_EXT_custom_border_color ===
13852   template <>
13853   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13854   {
13855     enum
13856     {
13857       value = true
13858     };
13859   };
13860 
13861   template <>
13862   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13863   {
13864     enum
13865     {
13866       value = true
13867     };
13868   };
13869 
13870   template <>
13871   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13872   {
13873     enum
13874     {
13875       value = true
13876     };
13877   };
13878 
13879   template <>
13880   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13881   {
13882     enum
13883     {
13884       value = true
13885     };
13886   };
13887 
13888   //=== VK_KHR_pipeline_library ===
13889   template <>
13890   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13891   {
13892     enum
13893     {
13894       value = true
13895     };
13896   };
13897 
13898   //=== VK_NV_present_barrier ===
13899   template <>
13900   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13901   {
13902     enum
13903     {
13904       value = true
13905     };
13906   };
13907 
13908   template <>
13909   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13910   {
13911     enum
13912     {
13913       value = true
13914     };
13915   };
13916 
13917   template <>
13918   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13919   {
13920     enum
13921     {
13922       value = true
13923     };
13924   };
13925 
13926   template <>
13927   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13928   {
13929     enum
13930     {
13931       value = true
13932     };
13933   };
13934 
13935   //=== VK_KHR_present_id ===
13936   template <>
13937   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13938   {
13939     enum
13940     {
13941       value = true
13942     };
13943   };
13944 
13945   template <>
13946   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13947   {
13948     enum
13949     {
13950       value = true
13951     };
13952   };
13953 
13954   template <>
13955   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13956   {
13957     enum
13958     {
13959       value = true
13960     };
13961   };
13962 
13963   //=== VK_KHR_video_encode_queue ===
13964   template <>
13965   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13966   {
13967     enum
13968     {
13969       value = true
13970     };
13971   };
13972 
13973   template <>
13974   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13975   {
13976     enum
13977     {
13978       value = true
13979     };
13980   };
13981 
13982   template <>
13983   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13984   {
13985     enum
13986     {
13987       value = true
13988     };
13989   };
13990 
13991   template <>
13992   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13993   {
13994     enum
13995     {
13996       value = true
13997     };
13998   };
13999 
14000   template <>
14001   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
14002   {
14003     enum
14004     {
14005       value = true
14006     };
14007   };
14008 
14009   template <>
14010   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
14011   {
14012     enum
14013     {
14014       value = true
14015     };
14016   };
14017 
14018   template <>
14019   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
14020   {
14021     enum
14022     {
14023       value = true
14024     };
14025   };
14026 
14027   template <>
14028   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
14029   {
14030     enum
14031     {
14032       value = true
14033     };
14034   };
14035 
14036   //=== VK_NV_device_diagnostics_config ===
14037   template <>
14038   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
14039   {
14040     enum
14041     {
14042       value = true
14043     };
14044   };
14045 
14046   template <>
14047   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
14048   {
14049     enum
14050     {
14051       value = true
14052     };
14053   };
14054 
14055   template <>
14056   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
14057   {
14058     enum
14059     {
14060       value = true
14061     };
14062   };
14063 
14064 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
14065   //=== VK_NV_cuda_kernel_launch ===
14066   template <>
14067   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
14068   {
14069     enum
14070     {
14071       value = true
14072     };
14073   };
14074 
14075   template <>
14076   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
14077   {
14078     enum
14079     {
14080       value = true
14081     };
14082   };
14083 
14084   template <>
14085   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
14086   {
14087     enum
14088     {
14089       value = true
14090     };
14091   };
14092 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
14093 
14094   //=== VK_NV_low_latency ===
14095   template <>
14096   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
14097   {
14098     enum
14099     {
14100       value = true
14101     };
14102   };
14103 
14104 #  if defined( VK_USE_PLATFORM_METAL_EXT )
14105   //=== VK_EXT_metal_objects ===
14106   template <>
14107   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
14108   {
14109     enum
14110     {
14111       value = true
14112     };
14113   };
14114 
14115   template <>
14116   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
14117   {
14118     enum
14119     {
14120       value = true
14121     };
14122   };
14123 
14124   template <>
14125   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
14126   {
14127     enum
14128     {
14129       value = true
14130     };
14131   };
14132 
14133   template <>
14134   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
14135   {
14136     enum
14137     {
14138       value = true
14139     };
14140   };
14141 
14142   template <>
14143   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
14144   {
14145     enum
14146     {
14147       value = true
14148     };
14149   };
14150 
14151   template <>
14152   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
14153   {
14154     enum
14155     {
14156       value = true
14157     };
14158   };
14159 
14160   template <>
14161   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
14162   {
14163     enum
14164     {
14165       value = true
14166     };
14167   };
14168 
14169   template <>
14170   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
14171   {
14172     enum
14173     {
14174       value = true
14175     };
14176   };
14177 
14178   template <>
14179   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
14180   {
14181     enum
14182     {
14183       value = true
14184     };
14185   };
14186 
14187   template <>
14188   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
14189   {
14190     enum
14191     {
14192       value = true
14193     };
14194   };
14195 
14196   template <>
14197   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
14198   {
14199     enum
14200     {
14201       value = true
14202     };
14203   };
14204 
14205   template <>
14206   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
14207   {
14208     enum
14209     {
14210       value = true
14211     };
14212   };
14213 
14214   template <>
14215   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
14216   {
14217     enum
14218     {
14219       value = true
14220     };
14221   };
14222 
14223   template <>
14224   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
14225   {
14226     enum
14227     {
14228       value = true
14229     };
14230   };
14231 
14232   template <>
14233   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
14234   {
14235     enum
14236     {
14237       value = true
14238     };
14239   };
14240 
14241   template <>
14242   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
14243   {
14244     enum
14245     {
14246       value = true
14247     };
14248   };
14249 
14250   template <>
14251   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
14252   {
14253     enum
14254     {
14255       value = true
14256     };
14257   };
14258 
14259   template <>
14260   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
14261   {
14262     enum
14263     {
14264       value = true
14265     };
14266   };
14267 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
14268 
14269   //=== VK_EXT_descriptor_buffer ===
14270   template <>
14271   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
14272   {
14273     enum
14274     {
14275       value = true
14276     };
14277   };
14278 
14279   template <>
14280   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
14281   {
14282     enum
14283     {
14284       value = true
14285     };
14286   };
14287 
14288   template <>
14289   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
14290   {
14291     enum
14292     {
14293       value = true
14294     };
14295   };
14296 
14297   template <>
14298   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
14299   {
14300     enum
14301     {
14302       value = true
14303     };
14304   };
14305 
14306   template <>
14307   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
14308   {
14309     enum
14310     {
14311       value = true
14312     };
14313   };
14314 
14315   template <>
14316   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
14317   {
14318     enum
14319     {
14320       value = true
14321     };
14322   };
14323 
14324   template <>
14325   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
14326   {
14327     enum
14328     {
14329       value = true
14330     };
14331   };
14332 
14333   template <>
14334   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
14335   {
14336     enum
14337     {
14338       value = true
14339     };
14340   };
14341 
14342   template <>
14343   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
14344   {
14345     enum
14346     {
14347       value = true
14348     };
14349   };
14350 
14351   template <>
14352   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
14353   {
14354     enum
14355     {
14356       value = true
14357     };
14358   };
14359 
14360   template <>
14361   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
14362   {
14363     enum
14364     {
14365       value = true
14366     };
14367   };
14368 
14369   //=== VK_EXT_graphics_pipeline_library ===
14370   template <>
14371   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
14372   {
14373     enum
14374     {
14375       value = true
14376     };
14377   };
14378 
14379   template <>
14380   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
14381   {
14382     enum
14383     {
14384       value = true
14385     };
14386   };
14387 
14388   template <>
14389   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
14390   {
14391     enum
14392     {
14393       value = true
14394     };
14395   };
14396 
14397   template <>
14398   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
14399   {
14400     enum
14401     {
14402       value = true
14403     };
14404   };
14405 
14406   //=== VK_AMD_shader_early_and_late_fragment_tests ===
14407   template <>
14408   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
14409   {
14410     enum
14411     {
14412       value = true
14413     };
14414   };
14415 
14416   template <>
14417   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
14418   {
14419     enum
14420     {
14421       value = true
14422     };
14423   };
14424 
14425   //=== VK_KHR_fragment_shader_barycentric ===
14426   template <>
14427   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
14428   {
14429     enum
14430     {
14431       value = true
14432     };
14433   };
14434 
14435   template <>
14436   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
14437   {
14438     enum
14439     {
14440       value = true
14441     };
14442   };
14443 
14444   template <>
14445   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
14446   {
14447     enum
14448     {
14449       value = true
14450     };
14451   };
14452 
14453   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
14454   template <>
14455   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
14456   {
14457     enum
14458     {
14459       value = true
14460     };
14461   };
14462 
14463   template <>
14464   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
14465   {
14466     enum
14467     {
14468       value = true
14469     };
14470   };
14471 
14472   //=== VK_NV_fragment_shading_rate_enums ===
14473   template <>
14474   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
14475   {
14476     enum
14477     {
14478       value = true
14479     };
14480   };
14481 
14482   template <>
14483   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
14484   {
14485     enum
14486     {
14487       value = true
14488     };
14489   };
14490 
14491   template <>
14492   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
14493   {
14494     enum
14495     {
14496       value = true
14497     };
14498   };
14499 
14500   template <>
14501   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
14502   {
14503     enum
14504     {
14505       value = true
14506     };
14507   };
14508 
14509   //=== VK_NV_ray_tracing_motion_blur ===
14510   template <>
14511   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
14512   {
14513     enum
14514     {
14515       value = true
14516     };
14517   };
14518 
14519   template <>
14520   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
14521   {
14522     enum
14523     {
14524       value = true
14525     };
14526   };
14527 
14528   template <>
14529   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
14530   {
14531     enum
14532     {
14533       value = true
14534     };
14535   };
14536 
14537   template <>
14538   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
14539   {
14540     enum
14541     {
14542       value = true
14543     };
14544   };
14545 
14546   //=== VK_EXT_mesh_shader ===
14547   template <>
14548   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
14549   {
14550     enum
14551     {
14552       value = true
14553     };
14554   };
14555 
14556   template <>
14557   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
14558   {
14559     enum
14560     {
14561       value = true
14562     };
14563   };
14564 
14565   template <>
14566   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
14567   {
14568     enum
14569     {
14570       value = true
14571     };
14572   };
14573 
14574   //=== VK_EXT_ycbcr_2plane_444_formats ===
14575   template <>
14576   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14577   {
14578     enum
14579     {
14580       value = true
14581     };
14582   };
14583 
14584   template <>
14585   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
14586   {
14587     enum
14588     {
14589       value = true
14590     };
14591   };
14592 
14593   //=== VK_EXT_fragment_density_map2 ===
14594   template <>
14595   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
14596   {
14597     enum
14598     {
14599       value = true
14600     };
14601   };
14602 
14603   template <>
14604   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
14605   {
14606     enum
14607     {
14608       value = true
14609     };
14610   };
14611 
14612   template <>
14613   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
14614   {
14615     enum
14616     {
14617       value = true
14618     };
14619   };
14620 
14621   //=== VK_QCOM_rotated_copy_commands ===
14622   template <>
14623   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
14624   {
14625     enum
14626     {
14627       value = true
14628     };
14629   };
14630 
14631   template <>
14632   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
14633   {
14634     enum
14635     {
14636       value = true
14637     };
14638   };
14639 
14640   //=== VK_KHR_workgroup_memory_explicit_layout ===
14641   template <>
14642   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
14643   {
14644     enum
14645     {
14646       value = true
14647     };
14648   };
14649 
14650   template <>
14651   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
14652   {
14653     enum
14654     {
14655       value = true
14656     };
14657   };
14658 
14659   //=== VK_EXT_image_compression_control ===
14660   template <>
14661   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
14662   {
14663     enum
14664     {
14665       value = true
14666     };
14667   };
14668 
14669   template <>
14670   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
14671   {
14672     enum
14673     {
14674       value = true
14675     };
14676   };
14677 
14678   template <>
14679   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
14680   {
14681     enum
14682     {
14683       value = true
14684     };
14685   };
14686 
14687   template <>
14688   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
14689   {
14690     enum
14691     {
14692       value = true
14693     };
14694   };
14695 
14696   template <>
14697   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
14698   {
14699     enum
14700     {
14701       value = true
14702     };
14703   };
14704 
14705   template <>
14706   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
14707   {
14708     enum
14709     {
14710       value = true
14711     };
14712   };
14713 
14714   template <>
14715   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
14716   {
14717     enum
14718     {
14719       value = true
14720     };
14721   };
14722 
14723   template <>
14724   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2>
14725   {
14726     enum
14727     {
14728       value = true
14729     };
14730   };
14731 
14732   //=== VK_EXT_attachment_feedback_loop_layout ===
14733   template <>
14734   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
14735   {
14736     enum
14737     {
14738       value = true
14739     };
14740   };
14741 
14742   template <>
14743   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
14744   {
14745     enum
14746     {
14747       value = true
14748     };
14749   };
14750 
14751   //=== VK_EXT_4444_formats ===
14752   template <>
14753   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14754   {
14755     enum
14756     {
14757       value = true
14758     };
14759   };
14760 
14761   template <>
14762   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
14763   {
14764     enum
14765     {
14766       value = true
14767     };
14768   };
14769 
14770   //=== VK_EXT_device_fault ===
14771   template <>
14772   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
14773   {
14774     enum
14775     {
14776       value = true
14777     };
14778   };
14779 
14780   template <>
14781   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
14782   {
14783     enum
14784     {
14785       value = true
14786     };
14787   };
14788 
14789   //=== VK_EXT_rgba10x6_formats ===
14790   template <>
14791   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14792   {
14793     enum
14794     {
14795       value = true
14796     };
14797   };
14798 
14799   template <>
14800   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
14801   {
14802     enum
14803     {
14804       value = true
14805     };
14806   };
14807 
14808   //=== VK_EXT_vertex_input_dynamic_state ===
14809   template <>
14810   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14811   {
14812     enum
14813     {
14814       value = true
14815     };
14816   };
14817 
14818   template <>
14819   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14820   {
14821     enum
14822     {
14823       value = true
14824     };
14825   };
14826 
14827   //=== VK_EXT_physical_device_drm ===
14828   template <>
14829   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14830   {
14831     enum
14832     {
14833       value = true
14834     };
14835   };
14836 
14837   //=== VK_EXT_device_address_binding_report ===
14838   template <>
14839   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14840   {
14841     enum
14842     {
14843       value = true
14844     };
14845   };
14846 
14847   template <>
14848   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14849   {
14850     enum
14851     {
14852       value = true
14853     };
14854   };
14855 
14856   template <>
14857   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14858   {
14859     enum
14860     {
14861       value = true
14862     };
14863   };
14864 
14865   //=== VK_EXT_depth_clip_control ===
14866   template <>
14867   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14868   {
14869     enum
14870     {
14871       value = true
14872     };
14873   };
14874 
14875   template <>
14876   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14877   {
14878     enum
14879     {
14880       value = true
14881     };
14882   };
14883 
14884   template <>
14885   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14886   {
14887     enum
14888     {
14889       value = true
14890     };
14891   };
14892 
14893   //=== VK_EXT_primitive_topology_list_restart ===
14894   template <>
14895   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14896   {
14897     enum
14898     {
14899       value = true
14900     };
14901   };
14902 
14903   template <>
14904   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14905   {
14906     enum
14907     {
14908       value = true
14909     };
14910   };
14911 
14912   //=== VK_EXT_present_mode_fifo_latest_ready ===
14913   template <>
14914   struct StructExtends<PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT, PhysicalDeviceFeatures2>
14915   {
14916     enum
14917     {
14918       value = true
14919     };
14920   };
14921 
14922   template <>
14923   struct StructExtends<PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT, DeviceCreateInfo>
14924   {
14925     enum
14926     {
14927       value = true
14928     };
14929   };
14930 
14931 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14932   //=== VK_FUCHSIA_external_memory ===
14933   template <>
14934   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14935   {
14936     enum
14937     {
14938       value = true
14939     };
14940   };
14941 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14942 
14943 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14944   //=== VK_FUCHSIA_buffer_collection ===
14945   template <>
14946   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14947   {
14948     enum
14949     {
14950       value = true
14951     };
14952   };
14953 
14954   template <>
14955   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14956   {
14957     enum
14958     {
14959       value = true
14960     };
14961   };
14962 
14963   template <>
14964   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14965   {
14966     enum
14967     {
14968       value = true
14969     };
14970   };
14971 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14972 
14973   //=== VK_HUAWEI_subpass_shading ===
14974   template <>
14975   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14976   {
14977     enum
14978     {
14979       value = true
14980     };
14981   };
14982 
14983   template <>
14984   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14985   {
14986     enum
14987     {
14988       value = true
14989     };
14990   };
14991 
14992   template <>
14993   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14994   {
14995     enum
14996     {
14997       value = true
14998     };
14999   };
15000 
15001   template <>
15002   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
15003   {
15004     enum
15005     {
15006       value = true
15007     };
15008   };
15009 
15010   //=== VK_HUAWEI_invocation_mask ===
15011   template <>
15012   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
15013   {
15014     enum
15015     {
15016       value = true
15017     };
15018   };
15019 
15020   template <>
15021   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
15022   {
15023     enum
15024     {
15025       value = true
15026     };
15027   };
15028 
15029   //=== VK_NV_external_memory_rdma ===
15030   template <>
15031   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
15032   {
15033     enum
15034     {
15035       value = true
15036     };
15037   };
15038 
15039   template <>
15040   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
15041   {
15042     enum
15043     {
15044       value = true
15045     };
15046   };
15047 
15048   //=== VK_EXT_pipeline_properties ===
15049   template <>
15050   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
15051   {
15052     enum
15053     {
15054       value = true
15055     };
15056   };
15057 
15058   template <>
15059   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
15060   {
15061     enum
15062     {
15063       value = true
15064     };
15065   };
15066 
15067   //=== VK_EXT_frame_boundary ===
15068   template <>
15069   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
15070   {
15071     enum
15072     {
15073       value = true
15074     };
15075   };
15076 
15077   template <>
15078   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
15079   {
15080     enum
15081     {
15082       value = true
15083     };
15084   };
15085 
15086   template <>
15087   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
15088   {
15089     enum
15090     {
15091       value = true
15092     };
15093   };
15094 
15095   template <>
15096   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
15097   {
15098     enum
15099     {
15100       value = true
15101     };
15102   };
15103 
15104   template <>
15105   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
15106   {
15107     enum
15108     {
15109       value = true
15110     };
15111   };
15112 
15113   template <>
15114   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
15115   {
15116     enum
15117     {
15118       value = true
15119     };
15120   };
15121 
15122   //=== VK_EXT_multisampled_render_to_single_sampled ===
15123   template <>
15124   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
15125   {
15126     enum
15127     {
15128       value = true
15129     };
15130   };
15131 
15132   template <>
15133   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
15134   {
15135     enum
15136     {
15137       value = true
15138     };
15139   };
15140 
15141   template <>
15142   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
15143   {
15144     enum
15145     {
15146       value = true
15147     };
15148   };
15149 
15150   template <>
15151   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
15152   {
15153     enum
15154     {
15155       value = true
15156     };
15157   };
15158 
15159   template <>
15160   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
15161   {
15162     enum
15163     {
15164       value = true
15165     };
15166   };
15167 
15168   //=== VK_EXT_extended_dynamic_state2 ===
15169   template <>
15170   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
15171   {
15172     enum
15173     {
15174       value = true
15175     };
15176   };
15177 
15178   template <>
15179   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
15180   {
15181     enum
15182     {
15183       value = true
15184     };
15185   };
15186 
15187   //=== VK_EXT_color_write_enable ===
15188   template <>
15189   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
15190   {
15191     enum
15192     {
15193       value = true
15194     };
15195   };
15196 
15197   template <>
15198   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
15199   {
15200     enum
15201     {
15202       value = true
15203     };
15204   };
15205 
15206   template <>
15207   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
15208   {
15209     enum
15210     {
15211       value = true
15212     };
15213   };
15214 
15215   //=== VK_EXT_primitives_generated_query ===
15216   template <>
15217   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
15218   {
15219     enum
15220     {
15221       value = true
15222     };
15223   };
15224 
15225   template <>
15226   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
15227   {
15228     enum
15229     {
15230       value = true
15231     };
15232   };
15233 
15234   //=== VK_KHR_ray_tracing_maintenance1 ===
15235   template <>
15236   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
15237   {
15238     enum
15239     {
15240       value = true
15241     };
15242   };
15243 
15244   template <>
15245   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
15246   {
15247     enum
15248     {
15249       value = true
15250     };
15251   };
15252 
15253   //=== VK_EXT_image_view_min_lod ===
15254   template <>
15255   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
15256   {
15257     enum
15258     {
15259       value = true
15260     };
15261   };
15262 
15263   template <>
15264   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
15265   {
15266     enum
15267     {
15268       value = true
15269     };
15270   };
15271 
15272   template <>
15273   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
15274   {
15275     enum
15276     {
15277       value = true
15278     };
15279   };
15280 
15281   //=== VK_EXT_multi_draw ===
15282   template <>
15283   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
15284   {
15285     enum
15286     {
15287       value = true
15288     };
15289   };
15290 
15291   template <>
15292   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
15293   {
15294     enum
15295     {
15296       value = true
15297     };
15298   };
15299 
15300   template <>
15301   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
15302   {
15303     enum
15304     {
15305       value = true
15306     };
15307   };
15308 
15309   //=== VK_EXT_image_2d_view_of_3d ===
15310   template <>
15311   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15312   {
15313     enum
15314     {
15315       value = true
15316     };
15317   };
15318 
15319   template <>
15320   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
15321   {
15322     enum
15323     {
15324       value = true
15325     };
15326   };
15327 
15328   //=== VK_EXT_shader_tile_image ===
15329   template <>
15330   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
15331   {
15332     enum
15333     {
15334       value = true
15335     };
15336   };
15337 
15338   template <>
15339   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
15340   {
15341     enum
15342     {
15343       value = true
15344     };
15345   };
15346 
15347   template <>
15348   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
15349   {
15350     enum
15351     {
15352       value = true
15353     };
15354   };
15355 
15356   //=== VK_EXT_opacity_micromap ===
15357   template <>
15358   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
15359   {
15360     enum
15361     {
15362       value = true
15363     };
15364   };
15365 
15366   template <>
15367   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
15368   {
15369     enum
15370     {
15371       value = true
15372     };
15373   };
15374 
15375   template <>
15376   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
15377   {
15378     enum
15379     {
15380       value = true
15381     };
15382   };
15383 
15384   template <>
15385   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
15386   {
15387     enum
15388     {
15389       value = true
15390     };
15391   };
15392 
15393 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
15394   //=== VK_NV_displacement_micromap ===
15395   template <>
15396   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
15397   {
15398     enum
15399     {
15400       value = true
15401     };
15402   };
15403 
15404   template <>
15405   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
15406   {
15407     enum
15408     {
15409       value = true
15410     };
15411   };
15412 
15413   template <>
15414   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
15415   {
15416     enum
15417     {
15418       value = true
15419     };
15420   };
15421 
15422   template <>
15423   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
15424   {
15425     enum
15426     {
15427       value = true
15428     };
15429   };
15430 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
15431 
15432   //=== VK_HUAWEI_cluster_culling_shader ===
15433   template <>
15434   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
15435   {
15436     enum
15437     {
15438       value = true
15439     };
15440   };
15441 
15442   template <>
15443   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
15444   {
15445     enum
15446     {
15447       value = true
15448     };
15449   };
15450 
15451   template <>
15452   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
15453   {
15454     enum
15455     {
15456       value = true
15457     };
15458   };
15459 
15460   template <>
15461   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
15462   {
15463     enum
15464     {
15465       value = true
15466     };
15467   };
15468 
15469   //=== VK_EXT_border_color_swizzle ===
15470   template <>
15471   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
15472   {
15473     enum
15474     {
15475       value = true
15476     };
15477   };
15478 
15479   template <>
15480   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
15481   {
15482     enum
15483     {
15484       value = true
15485     };
15486   };
15487 
15488   template <>
15489   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
15490   {
15491     enum
15492     {
15493       value = true
15494     };
15495   };
15496 
15497   //=== VK_EXT_pageable_device_local_memory ===
15498   template <>
15499   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
15500   {
15501     enum
15502     {
15503       value = true
15504     };
15505   };
15506 
15507   template <>
15508   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
15509   {
15510     enum
15511     {
15512       value = true
15513     };
15514   };
15515 
15516   //=== VK_ARM_shader_core_properties ===
15517   template <>
15518   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
15519   {
15520     enum
15521     {
15522       value = true
15523     };
15524   };
15525 
15526   //=== VK_ARM_scheduling_controls ===
15527   template <>
15528   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
15529   {
15530     enum
15531     {
15532       value = true
15533     };
15534   };
15535 
15536   template <>
15537   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
15538   {
15539     enum
15540     {
15541       value = true
15542     };
15543   };
15544 
15545   template <>
15546   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
15547   {
15548     enum
15549     {
15550       value = true
15551     };
15552   };
15553 
15554   template <>
15555   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
15556   {
15557     enum
15558     {
15559       value = true
15560     };
15561   };
15562 
15563   template <>
15564   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
15565   {
15566     enum
15567     {
15568       value = true
15569     };
15570   };
15571 
15572   //=== VK_EXT_image_sliced_view_of_3d ===
15573   template <>
15574   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15575   {
15576     enum
15577     {
15578       value = true
15579     };
15580   };
15581 
15582   template <>
15583   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
15584   {
15585     enum
15586     {
15587       value = true
15588     };
15589   };
15590 
15591   template <>
15592   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
15593   {
15594     enum
15595     {
15596       value = true
15597     };
15598   };
15599 
15600   //=== VK_VALVE_descriptor_set_host_mapping ===
15601   template <>
15602   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
15603   {
15604     enum
15605     {
15606       value = true
15607     };
15608   };
15609 
15610   template <>
15611   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
15612   {
15613     enum
15614     {
15615       value = true
15616     };
15617   };
15618 
15619   //=== VK_EXT_non_seamless_cube_map ===
15620   template <>
15621   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
15622   {
15623     enum
15624     {
15625       value = true
15626     };
15627   };
15628 
15629   template <>
15630   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
15631   {
15632     enum
15633     {
15634       value = true
15635     };
15636   };
15637 
15638   //=== VK_ARM_render_pass_striped ===
15639   template <>
15640   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
15641   {
15642     enum
15643     {
15644       value = true
15645     };
15646   };
15647 
15648   template <>
15649   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
15650   {
15651     enum
15652     {
15653       value = true
15654     };
15655   };
15656 
15657   template <>
15658   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
15659   {
15660     enum
15661     {
15662       value = true
15663     };
15664   };
15665 
15666   template <>
15667   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
15668   {
15669     enum
15670     {
15671       value = true
15672     };
15673   };
15674 
15675   template <>
15676   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
15677   {
15678     enum
15679     {
15680       value = true
15681     };
15682   };
15683 
15684   template <>
15685   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
15686   {
15687     enum
15688     {
15689       value = true
15690     };
15691   };
15692 
15693   //=== VK_QCOM_fragment_density_map_offset ===
15694   template <>
15695   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
15696   {
15697     enum
15698     {
15699       value = true
15700     };
15701   };
15702 
15703   template <>
15704   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
15705   {
15706     enum
15707     {
15708       value = true
15709     };
15710   };
15711 
15712   template <>
15713   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
15714   {
15715     enum
15716     {
15717       value = true
15718     };
15719   };
15720 
15721   template <>
15722   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
15723   {
15724     enum
15725     {
15726       value = true
15727     };
15728   };
15729 
15730   //=== VK_NV_copy_memory_indirect ===
15731   template <>
15732   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
15733   {
15734     enum
15735     {
15736       value = true
15737     };
15738   };
15739 
15740   template <>
15741   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
15742   {
15743     enum
15744     {
15745       value = true
15746     };
15747   };
15748 
15749   template <>
15750   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
15751   {
15752     enum
15753     {
15754       value = true
15755     };
15756   };
15757 
15758   //=== VK_NV_memory_decompression ===
15759   template <>
15760   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
15761   {
15762     enum
15763     {
15764       value = true
15765     };
15766   };
15767 
15768   template <>
15769   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
15770   {
15771     enum
15772     {
15773       value = true
15774     };
15775   };
15776 
15777   template <>
15778   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
15779   {
15780     enum
15781     {
15782       value = true
15783     };
15784   };
15785 
15786   //=== VK_NV_device_generated_commands_compute ===
15787   template <>
15788   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
15789   {
15790     enum
15791     {
15792       value = true
15793     };
15794   };
15795 
15796   template <>
15797   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
15798   {
15799     enum
15800     {
15801       value = true
15802     };
15803   };
15804 
15805   template <>
15806   struct StructExtends<ComputePipelineIndirectBufferInfoNV, ComputePipelineCreateInfo>
15807   {
15808     enum
15809     {
15810       value = true
15811     };
15812   };
15813 
15814   //=== VK_NV_ray_tracing_linear_swept_spheres ===
15815   template <>
15816   struct StructExtends<PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, PhysicalDeviceFeatures2>
15817   {
15818     enum
15819     {
15820       value = true
15821     };
15822   };
15823 
15824   template <>
15825   struct StructExtends<PhysicalDeviceRayTracingLinearSweptSpheresFeaturesNV, DeviceCreateInfo>
15826   {
15827     enum
15828     {
15829       value = true
15830     };
15831   };
15832 
15833   template <>
15834   struct StructExtends<AccelerationStructureGeometryLinearSweptSpheresDataNV, AccelerationStructureGeometryKHR>
15835   {
15836     enum
15837     {
15838       value = true
15839     };
15840   };
15841 
15842   template <>
15843   struct StructExtends<AccelerationStructureGeometrySpheresDataNV, AccelerationStructureGeometryKHR>
15844   {
15845     enum
15846     {
15847       value = true
15848     };
15849   };
15850 
15851   //=== VK_NV_linear_color_attachment ===
15852   template <>
15853   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15854   {
15855     enum
15856     {
15857       value = true
15858     };
15859   };
15860 
15861   template <>
15862   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15863   {
15864     enum
15865     {
15866       value = true
15867     };
15868   };
15869 
15870   //=== VK_KHR_shader_maximal_reconvergence ===
15871   template <>
15872   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, PhysicalDeviceFeatures2>
15873   {
15874     enum
15875     {
15876       value = true
15877     };
15878   };
15879 
15880   template <>
15881   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, DeviceCreateInfo>
15882   {
15883     enum
15884     {
15885       value = true
15886     };
15887   };
15888 
15889   //=== VK_EXT_image_compression_control_swapchain ===
15890   template <>
15891   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15892   {
15893     enum
15894     {
15895       value = true
15896     };
15897   };
15898 
15899   template <>
15900   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15901   {
15902     enum
15903     {
15904       value = true
15905     };
15906   };
15907 
15908   //=== VK_QCOM_image_processing ===
15909   template <>
15910   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15911   {
15912     enum
15913     {
15914       value = true
15915     };
15916   };
15917 
15918   template <>
15919   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15920   {
15921     enum
15922     {
15923       value = true
15924     };
15925   };
15926 
15927   template <>
15928   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15929   {
15930     enum
15931     {
15932       value = true
15933     };
15934   };
15935 
15936   template <>
15937   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15938   {
15939     enum
15940     {
15941       value = true
15942     };
15943   };
15944 
15945   //=== VK_EXT_nested_command_buffer ===
15946   template <>
15947   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15948   {
15949     enum
15950     {
15951       value = true
15952     };
15953   };
15954 
15955   template <>
15956   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15957   {
15958     enum
15959     {
15960       value = true
15961     };
15962   };
15963 
15964   template <>
15965   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15966   {
15967     enum
15968     {
15969       value = true
15970     };
15971   };
15972 
15973   //=== VK_EXT_external_memory_acquire_unmodified ===
15974   template <>
15975   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15976   {
15977     enum
15978     {
15979       value = true
15980     };
15981   };
15982 
15983   template <>
15984   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15985   {
15986     enum
15987     {
15988       value = true
15989     };
15990   };
15991 
15992   template <>
15993   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15994   {
15995     enum
15996     {
15997       value = true
15998     };
15999   };
16000 
16001   template <>
16002   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
16003   {
16004     enum
16005     {
16006       value = true
16007     };
16008   };
16009 
16010   //=== VK_EXT_extended_dynamic_state3 ===
16011   template <>
16012   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
16013   {
16014     enum
16015     {
16016       value = true
16017     };
16018   };
16019 
16020   template <>
16021   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
16022   {
16023     enum
16024     {
16025       value = true
16026     };
16027   };
16028 
16029   template <>
16030   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
16031   {
16032     enum
16033     {
16034       value = true
16035     };
16036   };
16037 
16038   //=== VK_EXT_subpass_merge_feedback ===
16039   template <>
16040   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
16041   {
16042     enum
16043     {
16044       value = true
16045     };
16046   };
16047 
16048   template <>
16049   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
16050   {
16051     enum
16052     {
16053       value = true
16054     };
16055   };
16056 
16057   template <>
16058   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
16059   {
16060     enum
16061     {
16062       value = true
16063     };
16064   };
16065 
16066   template <>
16067   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
16068   {
16069     enum
16070     {
16071       value = true
16072     };
16073   };
16074 
16075   template <>
16076   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
16077   {
16078     enum
16079     {
16080       value = true
16081     };
16082   };
16083 
16084   template <>
16085   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
16086   {
16087     enum
16088     {
16089       value = true
16090     };
16091   };
16092 
16093   //=== VK_LUNARG_direct_driver_loading ===
16094   template <>
16095   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
16096   {
16097     enum
16098     {
16099       value = true
16100     };
16101   };
16102 
16103   //=== VK_EXT_shader_module_identifier ===
16104   template <>
16105   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
16106   {
16107     enum
16108     {
16109       value = true
16110     };
16111   };
16112 
16113   template <>
16114   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
16115   {
16116     enum
16117     {
16118       value = true
16119     };
16120   };
16121 
16122   template <>
16123   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
16124   {
16125     enum
16126     {
16127       value = true
16128     };
16129   };
16130 
16131   template <>
16132   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
16133   {
16134     enum
16135     {
16136       value = true
16137     };
16138   };
16139 
16140   //=== VK_EXT_rasterization_order_attachment_access ===
16141   template <>
16142   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
16143   {
16144     enum
16145     {
16146       value = true
16147     };
16148   };
16149 
16150   template <>
16151   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
16152   {
16153     enum
16154     {
16155       value = true
16156     };
16157   };
16158 
16159   //=== VK_NV_optical_flow ===
16160   template <>
16161   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
16162   {
16163     enum
16164     {
16165       value = true
16166     };
16167   };
16168 
16169   template <>
16170   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
16171   {
16172     enum
16173     {
16174       value = true
16175     };
16176   };
16177 
16178   template <>
16179   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
16180   {
16181     enum
16182     {
16183       value = true
16184     };
16185   };
16186 
16187   template <>
16188   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
16189   {
16190     enum
16191     {
16192       value = true
16193     };
16194   };
16195 
16196   template <>
16197   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
16198   {
16199     enum
16200     {
16201       value = true
16202     };
16203   };
16204 
16205   template <>
16206   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
16207   {
16208     enum
16209     {
16210       value = true
16211     };
16212   };
16213 
16214   //=== VK_EXT_legacy_dithering ===
16215   template <>
16216   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
16217   {
16218     enum
16219     {
16220       value = true
16221     };
16222   };
16223 
16224   template <>
16225   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
16226   {
16227     enum
16228     {
16229       value = true
16230     };
16231   };
16232 
16233 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
16234   //=== VK_ANDROID_external_format_resolve ===
16235   template <>
16236   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
16237   {
16238     enum
16239     {
16240       value = true
16241     };
16242   };
16243 
16244   template <>
16245   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
16246   {
16247     enum
16248     {
16249       value = true
16250     };
16251   };
16252 
16253   template <>
16254   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
16255   {
16256     enum
16257     {
16258       value = true
16259     };
16260   };
16261 
16262   template <>
16263   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
16264   {
16265     enum
16266     {
16267       value = true
16268     };
16269   };
16270 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16271 
16272   //=== VK_AMD_anti_lag ===
16273   template <>
16274   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, PhysicalDeviceFeatures2>
16275   {
16276     enum
16277     {
16278       value = true
16279     };
16280   };
16281 
16282   template <>
16283   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, DeviceCreateInfo>
16284   {
16285     enum
16286     {
16287       value = true
16288     };
16289   };
16290 
16291   //=== VK_KHR_ray_tracing_position_fetch ===
16292   template <>
16293   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
16294   {
16295     enum
16296     {
16297       value = true
16298     };
16299   };
16300 
16301   template <>
16302   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
16303   {
16304     enum
16305     {
16306       value = true
16307     };
16308   };
16309 
16310   //=== VK_EXT_shader_object ===
16311   template <>
16312   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
16313   {
16314     enum
16315     {
16316       value = true
16317     };
16318   };
16319 
16320   template <>
16321   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
16322   {
16323     enum
16324     {
16325       value = true
16326     };
16327   };
16328 
16329   template <>
16330   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
16331   {
16332     enum
16333     {
16334       value = true
16335     };
16336   };
16337 
16338   //=== VK_KHR_pipeline_binary ===
16339   template <>
16340   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, PhysicalDeviceFeatures2>
16341   {
16342     enum
16343     {
16344       value = true
16345     };
16346   };
16347 
16348   template <>
16349   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, DeviceCreateInfo>
16350   {
16351     enum
16352     {
16353       value = true
16354     };
16355   };
16356 
16357   template <>
16358   struct StructExtends<PhysicalDevicePipelineBinaryPropertiesKHR, PhysicalDeviceProperties2>
16359   {
16360     enum
16361     {
16362       value = true
16363     };
16364   };
16365 
16366   template <>
16367   struct StructExtends<DevicePipelineBinaryInternalCacheControlKHR, DeviceCreateInfo>
16368   {
16369     enum
16370     {
16371       value = true
16372     };
16373   };
16374 
16375   template <>
16376   struct StructExtends<PipelineBinaryInfoKHR, GraphicsPipelineCreateInfo>
16377   {
16378     enum
16379     {
16380       value = true
16381     };
16382   };
16383 
16384   template <>
16385   struct StructExtends<PipelineBinaryInfoKHR, ComputePipelineCreateInfo>
16386   {
16387     enum
16388     {
16389       value = true
16390     };
16391   };
16392 
16393   template <>
16394   struct StructExtends<PipelineBinaryInfoKHR, RayTracingPipelineCreateInfoKHR>
16395   {
16396     enum
16397     {
16398       value = true
16399     };
16400   };
16401 
16402   //=== VK_QCOM_tile_properties ===
16403   template <>
16404   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
16405   {
16406     enum
16407     {
16408       value = true
16409     };
16410   };
16411 
16412   template <>
16413   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
16414   {
16415     enum
16416     {
16417       value = true
16418     };
16419   };
16420 
16421   //=== VK_SEC_amigo_profiling ===
16422   template <>
16423   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
16424   {
16425     enum
16426     {
16427       value = true
16428     };
16429   };
16430 
16431   template <>
16432   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
16433   {
16434     enum
16435     {
16436       value = true
16437     };
16438   };
16439 
16440   template <>
16441   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
16442   {
16443     enum
16444     {
16445       value = true
16446     };
16447   };
16448 
16449   //=== VK_QCOM_multiview_per_view_viewports ===
16450   template <>
16451   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
16452   {
16453     enum
16454     {
16455       value = true
16456     };
16457   };
16458 
16459   template <>
16460   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
16461   {
16462     enum
16463     {
16464       value = true
16465     };
16466   };
16467 
16468   //=== VK_NV_ray_tracing_invocation_reorder ===
16469   template <>
16470   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
16471   {
16472     enum
16473     {
16474       value = true
16475     };
16476   };
16477 
16478   template <>
16479   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
16480   {
16481     enum
16482     {
16483       value = true
16484     };
16485   };
16486 
16487   template <>
16488   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
16489   {
16490     enum
16491     {
16492       value = true
16493     };
16494   };
16495 
16496   //=== VK_NV_cooperative_vector ===
16497   template <>
16498   struct StructExtends<PhysicalDeviceCooperativeVectorPropertiesNV, PhysicalDeviceProperties2>
16499   {
16500     enum
16501     {
16502       value = true
16503     };
16504   };
16505 
16506   template <>
16507   struct StructExtends<PhysicalDeviceCooperativeVectorFeaturesNV, PhysicalDeviceFeatures2>
16508   {
16509     enum
16510     {
16511       value = true
16512     };
16513   };
16514 
16515   template <>
16516   struct StructExtends<PhysicalDeviceCooperativeVectorFeaturesNV, DeviceCreateInfo>
16517   {
16518     enum
16519     {
16520       value = true
16521     };
16522   };
16523 
16524   //=== VK_NV_extended_sparse_address_space ===
16525   template <>
16526   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
16527   {
16528     enum
16529     {
16530       value = true
16531     };
16532   };
16533 
16534   template <>
16535   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
16536   {
16537     enum
16538     {
16539       value = true
16540     };
16541   };
16542 
16543   template <>
16544   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
16545   {
16546     enum
16547     {
16548       value = true
16549     };
16550   };
16551 
16552   //=== VK_EXT_mutable_descriptor_type ===
16553   template <>
16554   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
16555   {
16556     enum
16557     {
16558       value = true
16559     };
16560   };
16561 
16562   template <>
16563   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
16564   {
16565     enum
16566     {
16567       value = true
16568     };
16569   };
16570 
16571   template <>
16572   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
16573   {
16574     enum
16575     {
16576       value = true
16577     };
16578   };
16579 
16580   template <>
16581   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
16582   {
16583     enum
16584     {
16585       value = true
16586     };
16587   };
16588 
16589   //=== VK_EXT_legacy_vertex_attributes ===
16590   template <>
16591   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, PhysicalDeviceFeatures2>
16592   {
16593     enum
16594     {
16595       value = true
16596     };
16597   };
16598 
16599   template <>
16600   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, DeviceCreateInfo>
16601   {
16602     enum
16603     {
16604       value = true
16605     };
16606   };
16607 
16608   template <>
16609   struct StructExtends<PhysicalDeviceLegacyVertexAttributesPropertiesEXT, PhysicalDeviceProperties2>
16610   {
16611     enum
16612     {
16613       value = true
16614     };
16615   };
16616 
16617   //=== VK_EXT_layer_settings ===
16618   template <>
16619   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
16620   {
16621     enum
16622     {
16623       value = true
16624     };
16625   };
16626 
16627   //=== VK_ARM_shader_core_builtins ===
16628   template <>
16629   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
16630   {
16631     enum
16632     {
16633       value = true
16634     };
16635   };
16636 
16637   template <>
16638   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
16639   {
16640     enum
16641     {
16642       value = true
16643     };
16644   };
16645 
16646   template <>
16647   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
16648   {
16649     enum
16650     {
16651       value = true
16652     };
16653   };
16654 
16655   //=== VK_EXT_pipeline_library_group_handles ===
16656   template <>
16657   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
16658   {
16659     enum
16660     {
16661       value = true
16662     };
16663   };
16664 
16665   template <>
16666   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
16667   {
16668     enum
16669     {
16670       value = true
16671     };
16672   };
16673 
16674   //=== VK_EXT_dynamic_rendering_unused_attachments ===
16675   template <>
16676   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
16677   {
16678     enum
16679     {
16680       value = true
16681     };
16682   };
16683 
16684   template <>
16685   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
16686   {
16687     enum
16688     {
16689       value = true
16690     };
16691   };
16692 
16693   //=== VK_NV_low_latency2 ===
16694   template <>
16695   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
16696   {
16697     enum
16698     {
16699       value = true
16700     };
16701   };
16702 
16703   template <>
16704   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
16705   {
16706     enum
16707     {
16708       value = true
16709     };
16710   };
16711 
16712   template <>
16713   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
16714   {
16715     enum
16716     {
16717       value = true
16718     };
16719   };
16720 
16721   template <>
16722   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
16723   {
16724     enum
16725     {
16726       value = true
16727     };
16728   };
16729 
16730   //=== VK_KHR_cooperative_matrix ===
16731   template <>
16732   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
16733   {
16734     enum
16735     {
16736       value = true
16737     };
16738   };
16739 
16740   template <>
16741   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
16742   {
16743     enum
16744     {
16745       value = true
16746     };
16747   };
16748 
16749   template <>
16750   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
16751   {
16752     enum
16753     {
16754       value = true
16755     };
16756   };
16757 
16758   //=== VK_QCOM_multiview_per_view_render_areas ===
16759   template <>
16760   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
16761   {
16762     enum
16763     {
16764       value = true
16765     };
16766   };
16767 
16768   template <>
16769   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
16770   {
16771     enum
16772     {
16773       value = true
16774     };
16775   };
16776 
16777   template <>
16778   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
16779   {
16780     enum
16781     {
16782       value = true
16783     };
16784   };
16785 
16786   template <>
16787   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
16788   {
16789     enum
16790     {
16791       value = true
16792     };
16793   };
16794 
16795   //=== VK_KHR_compute_shader_derivatives ===
16796   template <>
16797   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesKHR, PhysicalDeviceFeatures2>
16798   {
16799     enum
16800     {
16801       value = true
16802     };
16803   };
16804 
16805   template <>
16806   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesKHR, DeviceCreateInfo>
16807   {
16808     enum
16809     {
16810       value = true
16811     };
16812   };
16813 
16814   template <>
16815   struct StructExtends<PhysicalDeviceComputeShaderDerivativesPropertiesKHR, PhysicalDeviceProperties2>
16816   {
16817     enum
16818     {
16819       value = true
16820     };
16821   };
16822 
16823   //=== VK_KHR_video_decode_av1 ===
16824   template <>
16825   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16826   {
16827     enum
16828     {
16829       value = true
16830     };
16831   };
16832 
16833   template <>
16834   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16835   {
16836     enum
16837     {
16838       value = true
16839     };
16840   };
16841 
16842   template <>
16843   struct StructExtends<VideoDecodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16844   {
16845     enum
16846     {
16847       value = true
16848     };
16849   };
16850 
16851   template <>
16852   struct StructExtends<VideoDecodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16853   {
16854     enum
16855     {
16856       value = true
16857     };
16858   };
16859 
16860   template <>
16861   struct StructExtends<VideoDecodeAV1PictureInfoKHR, VideoDecodeInfoKHR>
16862   {
16863     enum
16864     {
16865       value = true
16866     };
16867   };
16868 
16869   template <>
16870   struct StructExtends<VideoDecodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16871   {
16872     enum
16873     {
16874       value = true
16875     };
16876   };
16877 
16878   //=== VK_KHR_video_encode_av1 ===
16879   template <>
16880   struct StructExtends<PhysicalDeviceVideoEncodeAV1FeaturesKHR, PhysicalDeviceFeatures2>
16881   {
16882     enum
16883     {
16884       value = true
16885     };
16886   };
16887 
16888   template <>
16889   struct StructExtends<PhysicalDeviceVideoEncodeAV1FeaturesKHR, DeviceCreateInfo>
16890   {
16891     enum
16892     {
16893       value = true
16894     };
16895   };
16896 
16897   template <>
16898   struct StructExtends<VideoEncodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16899   {
16900     enum
16901     {
16902       value = true
16903     };
16904   };
16905 
16906   template <>
16907   struct StructExtends<VideoEncodeAV1QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
16908   {
16909     enum
16910     {
16911       value = true
16912     };
16913   };
16914 
16915   template <>
16916   struct StructExtends<VideoEncodeAV1SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
16917   {
16918     enum
16919     {
16920       value = true
16921     };
16922   };
16923 
16924   template <>
16925   struct StructExtends<VideoEncodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16926   {
16927     enum
16928     {
16929       value = true
16930     };
16931   };
16932 
16933   template <>
16934   struct StructExtends<VideoEncodeAV1PictureInfoKHR, VideoEncodeInfoKHR>
16935   {
16936     enum
16937     {
16938       value = true
16939     };
16940   };
16941 
16942   template <>
16943   struct StructExtends<VideoEncodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16944   {
16945     enum
16946     {
16947       value = true
16948     };
16949   };
16950 
16951   template <>
16952   struct StructExtends<VideoEncodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16953   {
16954     enum
16955     {
16956       value = true
16957     };
16958   };
16959 
16960   template <>
16961   struct StructExtends<VideoEncodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16962   {
16963     enum
16964     {
16965       value = true
16966     };
16967   };
16968 
16969   template <>
16970   struct StructExtends<VideoEncodeAV1GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
16971   {
16972     enum
16973     {
16974       value = true
16975     };
16976   };
16977 
16978   template <>
16979   struct StructExtends<VideoEncodeAV1RateControlInfoKHR, VideoCodingControlInfoKHR>
16980   {
16981     enum
16982     {
16983       value = true
16984     };
16985   };
16986 
16987   template <>
16988   struct StructExtends<VideoEncodeAV1RateControlInfoKHR, VideoBeginCodingInfoKHR>
16989   {
16990     enum
16991     {
16992       value = true
16993     };
16994   };
16995 
16996   template <>
16997   struct StructExtends<VideoEncodeAV1RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
16998   {
16999     enum
17000     {
17001       value = true
17002     };
17003   };
17004 
17005   //=== VK_KHR_video_maintenance1 ===
17006   template <>
17007   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
17008   {
17009     enum
17010     {
17011       value = true
17012     };
17013   };
17014 
17015   template <>
17016   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
17017   {
17018     enum
17019     {
17020       value = true
17021     };
17022   };
17023 
17024   template <>
17025   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
17026   {
17027     enum
17028     {
17029       value = true
17030     };
17031   };
17032 
17033   template <>
17034   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
17035   {
17036     enum
17037     {
17038       value = true
17039     };
17040   };
17041 
17042   //=== VK_NV_per_stage_descriptor_set ===
17043   template <>
17044   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
17045   {
17046     enum
17047     {
17048       value = true
17049     };
17050   };
17051 
17052   template <>
17053   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
17054   {
17055     enum
17056     {
17057       value = true
17058     };
17059   };
17060 
17061   //=== VK_QCOM_image_processing2 ===
17062   template <>
17063   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
17064   {
17065     enum
17066     {
17067       value = true
17068     };
17069   };
17070 
17071   template <>
17072   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
17073   {
17074     enum
17075     {
17076       value = true
17077     };
17078   };
17079 
17080   template <>
17081   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
17082   {
17083     enum
17084     {
17085       value = true
17086     };
17087   };
17088 
17089   template <>
17090   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
17091   {
17092     enum
17093     {
17094       value = true
17095     };
17096   };
17097 
17098   //=== VK_QCOM_filter_cubic_weights ===
17099   template <>
17100   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
17101   {
17102     enum
17103     {
17104       value = true
17105     };
17106   };
17107 
17108   template <>
17109   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
17110   {
17111     enum
17112     {
17113       value = true
17114     };
17115   };
17116 
17117   template <>
17118   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
17119   {
17120     enum
17121     {
17122       value = true
17123     };
17124   };
17125 
17126   template <>
17127   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
17128   {
17129     enum
17130     {
17131       value = true
17132     };
17133   };
17134 
17135   //=== VK_QCOM_ycbcr_degamma ===
17136   template <>
17137   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
17138   {
17139     enum
17140     {
17141       value = true
17142     };
17143   };
17144 
17145   template <>
17146   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
17147   {
17148     enum
17149     {
17150       value = true
17151     };
17152   };
17153 
17154   template <>
17155   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
17156   {
17157     enum
17158     {
17159       value = true
17160     };
17161   };
17162 
17163   //=== VK_QCOM_filter_cubic_clamp ===
17164   template <>
17165   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
17166   {
17167     enum
17168     {
17169       value = true
17170     };
17171   };
17172 
17173   template <>
17174   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
17175   {
17176     enum
17177     {
17178       value = true
17179     };
17180   };
17181 
17182   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
17183   template <>
17184   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
17185   {
17186     enum
17187     {
17188       value = true
17189     };
17190   };
17191 
17192   template <>
17193   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
17194   {
17195     enum
17196     {
17197       value = true
17198     };
17199   };
17200 
17201 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
17202   //=== VK_QNX_external_memory_screen_buffer ===
17203   template <>
17204   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
17205   {
17206     enum
17207     {
17208       value = true
17209     };
17210   };
17211 
17212   template <>
17213   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
17214   {
17215     enum
17216     {
17217       value = true
17218     };
17219   };
17220 
17221   template <>
17222   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
17223   {
17224     enum
17225     {
17226       value = true
17227     };
17228   };
17229 
17230   template <>
17231   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
17232   {
17233     enum
17234     {
17235       value = true
17236     };
17237   };
17238 
17239   template <>
17240   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
17241   {
17242     enum
17243     {
17244       value = true
17245     };
17246   };
17247 
17248   template <>
17249   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
17250   {
17251     enum
17252     {
17253       value = true
17254     };
17255   };
17256 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17257 
17258   //=== VK_MSFT_layered_driver ===
17259   template <>
17260   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
17261   {
17262     enum
17263     {
17264       value = true
17265     };
17266   };
17267 
17268   //=== VK_NV_descriptor_pool_overallocation ===
17269   template <>
17270   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
17271   {
17272     enum
17273     {
17274       value = true
17275     };
17276   };
17277 
17278   template <>
17279   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
17280   {
17281     enum
17282     {
17283       value = true
17284     };
17285   };
17286 
17287   //=== VK_NV_display_stereo ===
17288   template <>
17289   struct StructExtends<DisplaySurfaceStereoCreateInfoNV, DisplaySurfaceCreateInfoKHR>
17290   {
17291     enum
17292     {
17293       value = true
17294     };
17295   };
17296 
17297   template <>
17298   struct StructExtends<DisplayModeStereoPropertiesNV, DisplayModeProperties2KHR>
17299   {
17300     enum
17301     {
17302       value = true
17303     };
17304   };
17305 
17306   //=== VK_KHR_video_encode_quantization_map ===
17307   template <>
17308   struct StructExtends<VideoEncodeQuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17309   {
17310     enum
17311     {
17312       value = true
17313     };
17314   };
17315 
17316   template <>
17317   struct StructExtends<VideoFormatQuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17318   {
17319     enum
17320     {
17321       value = true
17322     };
17323   };
17324 
17325   template <>
17326   struct StructExtends<VideoEncodeQuantizationMapInfoKHR, VideoEncodeInfoKHR>
17327   {
17328     enum
17329     {
17330       value = true
17331     };
17332   };
17333 
17334   template <>
17335   struct StructExtends<VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
17336   {
17337     enum
17338     {
17339       value = true
17340     };
17341   };
17342 
17343   template <>
17344   struct StructExtends<PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, PhysicalDeviceFeatures2>
17345   {
17346     enum
17347     {
17348       value = true
17349     };
17350   };
17351 
17352   template <>
17353   struct StructExtends<PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, DeviceCreateInfo>
17354   {
17355     enum
17356     {
17357       value = true
17358     };
17359   };
17360 
17361   template <>
17362   struct StructExtends<VideoEncodeH264QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17363   {
17364     enum
17365     {
17366       value = true
17367     };
17368   };
17369 
17370   template <>
17371   struct StructExtends<VideoEncodeH265QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17372   {
17373     enum
17374     {
17375       value = true
17376     };
17377   };
17378 
17379   template <>
17380   struct StructExtends<VideoFormatH265QuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17381   {
17382     enum
17383     {
17384       value = true
17385     };
17386   };
17387 
17388   template <>
17389   struct StructExtends<VideoEncodeAV1QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17390   {
17391     enum
17392     {
17393       value = true
17394     };
17395   };
17396 
17397   template <>
17398   struct StructExtends<VideoFormatAV1QuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17399   {
17400     enum
17401     {
17402       value = true
17403     };
17404   };
17405 
17406   //=== VK_NV_raw_access_chains ===
17407   template <>
17408   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, PhysicalDeviceFeatures2>
17409   {
17410     enum
17411     {
17412       value = true
17413     };
17414   };
17415 
17416   template <>
17417   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, DeviceCreateInfo>
17418   {
17419     enum
17420     {
17421       value = true
17422     };
17423   };
17424 
17425   //=== VK_KHR_shader_relaxed_extended_instruction ===
17426   template <>
17427   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, PhysicalDeviceFeatures2>
17428   {
17429     enum
17430     {
17431       value = true
17432     };
17433   };
17434 
17435   template <>
17436   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, DeviceCreateInfo>
17437   {
17438     enum
17439     {
17440       value = true
17441     };
17442   };
17443 
17444   //=== VK_NV_command_buffer_inheritance ===
17445   template <>
17446   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, PhysicalDeviceFeatures2>
17447   {
17448     enum
17449     {
17450       value = true
17451     };
17452   };
17453 
17454   template <>
17455   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, DeviceCreateInfo>
17456   {
17457     enum
17458     {
17459       value = true
17460     };
17461   };
17462 
17463   //=== VK_KHR_maintenance7 ===
17464   template <>
17465   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, PhysicalDeviceFeatures2>
17466   {
17467     enum
17468     {
17469       value = true
17470     };
17471   };
17472 
17473   template <>
17474   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, DeviceCreateInfo>
17475   {
17476     enum
17477     {
17478       value = true
17479     };
17480   };
17481 
17482   template <>
17483   struct StructExtends<PhysicalDeviceMaintenance7PropertiesKHR, PhysicalDeviceProperties2>
17484   {
17485     enum
17486     {
17487       value = true
17488     };
17489   };
17490 
17491   template <>
17492   struct StructExtends<PhysicalDeviceLayeredApiPropertiesListKHR, PhysicalDeviceProperties2>
17493   {
17494     enum
17495     {
17496       value = true
17497     };
17498   };
17499 
17500   template <>
17501   struct StructExtends<PhysicalDeviceLayeredApiVulkanPropertiesKHR, PhysicalDeviceLayeredApiPropertiesKHR>
17502   {
17503     enum
17504     {
17505       value = true
17506     };
17507   };
17508 
17509   //=== VK_NV_shader_atomic_float16_vector ===
17510   template <>
17511   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, PhysicalDeviceFeatures2>
17512   {
17513     enum
17514     {
17515       value = true
17516     };
17517   };
17518 
17519   template <>
17520   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, DeviceCreateInfo>
17521   {
17522     enum
17523     {
17524       value = true
17525     };
17526   };
17527 
17528   //=== VK_EXT_shader_replicated_composites ===
17529   template <>
17530   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, PhysicalDeviceFeatures2>
17531   {
17532     enum
17533     {
17534       value = true
17535     };
17536   };
17537 
17538   template <>
17539   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, DeviceCreateInfo>
17540   {
17541     enum
17542     {
17543       value = true
17544     };
17545   };
17546 
17547   //=== VK_NV_ray_tracing_validation ===
17548   template <>
17549   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, PhysicalDeviceFeatures2>
17550   {
17551     enum
17552     {
17553       value = true
17554     };
17555   };
17556 
17557   template <>
17558   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, DeviceCreateInfo>
17559   {
17560     enum
17561     {
17562       value = true
17563     };
17564   };
17565 
17566   //=== VK_NV_cluster_acceleration_structure ===
17567   template <>
17568   struct StructExtends<PhysicalDeviceClusterAccelerationStructureFeaturesNV, PhysicalDeviceFeatures2>
17569   {
17570     enum
17571     {
17572       value = true
17573     };
17574   };
17575 
17576   template <>
17577   struct StructExtends<PhysicalDeviceClusterAccelerationStructureFeaturesNV, DeviceCreateInfo>
17578   {
17579     enum
17580     {
17581       value = true
17582     };
17583   };
17584 
17585   template <>
17586   struct StructExtends<PhysicalDeviceClusterAccelerationStructurePropertiesNV, PhysicalDeviceProperties2>
17587   {
17588     enum
17589     {
17590       value = true
17591     };
17592   };
17593 
17594   template <>
17595   struct StructExtends<RayTracingPipelineClusterAccelerationStructureCreateInfoNV, RayTracingPipelineCreateInfoKHR>
17596   {
17597     enum
17598     {
17599       value = true
17600     };
17601   };
17602 
17603   //=== VK_NV_partitioned_acceleration_structure ===
17604   template <>
17605   struct StructExtends<PhysicalDevicePartitionedAccelerationStructureFeaturesNV, PhysicalDeviceFeatures2>
17606   {
17607     enum
17608     {
17609       value = true
17610     };
17611   };
17612 
17613   template <>
17614   struct StructExtends<PhysicalDevicePartitionedAccelerationStructureFeaturesNV, DeviceCreateInfo>
17615   {
17616     enum
17617     {
17618       value = true
17619     };
17620   };
17621 
17622   template <>
17623   struct StructExtends<PhysicalDevicePartitionedAccelerationStructurePropertiesNV, PhysicalDeviceProperties2>
17624   {
17625     enum
17626     {
17627       value = true
17628     };
17629   };
17630 
17631   template <>
17632   struct StructExtends<PartitionedAccelerationStructureFlagsNV, PartitionedAccelerationStructureInstancesInputNV>
17633   {
17634     enum
17635     {
17636       value = true
17637     };
17638   };
17639 
17640   template <>
17641   struct StructExtends<WriteDescriptorSetPartitionedAccelerationStructureNV, WriteDescriptorSet>
17642   {
17643     enum
17644     {
17645       value = true
17646     };
17647   };
17648 
17649   //=== VK_EXT_device_generated_commands ===
17650   template <>
17651   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, PhysicalDeviceFeatures2>
17652   {
17653     enum
17654     {
17655       value = true
17656     };
17657   };
17658 
17659   template <>
17660   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, DeviceCreateInfo>
17661   {
17662     enum
17663     {
17664       value = true
17665     };
17666   };
17667 
17668   template <>
17669   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, PhysicalDeviceProperties2>
17670   {
17671     enum
17672     {
17673       value = true
17674     };
17675   };
17676 
17677   template <>
17678   struct StructExtends<GeneratedCommandsPipelineInfoEXT, GeneratedCommandsInfoEXT>
17679   {
17680     enum
17681     {
17682       value = true
17683     };
17684   };
17685 
17686   template <>
17687   struct StructExtends<GeneratedCommandsPipelineInfoEXT, GeneratedCommandsMemoryRequirementsInfoEXT>
17688   {
17689     enum
17690     {
17691       value = true
17692     };
17693   };
17694 
17695   template <>
17696   struct StructExtends<GeneratedCommandsShaderInfoEXT, GeneratedCommandsInfoEXT>
17697   {
17698     enum
17699     {
17700       value = true
17701     };
17702   };
17703 
17704   template <>
17705   struct StructExtends<GeneratedCommandsShaderInfoEXT, GeneratedCommandsMemoryRequirementsInfoEXT>
17706   {
17707     enum
17708     {
17709       value = true
17710     };
17711   };
17712 
17713   //=== VK_KHR_maintenance8 ===
17714   template <>
17715   struct StructExtends<PhysicalDeviceMaintenance8FeaturesKHR, PhysicalDeviceFeatures2>
17716   {
17717     enum
17718     {
17719       value = true
17720     };
17721   };
17722 
17723   template <>
17724   struct StructExtends<PhysicalDeviceMaintenance8FeaturesKHR, DeviceCreateInfo>
17725   {
17726     enum
17727     {
17728       value = true
17729     };
17730   };
17731 
17732   template <>
17733   struct StructExtends<MemoryBarrierAccessFlags3KHR, MemoryBarrier2>
17734   {
17735     enum
17736     {
17737       value = true
17738     };
17739   };
17740 
17741   template <>
17742   struct StructExtends<MemoryBarrierAccessFlags3KHR, BufferMemoryBarrier2>
17743   {
17744     enum
17745     {
17746       value = true
17747     };
17748   };
17749 
17750   template <>
17751   struct StructExtends<MemoryBarrierAccessFlags3KHR, ImageMemoryBarrier2>
17752   {
17753     enum
17754     {
17755       value = true
17756     };
17757   };
17758 
17759   //=== VK_MESA_image_alignment_control ===
17760   template <>
17761   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, PhysicalDeviceFeatures2>
17762   {
17763     enum
17764     {
17765       value = true
17766     };
17767   };
17768 
17769   template <>
17770   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, DeviceCreateInfo>
17771   {
17772     enum
17773     {
17774       value = true
17775     };
17776   };
17777 
17778   template <>
17779   struct StructExtends<PhysicalDeviceImageAlignmentControlPropertiesMESA, PhysicalDeviceProperties2>
17780   {
17781     enum
17782     {
17783       value = true
17784     };
17785   };
17786 
17787   template <>
17788   struct StructExtends<ImageAlignmentControlCreateInfoMESA, ImageCreateInfo>
17789   {
17790     enum
17791     {
17792       value = true
17793     };
17794   };
17795 
17796   //=== VK_EXT_depth_clamp_control ===
17797   template <>
17798   struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, PhysicalDeviceFeatures2>
17799   {
17800     enum
17801     {
17802       value = true
17803     };
17804   };
17805 
17806   template <>
17807   struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, DeviceCreateInfo>
17808   {
17809     enum
17810     {
17811       value = true
17812     };
17813   };
17814 
17815   template <>
17816   struct StructExtends<PipelineViewportDepthClampControlCreateInfoEXT, PipelineViewportStateCreateInfo>
17817   {
17818     enum
17819     {
17820       value = true
17821     };
17822   };
17823 
17824   //=== VK_KHR_video_maintenance2 ===
17825   template <>
17826   struct StructExtends<PhysicalDeviceVideoMaintenance2FeaturesKHR, PhysicalDeviceFeatures2>
17827   {
17828     enum
17829     {
17830       value = true
17831     };
17832   };
17833 
17834   template <>
17835   struct StructExtends<PhysicalDeviceVideoMaintenance2FeaturesKHR, DeviceCreateInfo>
17836   {
17837     enum
17838     {
17839       value = true
17840     };
17841   };
17842 
17843   template <>
17844   struct StructExtends<VideoDecodeH264InlineSessionParametersInfoKHR, VideoDecodeInfoKHR>
17845   {
17846     enum
17847     {
17848       value = true
17849     };
17850   };
17851 
17852   template <>
17853   struct StructExtends<VideoDecodeH265InlineSessionParametersInfoKHR, VideoDecodeInfoKHR>
17854   {
17855     enum
17856     {
17857       value = true
17858     };
17859   };
17860 
17861   template <>
17862   struct StructExtends<VideoDecodeAV1InlineSessionParametersInfoKHR, VideoDecodeInfoKHR>
17863   {
17864     enum
17865     {
17866       value = true
17867     };
17868   };
17869 
17870   //=== VK_HUAWEI_hdr_vivid ===
17871   template <>
17872   struct StructExtends<PhysicalDeviceHdrVividFeaturesHUAWEI, PhysicalDeviceFeatures2>
17873   {
17874     enum
17875     {
17876       value = true
17877     };
17878   };
17879 
17880   template <>
17881   struct StructExtends<PhysicalDeviceHdrVividFeaturesHUAWEI, DeviceCreateInfo>
17882   {
17883     enum
17884     {
17885       value = true
17886     };
17887   };
17888 
17889   template <>
17890   struct StructExtends<HdrVividDynamicMetadataHUAWEI, HdrMetadataEXT>
17891   {
17892     enum
17893     {
17894       value = true
17895     };
17896   };
17897 
17898   //=== VK_NV_cooperative_matrix2 ===
17899   template <>
17900   struct StructExtends<PhysicalDeviceCooperativeMatrix2FeaturesNV, PhysicalDeviceFeatures2>
17901   {
17902     enum
17903     {
17904       value = true
17905     };
17906   };
17907 
17908   template <>
17909   struct StructExtends<PhysicalDeviceCooperativeMatrix2FeaturesNV, DeviceCreateInfo>
17910   {
17911     enum
17912     {
17913       value = true
17914     };
17915   };
17916 
17917   template <>
17918   struct StructExtends<PhysicalDeviceCooperativeMatrix2PropertiesNV, PhysicalDeviceProperties2>
17919   {
17920     enum
17921     {
17922       value = true
17923     };
17924   };
17925 
17926   //=== VK_ARM_pipeline_opacity_micromap ===
17927   template <>
17928   struct StructExtends<PhysicalDevicePipelineOpacityMicromapFeaturesARM, PhysicalDeviceFeatures2>
17929   {
17930     enum
17931     {
17932       value = true
17933     };
17934   };
17935 
17936   template <>
17937   struct StructExtends<PhysicalDevicePipelineOpacityMicromapFeaturesARM, DeviceCreateInfo>
17938   {
17939     enum
17940     {
17941       value = true
17942     };
17943   };
17944 
17945 #  if defined( VK_USE_PLATFORM_METAL_EXT )
17946   //=== VK_EXT_external_memory_metal ===
17947   template <>
17948   struct StructExtends<ImportMemoryMetalHandleInfoEXT, MemoryAllocateInfo>
17949   {
17950     enum
17951     {
17952       value = true
17953     };
17954   };
17955 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
17956 
17957   //=== VK_KHR_depth_clamp_zero_one ===
17958   template <>
17959   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesKHR, PhysicalDeviceFeatures2>
17960   {
17961     enum
17962     {
17963       value = true
17964     };
17965   };
17966 
17967   template <>
17968   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesKHR, DeviceCreateInfo>
17969   {
17970     enum
17971     {
17972       value = true
17973     };
17974   };
17975 
17976   //=== VK_EXT_vertex_attribute_robustness ===
17977   template <>
17978   struct StructExtends<PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
17979   {
17980     enum
17981     {
17982       value = true
17983     };
17984   };
17985 
17986   template <>
17987   struct StructExtends<PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, DeviceCreateInfo>
17988   {
17989     enum
17990     {
17991       value = true
17992     };
17993   };
17994 
17995 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
17996   //=== VK_NV_present_metering ===
17997   template <>
17998   struct StructExtends<SetPresentConfigNV, PresentInfoKHR>
17999   {
18000     enum
18001     {
18002       value = true
18003     };
18004   };
18005 
18006   template <>
18007   struct StructExtends<PhysicalDevicePresentMeteringFeaturesNV, PhysicalDeviceFeatures2>
18008   {
18009     enum
18010     {
18011       value = true
18012     };
18013   };
18014 
18015   template <>
18016   struct StructExtends<PhysicalDevicePresentMeteringFeaturesNV, DeviceCreateInfo>
18017   {
18018     enum
18019     {
18020       value = true
18021     };
18022   };
18023 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
18024 
18025 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
18026 
18027   namespace detail
18028   {
18029 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
18030     class DynamicLoader
18031     {
18032     public:
18033 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )18034       DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
18035 #  else
18036       DynamicLoader( std::string const & vulkanLibraryName = {} )
18037 #  endif
18038       {
18039         if ( !vulkanLibraryName.empty() )
18040         {
18041 #  if defined( _WIN32 )
18042           m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
18043 #  elif defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
18044           m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
18045 #  else
18046 #    error unsupported platform
18047 #  endif
18048         }
18049         else
18050         {
18051 #  if defined( _WIN32 )
18052           m_library = ::LoadLibraryA( "vulkan-1.dll" );
18053 #  elif defined( __APPLE__ )
18054           m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
18055           if ( !m_library )
18056           {
18057             m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
18058           }
18059           if ( !m_library )
18060           {
18061             m_library = dlopen( "libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL );
18062           }
18063           // Add support for using Vulkan and MoltenVK in a Framework. App store rules for iOS
18064           // strictly enforce no .dylib's. If they aren't found it just falls through
18065           if ( !m_library )
18066           {
18067             m_library = dlopen( "vulkan.framework/vulkan", RTLD_NOW | RTLD_LOCAL );
18068           }
18069           if ( !m_library )
18070           {
18071             m_library = dlopen( "MoltenVK.framework/MoltenVK", RTLD_NOW | RTLD_LOCAL );
18072           }
18073           // modern versions of macOS don't search /usr/local/lib automatically contrary to what man dlopen says
18074           // Vulkan SDK uses this as the system-wide installation location, so we're going to fallback to this if all else fails
18075           if ( !m_library && ( getenv( "DYLD_FALLBACK_LIBRARY_PATH" ) == NULL ) )
18076           {
18077             m_library = dlopen( "/usr/local/lib/libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
18078           }
18079 #  elif defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
18080           m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
18081           if ( !m_library )
18082           {
18083             m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
18084           }
18085 #  else
18086 #    error unsupported platform
18087 #  endif
18088         }
18089 
18090 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
18091         if ( !m_library )
18092         {
18093           // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
18094           throw std::runtime_error( "Failed to load vulkan library!" );
18095         }
18096 #  endif
18097       }
18098 
18099       DynamicLoader( DynamicLoader const & ) = delete;
18100 
DynamicLoader(DynamicLoader && other)18101       DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
18102       {
18103         other.m_library = nullptr;
18104       }
18105 
18106       DynamicLoader & operator=( DynamicLoader const & ) = delete;
18107 
operator =(DynamicLoader && other)18108       DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
18109       {
18110         std::swap( m_library, other.m_library );
18111         return *this;
18112       }
18113 
~DynamicLoader()18114       ~DynamicLoader() VULKAN_HPP_NOEXCEPT
18115       {
18116         if ( m_library )
18117         {
18118 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
18119           dlclose( m_library );
18120 #  elif defined( _WIN32 )
18121           ::FreeLibrary( m_library );
18122 #  else
18123 #    error unsupported platform
18124 #  endif
18125         }
18126       }
18127 
18128       template <typename T>
getProcAddress(const char * function) const18129       T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
18130       {
18131 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
18132         return (T)dlsym( m_library, function );
18133 #  elif defined( _WIN32 )
18134         return ( T )::GetProcAddress( m_library, function );
18135 #  else
18136 #    error unsupported platform
18137 #  endif
18138       }
18139 
success() const18140       bool success() const VULKAN_HPP_NOEXCEPT
18141       {
18142         return m_library != nullptr;
18143       }
18144 
18145     private:
18146 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
18147       void * m_library;
18148 #  elif defined( _WIN32 )
18149       ::HINSTANCE m_library;
18150 #  else
18151 #    error unsupported platform
18152 #  endif
18153     };
18154 #endif
18155 
18156     using PFN_dummy = void ( * )();
18157 
18158     class DispatchLoaderDynamic : public DispatchLoaderBase
18159     {
18160     public:
18161       //=== VK_VERSION_1_0 ===
18162       PFN_vkCreateInstance                               vkCreateInstance                               = 0;
18163       PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
18164       PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
18165       PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
18166       PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
18167       PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
18168       PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
18169       PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
18170       PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
18171       PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
18172       PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
18173       PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
18174       PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
18175       PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
18176       PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
18177       PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
18178       PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
18179       PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
18180       PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
18181       PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
18182       PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
18183       PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
18184       PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
18185       PFN_vkMapMemory                                    vkMapMemory                                    = 0;
18186       PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
18187       PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
18188       PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
18189       PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
18190       PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
18191       PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
18192       PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
18193       PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
18194       PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
18195       PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
18196       PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
18197       PFN_vkCreateFence                                  vkCreateFence                                  = 0;
18198       PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
18199       PFN_vkResetFences                                  vkResetFences                                  = 0;
18200       PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
18201       PFN_vkWaitForFences                                vkWaitForFences                                = 0;
18202       PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
18203       PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
18204       PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
18205       PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
18206       PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
18207       PFN_vkSetEvent                                     vkSetEvent                                     = 0;
18208       PFN_vkResetEvent                                   vkResetEvent                                   = 0;
18209       PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
18210       PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
18211       PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
18212       PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
18213       PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
18214       PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
18215       PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
18216       PFN_vkCreateImage                                  vkCreateImage                                  = 0;
18217       PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
18218       PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
18219       PFN_vkCreateImageView                              vkCreateImageView                              = 0;
18220       PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
18221       PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
18222       PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
18223       PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
18224       PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
18225       PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
18226       PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
18227       PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
18228       PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
18229       PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
18230       PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
18231       PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
18232       PFN_vkCreateSampler                                vkCreateSampler                                = 0;
18233       PFN_vkDestroySampler                               vkDestroySampler                               = 0;
18234       PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
18235       PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
18236       PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
18237       PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
18238       PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
18239       PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
18240       PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
18241       PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
18242       PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
18243       PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
18244       PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
18245       PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
18246       PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
18247       PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
18248       PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
18249       PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
18250       PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
18251       PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
18252       PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
18253       PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
18254       PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
18255       PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
18256       PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
18257       PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
18258       PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
18259       PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
18260       PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
18261       PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
18262       PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
18263       PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
18264       PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
18265       PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
18266       PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
18267       PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
18268       PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
18269       PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
18270       PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
18271       PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
18272       PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
18273       PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
18274       PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
18275       PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
18276       PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
18277       PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
18278       PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
18279       PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
18280       PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
18281       PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
18282       PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
18283       PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
18284       PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
18285       PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
18286       PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
18287       PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
18288       PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
18289       PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
18290       PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
18291       PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
18292       PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
18293       PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
18294       PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
18295       PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
18296       PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
18297       PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
18298       PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
18299 
18300       //=== VK_VERSION_1_1 ===
18301       PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
18302       PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
18303       PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
18304       PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
18305       PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
18306       PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
18307       PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
18308       PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
18309       PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
18310       PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
18311       PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
18312       PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
18313       PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
18314       PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
18315       PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
18316       PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
18317       PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
18318       PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
18319       PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
18320       PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
18321       PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
18322       PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
18323       PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
18324       PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
18325       PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
18326       PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
18327       PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
18328       PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
18329 
18330       //=== VK_VERSION_1_2 ===
18331       PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
18332       PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
18333       PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
18334       PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
18335       PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
18336       PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
18337       PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
18338       PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
18339       PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
18340       PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
18341       PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
18342       PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
18343       PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
18344 
18345       //=== VK_VERSION_1_3 ===
18346       PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
18347       PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
18348       PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
18349       PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
18350       PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
18351       PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
18352       PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
18353       PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
18354       PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
18355       PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
18356       PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
18357       PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
18358       PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
18359       PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
18360       PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
18361       PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
18362       PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
18363       PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
18364       PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
18365       PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
18366       PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
18367       PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
18368       PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
18369       PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
18370       PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
18371       PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
18372       PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
18373       PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
18374       PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
18375       PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
18376       PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
18377       PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
18378       PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
18379       PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
18380       PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
18381       PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
18382       PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
18383 
18384       //=== VK_VERSION_1_4 ===
18385       PFN_vkCmdSetLineStipple                     vkCmdSetLineStipple                     = 0;
18386       PFN_vkMapMemory2                            vkMapMemory2                            = 0;
18387       PFN_vkUnmapMemory2                          vkUnmapMemory2                          = 0;
18388       PFN_vkCmdBindIndexBuffer2                   vkCmdBindIndexBuffer2                   = 0;
18389       PFN_vkGetRenderingAreaGranularity           vkGetRenderingAreaGranularity           = 0;
18390       PFN_vkGetDeviceImageSubresourceLayout       vkGetDeviceImageSubresourceLayout       = 0;
18391       PFN_vkGetImageSubresourceLayout2            vkGetImageSubresourceLayout2            = 0;
18392       PFN_vkCmdPushDescriptorSet                  vkCmdPushDescriptorSet                  = 0;
18393       PFN_vkCmdPushDescriptorSetWithTemplate      vkCmdPushDescriptorSetWithTemplate      = 0;
18394       PFN_vkCmdSetRenderingAttachmentLocations    vkCmdSetRenderingAttachmentLocations    = 0;
18395       PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices = 0;
18396       PFN_vkCmdBindDescriptorSets2                vkCmdBindDescriptorSets2                = 0;
18397       PFN_vkCmdPushConstants2                     vkCmdPushConstants2                     = 0;
18398       PFN_vkCmdPushDescriptorSet2                 vkCmdPushDescriptorSet2                 = 0;
18399       PFN_vkCmdPushDescriptorSetWithTemplate2     vkCmdPushDescriptorSetWithTemplate2     = 0;
18400       PFN_vkCopyMemoryToImage                     vkCopyMemoryToImage                     = 0;
18401       PFN_vkCopyImageToMemory                     vkCopyImageToMemory                     = 0;
18402       PFN_vkCopyImageToImage                      vkCopyImageToImage                      = 0;
18403       PFN_vkTransitionImageLayout                 vkTransitionImageLayout                 = 0;
18404 
18405       //=== VK_KHR_surface ===
18406       PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
18407       PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
18408       PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
18409       PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
18410       PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
18411 
18412       //=== VK_KHR_swapchain ===
18413       PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
18414       PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
18415       PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
18416       PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
18417       PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
18418       PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
18419       PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
18420       PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
18421       PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
18422 
18423       //=== VK_KHR_display ===
18424       PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
18425       PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
18426       PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
18427       PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
18428       PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
18429       PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
18430       PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
18431 
18432       //=== VK_KHR_display_swapchain ===
18433       PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
18434 
18435 #if defined( VK_USE_PLATFORM_XLIB_KHR )
18436       //=== VK_KHR_xlib_surface ===
18437       PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
18438       PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
18439 #else
18440       PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
18441       PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
18442 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
18443 
18444 #if defined( VK_USE_PLATFORM_XCB_KHR )
18445       //=== VK_KHR_xcb_surface ===
18446       PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
18447       PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
18448 #else
18449       PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
18450       PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
18451 #endif /*VK_USE_PLATFORM_XCB_KHR*/
18452 
18453 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
18454       //=== VK_KHR_wayland_surface ===
18455       PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
18456       PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
18457 #else
18458       PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
18459       PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
18460 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
18461 
18462 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18463       //=== VK_KHR_android_surface ===
18464       PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
18465 #else
18466       PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
18467 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18468 
18469 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18470       //=== VK_KHR_win32_surface ===
18471       PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
18472       PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
18473 #else
18474       PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
18475       PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
18476 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18477 
18478 #if defined( VK_USE_PLATFORM_OHOS )
18479     //=== VK_OHOS_surface ===
18480     PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS = 0;
18481 #else
18482     PFN_dummy vkCreateSurfaceOHOS_placeholder              = 0;
18483 #endif /*VK_USE_PLATFORM_OHOS*/
18484 
18485       //=== VK_EXT_debug_report ===
18486       PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
18487       PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
18488       PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
18489 
18490       //=== VK_EXT_debug_marker ===
18491       PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
18492       PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
18493       PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
18494       PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
18495       PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
18496 
18497       //=== VK_KHR_video_queue ===
18498       PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
18499       PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
18500       PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
18501       PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
18502       PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
18503       PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
18504       PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
18505       PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
18506       PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
18507       PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
18508       PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
18509       PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
18510 
18511       //=== VK_KHR_video_decode_queue ===
18512       PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
18513 
18514       //=== VK_EXT_transform_feedback ===
18515       PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
18516       PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
18517       PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
18518       PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
18519       PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
18520       PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
18521 
18522       //=== VK_NVX_binary_import ===
18523       PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
18524       PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
18525       PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
18526       PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
18527       PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
18528 
18529       //=== VK_NVX_image_view_handle ===
18530       PFN_vkGetImageViewHandleNVX   vkGetImageViewHandleNVX   = 0;
18531       PFN_vkGetImageViewHandle64NVX vkGetImageViewHandle64NVX = 0;
18532       PFN_vkGetImageViewAddressNVX  vkGetImageViewAddressNVX  = 0;
18533 
18534       //=== VK_AMD_draw_indirect_count ===
18535       PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
18536       PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
18537 
18538       //=== VK_AMD_shader_info ===
18539       PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
18540 
18541       //=== VK_KHR_dynamic_rendering ===
18542       PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
18543       PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
18544 
18545 #if defined( VK_USE_PLATFORM_GGP )
18546       //=== VK_GGP_stream_descriptor_surface ===
18547       PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
18548 #else
18549       PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
18550 #endif /*VK_USE_PLATFORM_GGP*/
18551 
18552       //=== VK_NV_external_memory_capabilities ===
18553       PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
18554 
18555 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18556       //=== VK_NV_external_memory_win32 ===
18557       PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
18558 #else
18559       PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
18560 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18561 
18562       //=== VK_KHR_get_physical_device_properties2 ===
18563       PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
18564       PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
18565       PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
18566       PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
18567       PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
18568       PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
18569       PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
18570 
18571       //=== VK_KHR_device_group ===
18572       PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
18573       PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
18574       PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
18575 
18576 #if defined( VK_USE_PLATFORM_VI_NN )
18577       //=== VK_NN_vi_surface ===
18578       PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
18579 #else
18580       PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
18581 #endif /*VK_USE_PLATFORM_VI_NN*/
18582 
18583       //=== VK_KHR_maintenance1 ===
18584       PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
18585 
18586       //=== VK_KHR_device_group_creation ===
18587       PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
18588 
18589       //=== VK_KHR_external_memory_capabilities ===
18590       PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
18591 
18592 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18593       //=== VK_KHR_external_memory_win32 ===
18594       PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
18595       PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
18596 #else
18597       PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
18598       PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
18599 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18600 
18601       //=== VK_KHR_external_memory_fd ===
18602       PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
18603       PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
18604 
18605       //=== VK_KHR_external_semaphore_capabilities ===
18606       PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
18607 
18608 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18609       //=== VK_KHR_external_semaphore_win32 ===
18610       PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
18611       PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
18612 #else
18613       PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
18614       PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
18615 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18616 
18617       //=== VK_KHR_external_semaphore_fd ===
18618       PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
18619       PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
18620 
18621       //=== VK_KHR_push_descriptor ===
18622       PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
18623       PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
18624 
18625       //=== VK_EXT_conditional_rendering ===
18626       PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
18627       PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
18628 
18629       //=== VK_KHR_descriptor_update_template ===
18630       PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
18631       PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
18632       PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
18633 
18634       //=== VK_NV_clip_space_w_scaling ===
18635       PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
18636 
18637       //=== VK_EXT_direct_mode_display ===
18638       PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
18639 
18640 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18641       //=== VK_EXT_acquire_xlib_display ===
18642       PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
18643       PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
18644 #else
18645       PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
18646       PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
18647 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18648 
18649       //=== VK_EXT_display_surface_counter ===
18650       PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
18651 
18652       //=== VK_EXT_display_control ===
18653       PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
18654       PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
18655       PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
18656       PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
18657 
18658       //=== VK_GOOGLE_display_timing ===
18659       PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
18660       PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
18661 
18662       //=== VK_EXT_discard_rectangles ===
18663       PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
18664       PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
18665       PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
18666 
18667       //=== VK_EXT_hdr_metadata ===
18668       PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
18669 
18670       //=== VK_KHR_create_renderpass2 ===
18671       PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
18672       PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
18673       PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
18674       PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
18675 
18676       //=== VK_KHR_shared_presentable_image ===
18677       PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
18678 
18679       //=== VK_KHR_external_fence_capabilities ===
18680       PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
18681 
18682 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18683       //=== VK_KHR_external_fence_win32 ===
18684       PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
18685       PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
18686 #else
18687       PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
18688       PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
18689 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18690 
18691       //=== VK_KHR_external_fence_fd ===
18692       PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
18693       PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
18694 
18695       //=== VK_KHR_performance_query ===
18696       PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
18697       PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
18698       PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
18699       PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
18700 
18701       //=== VK_KHR_get_surface_capabilities2 ===
18702       PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
18703       PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
18704 
18705       //=== VK_KHR_get_display_properties2 ===
18706       PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
18707       PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
18708       PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
18709       PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
18710 
18711 #if defined( VK_USE_PLATFORM_IOS_MVK )
18712       //=== VK_MVK_ios_surface ===
18713       PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
18714 #else
18715       PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
18716 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18717 
18718 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18719       //=== VK_MVK_macos_surface ===
18720       PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
18721 #else
18722       PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
18723 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18724 
18725       //=== VK_EXT_debug_utils ===
18726       PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
18727       PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
18728       PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
18729       PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
18730       PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
18731       PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
18732       PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
18733       PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
18734       PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
18735       PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
18736       PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
18737 
18738 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18739       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18740       PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
18741       PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
18742 #else
18743       PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
18744       PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
18745 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18746 
18747 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18748       //=== VK_AMDX_shader_enqueue ===
18749       PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
18750       PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
18751       PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
18752       PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
18753       PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
18754       PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
18755       PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
18756 #else
18757       PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
18758       PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
18759       PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
18760       PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
18761       PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
18762       PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
18763       PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
18764 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18765 
18766       //=== VK_EXT_sample_locations ===
18767       PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
18768       PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
18769 
18770       //=== VK_KHR_get_memory_requirements2 ===
18771       PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
18772       PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
18773       PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
18774 
18775       //=== VK_KHR_acceleration_structure ===
18776       PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
18777       PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
18778       PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
18779       PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
18780       PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
18781       PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
18782       PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
18783       PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
18784       PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
18785       PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
18786       PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
18787       PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
18788       PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
18789       PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
18790       PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
18791       PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
18792 
18793       //=== VK_KHR_ray_tracing_pipeline ===
18794       PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
18795       PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
18796       PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
18797       PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
18798       PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
18799       PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
18800       PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
18801 
18802       //=== VK_KHR_sampler_ycbcr_conversion ===
18803       PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
18804       PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
18805 
18806       //=== VK_KHR_bind_memory2 ===
18807       PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
18808       PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
18809 
18810       //=== VK_EXT_image_drm_format_modifier ===
18811       PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
18812 
18813       //=== VK_EXT_validation_cache ===
18814       PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
18815       PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
18816       PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
18817       PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
18818 
18819       //=== VK_NV_shading_rate_image ===
18820       PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
18821       PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
18822       PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
18823 
18824       //=== VK_NV_ray_tracing ===
18825       PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
18826       PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
18827       PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
18828       PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
18829       PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
18830       PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
18831       PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
18832       PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
18833       PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
18834       PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
18835       PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
18836       PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
18837 
18838       //=== VK_KHR_maintenance3 ===
18839       PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
18840 
18841       //=== VK_KHR_draw_indirect_count ===
18842       PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
18843       PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
18844 
18845       //=== VK_EXT_external_memory_host ===
18846       PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
18847 
18848       //=== VK_AMD_buffer_marker ===
18849       PFN_vkCmdWriteBufferMarkerAMD  vkCmdWriteBufferMarkerAMD  = 0;
18850       PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
18851 
18852       //=== VK_EXT_calibrated_timestamps ===
18853       PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
18854       PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
18855 
18856       //=== VK_NV_mesh_shader ===
18857       PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
18858       PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
18859       PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
18860 
18861       //=== VK_NV_scissor_exclusive ===
18862       PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
18863       PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
18864 
18865       //=== VK_NV_device_diagnostic_checkpoints ===
18866       PFN_vkCmdSetCheckpointNV        vkCmdSetCheckpointNV        = 0;
18867       PFN_vkGetQueueCheckpointDataNV  vkGetQueueCheckpointDataNV  = 0;
18868       PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
18869 
18870       //=== VK_KHR_timeline_semaphore ===
18871       PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
18872       PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
18873       PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
18874 
18875       //=== VK_INTEL_performance_query ===
18876       PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
18877       PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
18878       PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
18879       PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
18880       PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
18881       PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
18882       PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
18883       PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
18884       PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
18885 
18886       //=== VK_AMD_display_native_hdr ===
18887       PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
18888 
18889 #if defined( VK_USE_PLATFORM_FUCHSIA )
18890       //=== VK_FUCHSIA_imagepipe_surface ===
18891       PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
18892 #else
18893       PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
18894 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18895 
18896 #if defined( VK_USE_PLATFORM_METAL_EXT )
18897       //=== VK_EXT_metal_surface ===
18898       PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
18899 #else
18900       PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
18901 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18902 
18903       //=== VK_KHR_fragment_shading_rate ===
18904       PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
18905       PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
18906 
18907       //=== VK_KHR_dynamic_rendering_local_read ===
18908       PFN_vkCmdSetRenderingAttachmentLocationsKHR    vkCmdSetRenderingAttachmentLocationsKHR    = 0;
18909       PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0;
18910 
18911       //=== VK_EXT_buffer_device_address ===
18912       PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
18913 
18914       //=== VK_EXT_tooling_info ===
18915       PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
18916 
18917       //=== VK_KHR_present_wait ===
18918       PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
18919 
18920       //=== VK_NV_cooperative_matrix ===
18921       PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
18922 
18923       //=== VK_NV_coverage_reduction_mode ===
18924       PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
18925 
18926 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18927       //=== VK_EXT_full_screen_exclusive ===
18928       PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
18929       PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
18930       PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
18931       PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
18932 #else
18933       PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
18934       PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
18935       PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
18936       PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
18937 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18938 
18939       //=== VK_EXT_headless_surface ===
18940       PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
18941 
18942       //=== VK_KHR_buffer_device_address ===
18943       PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
18944       PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
18945       PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
18946 
18947       //=== VK_EXT_line_rasterization ===
18948       PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
18949 
18950       //=== VK_EXT_host_query_reset ===
18951       PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
18952 
18953       //=== VK_EXT_extended_dynamic_state ===
18954       PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
18955       PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
18956       PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
18957       PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
18958       PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
18959       PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
18960       PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
18961       PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
18962       PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
18963       PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
18964       PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
18965       PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
18966 
18967       //=== VK_KHR_deferred_host_operations ===
18968       PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
18969       PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
18970       PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
18971       PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
18972       PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
18973 
18974       //=== VK_KHR_pipeline_executable_properties ===
18975       PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
18976       PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
18977       PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
18978 
18979       //=== VK_EXT_host_image_copy ===
18980       PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
18981       PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
18982       PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
18983       PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
18984       PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
18985 
18986       //=== VK_KHR_map_memory2 ===
18987       PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
18988       PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
18989 
18990       //=== VK_EXT_swapchain_maintenance1 ===
18991       PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
18992 
18993       //=== VK_NV_device_generated_commands ===
18994       PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
18995       PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
18996       PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
18997       PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
18998       PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
18999       PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
19000 
19001       //=== VK_EXT_depth_bias_control ===
19002       PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
19003 
19004       //=== VK_EXT_acquire_drm_display ===
19005       PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
19006       PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
19007 
19008       //=== VK_EXT_private_data ===
19009       PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
19010       PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
19011       PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
19012       PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
19013 
19014       //=== VK_KHR_video_encode_queue ===
19015       PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
19016       PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
19017       PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
19018 
19019 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19020       //=== VK_NV_cuda_kernel_launch ===
19021       PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
19022       PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
19023       PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
19024       PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
19025       PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
19026       PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
19027 #else
19028       PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
19029       PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
19030       PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
19031       PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
19032       PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
19033       PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
19034 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19035 
19036 #if defined( VK_USE_PLATFORM_METAL_EXT )
19037       //=== VK_EXT_metal_objects ===
19038       PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
19039 #else
19040       PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
19041 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19042 
19043       //=== VK_KHR_synchronization2 ===
19044       PFN_vkCmdSetEvent2KHR        vkCmdSetEvent2KHR        = 0;
19045       PFN_vkCmdResetEvent2KHR      vkCmdResetEvent2KHR      = 0;
19046       PFN_vkCmdWaitEvents2KHR      vkCmdWaitEvents2KHR      = 0;
19047       PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0;
19048       PFN_vkCmdWriteTimestamp2KHR  vkCmdWriteTimestamp2KHR  = 0;
19049       PFN_vkQueueSubmit2KHR        vkQueueSubmit2KHR        = 0;
19050 
19051       //=== VK_EXT_descriptor_buffer ===
19052       PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
19053       PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
19054       PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
19055       PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
19056       PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
19057       PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
19058       PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
19059       PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
19060       PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
19061       PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
19062       PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
19063 
19064       //=== VK_NV_fragment_shading_rate_enums ===
19065       PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
19066 
19067       //=== VK_EXT_mesh_shader ===
19068       PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
19069       PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
19070       PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
19071 
19072       //=== VK_KHR_copy_commands2 ===
19073       PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
19074       PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
19075       PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
19076       PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
19077       PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
19078       PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
19079 
19080       //=== VK_EXT_device_fault ===
19081       PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
19082 
19083 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19084       //=== VK_NV_acquire_winrt_display ===
19085       PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
19086       PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
19087 #else
19088       PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
19089       PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
19090 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19091 
19092 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
19093       //=== VK_EXT_directfb_surface ===
19094       PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
19095       PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
19096 #else
19097       PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
19098       PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
19099 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
19100 
19101       //=== VK_EXT_vertex_input_dynamic_state ===
19102       PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
19103 
19104 #if defined( VK_USE_PLATFORM_FUCHSIA )
19105       //=== VK_FUCHSIA_external_memory ===
19106       PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
19107       PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
19108 #else
19109       PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
19110       PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
19111 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19112 
19113 #if defined( VK_USE_PLATFORM_FUCHSIA )
19114       //=== VK_FUCHSIA_external_semaphore ===
19115       PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
19116       PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
19117 #else
19118       PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
19119       PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
19120 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19121 
19122 #if defined( VK_USE_PLATFORM_FUCHSIA )
19123       //=== VK_FUCHSIA_buffer_collection ===
19124       PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
19125       PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
19126       PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
19127       PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
19128       PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
19129 #else
19130       PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
19131       PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
19132       PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
19133       PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
19134       PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
19135 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19136 
19137       //=== VK_HUAWEI_subpass_shading ===
19138       PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
19139       PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
19140 
19141       //=== VK_HUAWEI_invocation_mask ===
19142       PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
19143 
19144       //=== VK_NV_external_memory_rdma ===
19145       PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
19146 
19147       //=== VK_EXT_pipeline_properties ===
19148       PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
19149 
19150       //=== VK_EXT_extended_dynamic_state2 ===
19151       PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
19152       PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
19153       PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
19154       PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
19155       PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
19156 
19157 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19158       //=== VK_QNX_screen_surface ===
19159       PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
19160       PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
19161 #else
19162       PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
19163       PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
19164 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19165 
19166       //=== VK_EXT_color_write_enable ===
19167       PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
19168 
19169       //=== VK_KHR_ray_tracing_maintenance1 ===
19170       PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
19171 
19172       //=== VK_EXT_multi_draw ===
19173       PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
19174       PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
19175 
19176       //=== VK_EXT_opacity_micromap ===
19177       PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
19178       PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
19179       PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
19180       PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
19181       PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
19182       PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
19183       PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
19184       PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
19185       PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
19186       PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
19187       PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
19188       PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
19189       PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
19190       PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
19191 
19192       //=== VK_HUAWEI_cluster_culling_shader ===
19193       PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
19194       PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
19195 
19196       //=== VK_EXT_pageable_device_local_memory ===
19197       PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
19198 
19199       //=== VK_KHR_maintenance4 ===
19200       PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
19201       PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
19202       PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
19203 
19204       //=== VK_VALVE_descriptor_set_host_mapping ===
19205       PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
19206       PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
19207 
19208       //=== VK_NV_copy_memory_indirect ===
19209       PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
19210       PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
19211 
19212       //=== VK_NV_memory_decompression ===
19213       PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
19214       PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
19215 
19216       //=== VK_NV_device_generated_commands_compute ===
19217       PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
19218       PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
19219       PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
19220 
19221       //=== VK_EXT_extended_dynamic_state3 ===
19222       PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
19223       PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
19224       PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
19225       PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
19226       PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
19227       PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
19228       PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
19229       PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
19230       PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
19231       PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
19232       PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
19233       PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
19234       PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
19235       PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
19236       PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
19237       PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
19238       PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
19239       PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
19240       PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
19241       PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
19242       PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
19243       PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
19244       PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
19245       PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
19246       PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
19247       PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
19248       PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
19249       PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
19250       PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
19251       PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
19252       PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
19253 
19254       //=== VK_EXT_shader_module_identifier ===
19255       PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
19256       PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
19257 
19258       //=== VK_NV_optical_flow ===
19259       PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
19260       PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
19261       PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
19262       PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
19263       PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
19264 
19265       //=== VK_KHR_maintenance5 ===
19266       PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
19267       PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
19268       PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
19269       PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
19270 
19271       //=== VK_AMD_anti_lag ===
19272       PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD = 0;
19273 
19274       //=== VK_EXT_shader_object ===
19275       PFN_vkCreateShadersEXT         vkCreateShadersEXT         = 0;
19276       PFN_vkDestroyShaderEXT         vkDestroyShaderEXT         = 0;
19277       PFN_vkGetShaderBinaryDataEXT   vkGetShaderBinaryDataEXT   = 0;
19278       PFN_vkCmdBindShadersEXT        vkCmdBindShadersEXT        = 0;
19279       PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT = 0;
19280 
19281       //=== VK_KHR_pipeline_binary ===
19282       PFN_vkCreatePipelineBinariesKHR      vkCreatePipelineBinariesKHR      = 0;
19283       PFN_vkDestroyPipelineBinaryKHR       vkDestroyPipelineBinaryKHR       = 0;
19284       PFN_vkGetPipelineKeyKHR              vkGetPipelineKeyKHR              = 0;
19285       PFN_vkGetPipelineBinaryDataKHR       vkGetPipelineBinaryDataKHR       = 0;
19286       PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR = 0;
19287 
19288       //=== VK_QCOM_tile_properties ===
19289       PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
19290       PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
19291 
19292       //=== VK_NV_cooperative_vector ===
19293       PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV vkGetPhysicalDeviceCooperativeVectorPropertiesNV = 0;
19294       PFN_vkConvertCooperativeVectorMatrixNV               vkConvertCooperativeVectorMatrixNV               = 0;
19295       PFN_vkCmdConvertCooperativeVectorMatrixNV            vkCmdConvertCooperativeVectorMatrixNV            = 0;
19296 
19297       //=== VK_NV_low_latency2 ===
19298       PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
19299       PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
19300       PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
19301       PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
19302       PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
19303 
19304       //=== VK_KHR_cooperative_matrix ===
19305       PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
19306 
19307       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
19308       PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
19309 
19310 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19311       //=== VK_QNX_external_memory_screen_buffer ===
19312       PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
19313 #else
19314       PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
19315 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19316 
19317       //=== VK_KHR_line_rasterization ===
19318       PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0;
19319 
19320       //=== VK_KHR_calibrated_timestamps ===
19321       PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
19322       PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
19323 
19324       //=== VK_KHR_maintenance6 ===
19325       PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
19326       PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
19327       PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
19328       PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
19329       PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
19330       PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
19331 
19332       //=== VK_NV_cluster_acceleration_structure ===
19333       PFN_vkGetClusterAccelerationStructureBuildSizesNV    vkGetClusterAccelerationStructureBuildSizesNV    = 0;
19334       PFN_vkCmdBuildClusterAccelerationStructureIndirectNV vkCmdBuildClusterAccelerationStructureIndirectNV = 0;
19335 
19336       //=== VK_NV_partitioned_acceleration_structure ===
19337       PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV vkGetPartitionedAccelerationStructuresBuildSizesNV = 0;
19338       PFN_vkCmdBuildPartitionedAccelerationStructuresNV      vkCmdBuildPartitionedAccelerationStructuresNV      = 0;
19339 
19340       //=== VK_EXT_device_generated_commands ===
19341       PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT = 0;
19342       PFN_vkCmdPreprocessGeneratedCommandsEXT         vkCmdPreprocessGeneratedCommandsEXT         = 0;
19343       PFN_vkCmdExecuteGeneratedCommandsEXT            vkCmdExecuteGeneratedCommandsEXT            = 0;
19344       PFN_vkCreateIndirectCommandsLayoutEXT           vkCreateIndirectCommandsLayoutEXT           = 0;
19345       PFN_vkDestroyIndirectCommandsLayoutEXT          vkDestroyIndirectCommandsLayoutEXT          = 0;
19346       PFN_vkCreateIndirectExecutionSetEXT             vkCreateIndirectExecutionSetEXT             = 0;
19347       PFN_vkDestroyIndirectExecutionSetEXT            vkDestroyIndirectExecutionSetEXT            = 0;
19348       PFN_vkUpdateIndirectExecutionSetPipelineEXT     vkUpdateIndirectExecutionSetPipelineEXT     = 0;
19349       PFN_vkUpdateIndirectExecutionSetShaderEXT       vkUpdateIndirectExecutionSetShaderEXT       = 0;
19350 
19351       //=== VK_NV_cooperative_matrix2 ===
19352       PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = 0;
19353 
19354 #if defined( VK_USE_PLATFORM_METAL_EXT )
19355       //=== VK_EXT_external_memory_metal ===
19356       PFN_vkGetMemoryMetalHandleEXT           vkGetMemoryMetalHandleEXT           = 0;
19357       PFN_vkGetMemoryMetalHandlePropertiesEXT vkGetMemoryMetalHandlePropertiesEXT = 0;
19358 #else
19359       PFN_dummy vkGetMemoryMetalHandleEXT_placeholder                         = 0;
19360       PFN_dummy vkGetMemoryMetalHandlePropertiesEXT_placeholder               = 0;
19361 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19362 
19363     public:
19364       DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
19365       DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
19366 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)19367       DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
19368       {
19369         init( getInstanceProcAddr );
19370       }
19371 
19372       // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)19373       DispatchLoaderDynamic( VkInstance                instance,
19374                              PFN_vkGetInstanceProcAddr getInstanceProcAddr,
19375                              VkDevice                  device            = {},
19376                              PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
19377       {
19378         init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
19379       }
19380 
19381       template <typename DynamicLoader
19382 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
19383                 = VULKAN_HPP_NAMESPACE::detail::DynamicLoader
19384 #endif
19385                 >
init()19386       void init()
19387       {
19388         static DynamicLoader dl;
19389         init( dl );
19390       }
19391 
19392       template <typename DynamicLoader>
init(DynamicLoader const & dl)19393       void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
19394       {
19395         PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
19396         init( getInstanceProcAddr );
19397       }
19398 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)19399       void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
19400       {
19401         VULKAN_HPP_ASSERT( getInstanceProcAddr );
19402 
19403         vkGetInstanceProcAddr = getInstanceProcAddr;
19404 
19405         //=== VK_VERSION_1_0 ===
19406         vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
19407         vkEnumerateInstanceExtensionProperties =
19408           PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
19409         vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
19410 
19411         //=== VK_VERSION_1_1 ===
19412         vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
19413       }
19414 
19415       // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)19416       void init( VkInstance                instance,
19417                  PFN_vkGetInstanceProcAddr getInstanceProcAddr,
19418                  VkDevice                  device              = {},
19419                  PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
19420       {
19421         VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
19422         vkGetInstanceProcAddr = getInstanceProcAddr;
19423         init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
19424         if ( device )
19425         {
19426           init( VULKAN_HPP_NAMESPACE::Device( device ) );
19427         }
19428       }
19429 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)19430       void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
19431       {
19432         VkInstance instance = static_cast<VkInstance>( instanceCpp );
19433 
19434         //=== VK_VERSION_1_0 ===
19435         vkDestroyInstance           = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
19436         vkEnumeratePhysicalDevices  = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
19437         vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
19438         vkGetPhysicalDeviceFormatProperties =
19439           PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
19440         vkGetPhysicalDeviceImageFormatProperties =
19441           PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
19442         vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
19443         vkGetPhysicalDeviceQueueFamilyProperties =
19444           PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
19445         vkGetPhysicalDeviceMemoryProperties =
19446           PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
19447         vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
19448         vkCreateDevice      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
19449         vkDestroyDevice     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
19450         vkEnumerateDeviceExtensionProperties =
19451           PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
19452         vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
19453         vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
19454         vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
19455         vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
19456         vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
19457         vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
19458         vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
19459         vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
19460         vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
19461         vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
19462         vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
19463         vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
19464         vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
19465         vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
19466         vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
19467         vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
19468         vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
19469         vkGetPhysicalDeviceSparseImageFormatProperties =
19470           PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
19471         vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
19472         vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
19473         vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
19474         vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
19475         vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
19476         vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
19477         vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
19478         vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
19479         vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
19480         vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
19481         vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
19482         vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
19483         vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
19484         vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
19485         vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
19486         vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
19487         vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
19488         vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
19489         vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
19490         vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
19491         vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
19492         vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
19493         vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
19494         vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
19495         vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
19496         vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
19497         vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
19498         vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
19499         vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
19500         vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
19501         vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
19502         vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
19503         vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
19504         vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
19505         vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
19506         vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
19507         vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
19508         vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
19509         vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
19510         vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
19511         vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
19512         vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
19513         vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
19514         vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
19515         vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
19516         vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
19517         vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
19518         vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
19519         vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
19520         vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
19521         vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
19522         vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
19523         vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
19524         vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
19525         vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
19526         vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
19527         vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
19528         vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
19529         vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
19530         vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
19531         vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
19532         vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
19533         vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
19534         vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
19535         vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
19536         vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
19537         vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
19538         vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
19539         vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
19540         vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
19541         vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
19542         vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
19543         vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
19544         vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
19545         vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
19546         vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
19547         vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
19548         vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
19549         vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
19550         vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
19551         vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
19552         vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
19553         vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
19554         vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
19555         vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
19556         vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
19557         vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
19558         vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
19559         vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
19560         vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
19561         vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
19562         vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
19563         vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
19564         vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
19565         vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
19566         vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
19567         vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
19568         vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
19569         vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
19570         vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
19571         vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
19572         vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
19573         vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
19574 
19575         //=== VK_VERSION_1_1 ===
19576         vkBindBufferMemory2                = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
19577         vkBindImageMemory2                 = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
19578         vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19579         vkCmdSetDeviceMask                 = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
19580         vkCmdDispatchBase                  = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
19581         vkEnumeratePhysicalDeviceGroups    = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
19582         vkGetImageMemoryRequirements2      = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
19583         vkGetBufferMemoryRequirements2     = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
19584         vkGetImageSparseMemoryRequirements2 =
19585           PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
19586         vkGetPhysicalDeviceFeatures2   = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
19587         vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
19588         vkGetPhysicalDeviceFormatProperties2 =
19589           PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
19590         vkGetPhysicalDeviceImageFormatProperties2 =
19591           PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
19592         vkGetPhysicalDeviceQueueFamilyProperties2 =
19593           PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
19594         vkGetPhysicalDeviceMemoryProperties2 =
19595           PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
19596         vkGetPhysicalDeviceSparseImageFormatProperties2 =
19597           PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
19598         vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
19599         vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
19600         vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
19601         vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
19602         vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
19603         vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
19604         vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
19605         vkGetPhysicalDeviceExternalBufferProperties =
19606           PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
19607         vkGetPhysicalDeviceExternalFenceProperties =
19608           PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
19609         vkGetPhysicalDeviceExternalSemaphoreProperties =
19610           PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
19611         vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
19612 
19613         //=== VK_VERSION_1_2 ===
19614         vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
19615         vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
19616         vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
19617         vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
19618         vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
19619         vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
19620         vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
19621         vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
19622         vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
19623         vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
19624         vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
19625         vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
19626         vkGetDeviceMemoryOpaqueCaptureAddress =
19627           PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19628 
19629         //=== VK_VERSION_1_3 ===
19630         vkGetPhysicalDeviceToolProperties = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
19631         vkCreatePrivateDataSlot           = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
19632         vkDestroyPrivateDataSlot          = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
19633         vkSetPrivateData                  = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
19634         vkGetPrivateData                  = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
19635         vkCmdSetEvent2                    = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
19636         vkCmdResetEvent2                  = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
19637         vkCmdWaitEvents2                  = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
19638         vkCmdPipelineBarrier2             = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
19639         vkCmdWriteTimestamp2              = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
19640         vkQueueSubmit2                    = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
19641         vkCmdCopyBuffer2                  = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
19642         vkCmdCopyImage2                   = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
19643         vkCmdCopyBufferToImage2           = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
19644         vkCmdCopyImageToBuffer2           = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
19645         vkCmdBlitImage2                   = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
19646         vkCmdResolveImage2                = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
19647         vkCmdBeginRendering               = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
19648         vkCmdEndRendering                 = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
19649         vkCmdSetCullMode                  = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
19650         vkCmdSetFrontFace                 = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
19651         vkCmdSetPrimitiveTopology         = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
19652         vkCmdSetViewportWithCount         = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
19653         vkCmdSetScissorWithCount          = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
19654         vkCmdBindVertexBuffers2           = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
19655         vkCmdSetDepthTestEnable           = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
19656         vkCmdSetDepthWriteEnable          = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
19657         vkCmdSetDepthCompareOp            = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
19658         vkCmdSetDepthBoundsTestEnable     = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
19659         vkCmdSetStencilTestEnable         = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
19660         vkCmdSetStencilOp                 = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
19661         vkCmdSetRasterizerDiscardEnable   = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
19662         vkCmdSetDepthBiasEnable           = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
19663         vkCmdSetPrimitiveRestartEnable    = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
19664         vkGetDeviceBufferMemoryRequirements =
19665           PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
19666         vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
19667         vkGetDeviceImageSparseMemoryRequirements =
19668           PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
19669 
19670         //=== VK_VERSION_1_4 ===
19671         vkCmdSetLineStipple                = PFN_vkCmdSetLineStipple( vkGetInstanceProcAddr( instance, "vkCmdSetLineStipple" ) );
19672         vkMapMemory2                       = PFN_vkMapMemory2( vkGetInstanceProcAddr( instance, "vkMapMemory2" ) );
19673         vkUnmapMemory2                     = PFN_vkUnmapMemory2( vkGetInstanceProcAddr( instance, "vkUnmapMemory2" ) );
19674         vkCmdBindIndexBuffer2              = PFN_vkCmdBindIndexBuffer2( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2" ) );
19675         vkGetRenderingAreaGranularity      = PFN_vkGetRenderingAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularity" ) );
19676         vkGetDeviceImageSubresourceLayout  = PFN_vkGetDeviceImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayout" ) );
19677         vkGetImageSubresourceLayout2       = PFN_vkGetImageSubresourceLayout2( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2" ) );
19678         vkCmdPushDescriptorSet             = PFN_vkCmdPushDescriptorSet( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet" ) );
19679         vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate" ) );
19680         vkCmdSetRenderingAttachmentLocations =
19681           PFN_vkCmdSetRenderingAttachmentLocations( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocations" ) );
19682         vkCmdSetRenderingInputAttachmentIndices =
19683           PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndices" ) );
19684         vkCmdBindDescriptorSets2 = PFN_vkCmdBindDescriptorSets2( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2" ) );
19685         vkCmdPushConstants2      = PFN_vkCmdPushConstants2( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2" ) );
19686         vkCmdPushDescriptorSet2  = PFN_vkCmdPushDescriptorSet2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2" ) );
19687         vkCmdPushDescriptorSetWithTemplate2 =
19688           PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2" ) );
19689         vkCopyMemoryToImage     = PFN_vkCopyMemoryToImage( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImage" ) );
19690         vkCopyImageToMemory     = PFN_vkCopyImageToMemory( vkGetInstanceProcAddr( instance, "vkCopyImageToMemory" ) );
19691         vkCopyImageToImage      = PFN_vkCopyImageToImage( vkGetInstanceProcAddr( instance, "vkCopyImageToImage" ) );
19692         vkTransitionImageLayout = PFN_vkTransitionImageLayout( vkGetInstanceProcAddr( instance, "vkTransitionImageLayout" ) );
19693 
19694         //=== VK_KHR_surface ===
19695         vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
19696         vkGetPhysicalDeviceSurfaceSupportKHR =
19697           PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
19698         vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
19699           PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
19700         vkGetPhysicalDeviceSurfaceFormatsKHR =
19701           PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
19702         vkGetPhysicalDeviceSurfacePresentModesKHR =
19703           PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
19704 
19705         //=== VK_KHR_swapchain ===
19706         vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
19707         vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
19708         vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
19709         vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
19710         vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
19711         vkGetDeviceGroupPresentCapabilitiesKHR =
19712           PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19713         vkGetDeviceGroupSurfacePresentModesKHR =
19714           PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19715         vkGetPhysicalDevicePresentRectanglesKHR =
19716           PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
19717         vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
19718 
19719         //=== VK_KHR_display ===
19720         vkGetPhysicalDeviceDisplayPropertiesKHR =
19721           PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
19722         vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
19723           PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
19724         vkGetDisplayPlaneSupportedDisplaysKHR =
19725           PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
19726         vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
19727         vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
19728         vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
19729         vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
19730 
19731         //=== VK_KHR_display_swapchain ===
19732         vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
19733 
19734 #if defined( VK_USE_PLATFORM_XLIB_KHR )
19735         //=== VK_KHR_xlib_surface ===
19736         vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
19737         vkGetPhysicalDeviceXlibPresentationSupportKHR =
19738           PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
19739 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
19740 
19741 #if defined( VK_USE_PLATFORM_XCB_KHR )
19742         //=== VK_KHR_xcb_surface ===
19743         vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
19744         vkGetPhysicalDeviceXcbPresentationSupportKHR =
19745           PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
19746 #endif /*VK_USE_PLATFORM_XCB_KHR*/
19747 
19748 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
19749         //=== VK_KHR_wayland_surface ===
19750         vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
19751         vkGetPhysicalDeviceWaylandPresentationSupportKHR =
19752           PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
19753 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
19754 
19755 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19756         //=== VK_KHR_android_surface ===
19757         vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
19758 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19759 
19760 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19761         //=== VK_KHR_win32_surface ===
19762         vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
19763         vkGetPhysicalDeviceWin32PresentationSupportKHR =
19764           PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
19765 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19766 
19767 #if defined( VK_USE_PLATFORM_OHOS )
19768       //=== VK_OHOS_surface ===
19769       vkCreateSurfaceOHOS = PFN_vkCreateSurfaceOHOS( vkGetInstanceProcAddr( instance, "vkCreateSurfaceOHOS" ) );
19770 #endif /*VK_USE_PLATFORM_OHOS*/
19771 
19772         //=== VK_EXT_debug_report ===
19773         vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
19774         vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
19775         vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
19776 
19777         //=== VK_EXT_debug_marker ===
19778         vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
19779         vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
19780         vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
19781         vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
19782         vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
19783 
19784         //=== VK_KHR_video_queue ===
19785         vkGetPhysicalDeviceVideoCapabilitiesKHR =
19786           PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
19787         vkGetPhysicalDeviceVideoFormatPropertiesKHR =
19788           PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
19789         vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
19790         vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
19791         vkGetVideoSessionMemoryRequirementsKHR =
19792           PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
19793         vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
19794         vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
19795         vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
19796         vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
19797         vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
19798         vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
19799         vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
19800 
19801         //=== VK_KHR_video_decode_queue ===
19802         vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
19803 
19804         //=== VK_EXT_transform_feedback ===
19805         vkCmdBindTransformFeedbackBuffersEXT =
19806           PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
19807         vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
19808         vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
19809         vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
19810         vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
19811         vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
19812 
19813         //=== VK_NVX_binary_import ===
19814         vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
19815         vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
19816         vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
19817         vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
19818         vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
19819 
19820         //=== VK_NVX_image_view_handle ===
19821         vkGetImageViewHandleNVX   = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
19822         vkGetImageViewHandle64NVX = PFN_vkGetImageViewHandle64NVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandle64NVX" ) );
19823         vkGetImageViewAddressNVX  = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
19824 
19825         //=== VK_AMD_draw_indirect_count ===
19826         vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
19827         if ( !vkCmdDrawIndirectCount )
19828           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
19829         vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
19830         if ( !vkCmdDrawIndexedIndirectCount )
19831           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
19832 
19833         //=== VK_AMD_shader_info ===
19834         vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
19835 
19836         //=== VK_KHR_dynamic_rendering ===
19837         vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
19838         if ( !vkCmdBeginRendering )
19839           vkCmdBeginRendering = vkCmdBeginRenderingKHR;
19840         vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
19841         if ( !vkCmdEndRendering )
19842           vkCmdEndRendering = vkCmdEndRenderingKHR;
19843 
19844 #if defined( VK_USE_PLATFORM_GGP )
19845         //=== VK_GGP_stream_descriptor_surface ===
19846         vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
19847 #endif /*VK_USE_PLATFORM_GGP*/
19848 
19849         //=== VK_NV_external_memory_capabilities ===
19850         vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
19851           PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
19852 
19853 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19854         //=== VK_NV_external_memory_win32 ===
19855         vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
19856 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19857 
19858         //=== VK_KHR_get_physical_device_properties2 ===
19859         vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
19860         if ( !vkGetPhysicalDeviceFeatures2 )
19861           vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
19862         vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
19863         if ( !vkGetPhysicalDeviceProperties2 )
19864           vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
19865         vkGetPhysicalDeviceFormatProperties2KHR =
19866           PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
19867         if ( !vkGetPhysicalDeviceFormatProperties2 )
19868           vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
19869         vkGetPhysicalDeviceImageFormatProperties2KHR =
19870           PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
19871         if ( !vkGetPhysicalDeviceImageFormatProperties2 )
19872           vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
19873         vkGetPhysicalDeviceQueueFamilyProperties2KHR =
19874           PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
19875         if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
19876           vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
19877         vkGetPhysicalDeviceMemoryProperties2KHR =
19878           PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
19879         if ( !vkGetPhysicalDeviceMemoryProperties2 )
19880           vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
19881         vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
19882           PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
19883         if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
19884           vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
19885 
19886         //=== VK_KHR_device_group ===
19887         vkGetDeviceGroupPeerMemoryFeaturesKHR =
19888           PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
19889         if ( !vkGetDeviceGroupPeerMemoryFeatures )
19890           vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
19891         vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
19892         if ( !vkCmdSetDeviceMask )
19893           vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
19894         vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
19895         if ( !vkCmdDispatchBase )
19896           vkCmdDispatchBase = vkCmdDispatchBaseKHR;
19897 
19898 #if defined( VK_USE_PLATFORM_VI_NN )
19899         //=== VK_NN_vi_surface ===
19900         vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
19901 #endif /*VK_USE_PLATFORM_VI_NN*/
19902 
19903         //=== VK_KHR_maintenance1 ===
19904         vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
19905         if ( !vkTrimCommandPool )
19906           vkTrimCommandPool = vkTrimCommandPoolKHR;
19907 
19908         //=== VK_KHR_device_group_creation ===
19909         vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
19910         if ( !vkEnumeratePhysicalDeviceGroups )
19911           vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
19912 
19913         //=== VK_KHR_external_memory_capabilities ===
19914         vkGetPhysicalDeviceExternalBufferPropertiesKHR =
19915           PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
19916         if ( !vkGetPhysicalDeviceExternalBufferProperties )
19917           vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
19918 
19919 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19920         //=== VK_KHR_external_memory_win32 ===
19921         vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
19922         vkGetMemoryWin32HandlePropertiesKHR =
19923           PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
19924 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19925 
19926         //=== VK_KHR_external_memory_fd ===
19927         vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
19928         vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
19929 
19930         //=== VK_KHR_external_semaphore_capabilities ===
19931         vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
19932           PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
19933         if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
19934           vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
19935 
19936 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19937         //=== VK_KHR_external_semaphore_win32 ===
19938         vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
19939         vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
19940 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19941 
19942         //=== VK_KHR_external_semaphore_fd ===
19943         vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
19944         vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
19945 
19946         //=== VK_KHR_push_descriptor ===
19947         vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
19948         if ( !vkCmdPushDescriptorSet )
19949           vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
19950         vkCmdPushDescriptorSetWithTemplateKHR =
19951           PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
19952         if ( !vkCmdPushDescriptorSetWithTemplate )
19953           vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
19954 
19955         //=== VK_EXT_conditional_rendering ===
19956         vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
19957         vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
19958 
19959         //=== VK_KHR_descriptor_update_template ===
19960         vkCreateDescriptorUpdateTemplateKHR =
19961           PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
19962         if ( !vkCreateDescriptorUpdateTemplate )
19963           vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
19964         vkDestroyDescriptorUpdateTemplateKHR =
19965           PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
19966         if ( !vkDestroyDescriptorUpdateTemplate )
19967           vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
19968         vkUpdateDescriptorSetWithTemplateKHR =
19969           PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
19970         if ( !vkUpdateDescriptorSetWithTemplate )
19971           vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
19972 
19973         //=== VK_NV_clip_space_w_scaling ===
19974         vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
19975 
19976         //=== VK_EXT_direct_mode_display ===
19977         vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
19978 
19979 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
19980         //=== VK_EXT_acquire_xlib_display ===
19981         vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
19982         vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
19983 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
19984 
19985         //=== VK_EXT_display_surface_counter ===
19986         vkGetPhysicalDeviceSurfaceCapabilities2EXT =
19987           PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
19988 
19989         //=== VK_EXT_display_control ===
19990         vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
19991         vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
19992         vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
19993         vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
19994 
19995         //=== VK_GOOGLE_display_timing ===
19996         vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
19997         vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
19998 
19999         //=== VK_EXT_discard_rectangles ===
20000         vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
20001         vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
20002         vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
20003 
20004         //=== VK_EXT_hdr_metadata ===
20005         vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
20006 
20007         //=== VK_KHR_create_renderpass2 ===
20008         vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
20009         if ( !vkCreateRenderPass2 )
20010           vkCreateRenderPass2 = vkCreateRenderPass2KHR;
20011         vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
20012         if ( !vkCmdBeginRenderPass2 )
20013           vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
20014         vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
20015         if ( !vkCmdNextSubpass2 )
20016           vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
20017         vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
20018         if ( !vkCmdEndRenderPass2 )
20019           vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
20020 
20021         //=== VK_KHR_shared_presentable_image ===
20022         vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
20023 
20024         //=== VK_KHR_external_fence_capabilities ===
20025         vkGetPhysicalDeviceExternalFencePropertiesKHR =
20026           PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
20027         if ( !vkGetPhysicalDeviceExternalFenceProperties )
20028           vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
20029 
20030 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20031         //=== VK_KHR_external_fence_win32 ===
20032         vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
20033         vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
20034 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20035 
20036         //=== VK_KHR_external_fence_fd ===
20037         vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
20038         vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
20039 
20040         //=== VK_KHR_performance_query ===
20041         vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
20042           vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
20043         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
20044           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
20045         vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
20046         vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
20047 
20048         //=== VK_KHR_get_surface_capabilities2 ===
20049         vkGetPhysicalDeviceSurfaceCapabilities2KHR =
20050           PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
20051         vkGetPhysicalDeviceSurfaceFormats2KHR =
20052           PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
20053 
20054         //=== VK_KHR_get_display_properties2 ===
20055         vkGetPhysicalDeviceDisplayProperties2KHR =
20056           PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
20057         vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
20058           PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
20059         vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
20060         vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
20061 
20062 #if defined( VK_USE_PLATFORM_IOS_MVK )
20063         //=== VK_MVK_ios_surface ===
20064         vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
20065 #endif /*VK_USE_PLATFORM_IOS_MVK*/
20066 
20067 #if defined( VK_USE_PLATFORM_MACOS_MVK )
20068         //=== VK_MVK_macos_surface ===
20069         vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
20070 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
20071 
20072         //=== VK_EXT_debug_utils ===
20073         vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
20074         vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
20075         vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
20076         vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
20077         vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
20078         vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
20079         vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
20080         vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
20081         vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
20082         vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
20083         vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
20084 
20085 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
20086         //=== VK_ANDROID_external_memory_android_hardware_buffer ===
20087         vkGetAndroidHardwareBufferPropertiesANDROID =
20088           PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
20089         vkGetMemoryAndroidHardwareBufferANDROID =
20090           PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
20091 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
20092 
20093 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20094         //=== VK_AMDX_shader_enqueue ===
20095         vkCreateExecutionGraphPipelinesAMDX =
20096           PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
20097         vkGetExecutionGraphPipelineScratchSizeAMDX =
20098           PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
20099         vkGetExecutionGraphPipelineNodeIndexAMDX =
20100           PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
20101         vkCmdInitializeGraphScratchMemoryAMDX =
20102           PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
20103         vkCmdDispatchGraphAMDX         = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
20104         vkCmdDispatchGraphIndirectAMDX = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
20105         vkCmdDispatchGraphIndirectCountAMDX =
20106           PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
20107 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20108 
20109         //=== VK_EXT_sample_locations ===
20110         vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
20111         vkGetPhysicalDeviceMultisamplePropertiesEXT =
20112           PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
20113 
20114         //=== VK_KHR_get_memory_requirements2 ===
20115         vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
20116         if ( !vkGetImageMemoryRequirements2 )
20117           vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
20118         vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
20119         if ( !vkGetBufferMemoryRequirements2 )
20120           vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
20121         vkGetImageSparseMemoryRequirements2KHR =
20122           PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
20123         if ( !vkGetImageSparseMemoryRequirements2 )
20124           vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
20125 
20126         //=== VK_KHR_acceleration_structure ===
20127         vkCreateAccelerationStructureKHR  = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
20128         vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
20129         vkCmdBuildAccelerationStructuresKHR =
20130           PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
20131         vkCmdBuildAccelerationStructuresIndirectKHR =
20132           PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
20133         vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
20134         vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
20135         vkCopyAccelerationStructureToMemoryKHR =
20136           PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
20137         vkCopyMemoryToAccelerationStructureKHR =
20138           PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
20139         vkWriteAccelerationStructuresPropertiesKHR =
20140           PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
20141         vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
20142         vkCmdCopyAccelerationStructureToMemoryKHR =
20143           PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
20144         vkCmdCopyMemoryToAccelerationStructureKHR =
20145           PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
20146         vkGetAccelerationStructureDeviceAddressKHR =
20147           PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
20148         vkCmdWriteAccelerationStructuresPropertiesKHR =
20149           PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
20150         vkGetDeviceAccelerationStructureCompatibilityKHR =
20151           PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
20152         vkGetAccelerationStructureBuildSizesKHR =
20153           PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
20154 
20155         //=== VK_KHR_ray_tracing_pipeline ===
20156         vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
20157         vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
20158         vkGetRayTracingShaderGroupHandlesKHR =
20159           PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
20160         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
20161           PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
20162         vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
20163         vkGetRayTracingShaderGroupStackSizeKHR =
20164           PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
20165         vkCmdSetRayTracingPipelineStackSizeKHR =
20166           PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
20167 
20168         //=== VK_KHR_sampler_ycbcr_conversion ===
20169         vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
20170         if ( !vkCreateSamplerYcbcrConversion )
20171           vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
20172         vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
20173         if ( !vkDestroySamplerYcbcrConversion )
20174           vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
20175 
20176         //=== VK_KHR_bind_memory2 ===
20177         vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
20178         if ( !vkBindBufferMemory2 )
20179           vkBindBufferMemory2 = vkBindBufferMemory2KHR;
20180         vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
20181         if ( !vkBindImageMemory2 )
20182           vkBindImageMemory2 = vkBindImageMemory2KHR;
20183 
20184         //=== VK_EXT_image_drm_format_modifier ===
20185         vkGetImageDrmFormatModifierPropertiesEXT =
20186           PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
20187 
20188         //=== VK_EXT_validation_cache ===
20189         vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
20190         vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
20191         vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
20192         vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
20193 
20194         //=== VK_NV_shading_rate_image ===
20195         vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
20196         vkCmdSetViewportShadingRatePaletteNV =
20197           PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
20198         vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
20199 
20200         //=== VK_NV_ray_tracing ===
20201         vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
20202         vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
20203         vkGetAccelerationStructureMemoryRequirementsNV =
20204           PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
20205         vkBindAccelerationStructureMemoryNV =
20206           PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
20207         vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
20208         vkCmdCopyAccelerationStructureNV  = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
20209         vkCmdTraceRaysNV                  = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
20210         vkCreateRayTracingPipelinesNV     = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
20211         vkGetRayTracingShaderGroupHandlesNV =
20212           PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
20213         if ( !vkGetRayTracingShaderGroupHandlesKHR )
20214           vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
20215         vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
20216         vkCmdWriteAccelerationStructuresPropertiesNV =
20217           PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
20218         vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
20219 
20220         //=== VK_KHR_maintenance3 ===
20221         vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
20222         if ( !vkGetDescriptorSetLayoutSupport )
20223           vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
20224 
20225         //=== VK_KHR_draw_indirect_count ===
20226         vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
20227         if ( !vkCmdDrawIndirectCount )
20228           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
20229         vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
20230         if ( !vkCmdDrawIndexedIndirectCount )
20231           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
20232 
20233         //=== VK_EXT_external_memory_host ===
20234         vkGetMemoryHostPointerPropertiesEXT =
20235           PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
20236 
20237         //=== VK_AMD_buffer_marker ===
20238         vkCmdWriteBufferMarkerAMD  = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
20239         vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
20240 
20241         //=== VK_EXT_calibrated_timestamps ===
20242         vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
20243           PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
20244         if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
20245           vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
20246         vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
20247         if ( !vkGetCalibratedTimestampsKHR )
20248           vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
20249 
20250         //=== VK_NV_mesh_shader ===
20251         vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
20252         vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
20253         vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
20254 
20255         //=== VK_NV_scissor_exclusive ===
20256         vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
20257         vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
20258 
20259         //=== VK_NV_device_diagnostic_checkpoints ===
20260         vkCmdSetCheckpointNV        = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
20261         vkGetQueueCheckpointDataNV  = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
20262         vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
20263 
20264         //=== VK_KHR_timeline_semaphore ===
20265         vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
20266         if ( !vkGetSemaphoreCounterValue )
20267           vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
20268         vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
20269         if ( !vkWaitSemaphores )
20270           vkWaitSemaphores = vkWaitSemaphoresKHR;
20271         vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
20272         if ( !vkSignalSemaphore )
20273           vkSignalSemaphore = vkSignalSemaphoreKHR;
20274 
20275         //=== VK_INTEL_performance_query ===
20276         vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
20277         vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
20278         vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
20279         vkCmdSetPerformanceStreamMarkerINTEL =
20280           PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
20281         vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
20282         vkAcquirePerformanceConfigurationINTEL =
20283           PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
20284         vkReleasePerformanceConfigurationINTEL =
20285           PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
20286         vkQueueSetPerformanceConfigurationINTEL =
20287           PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
20288         vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
20289 
20290         //=== VK_AMD_display_native_hdr ===
20291         vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
20292 
20293 #if defined( VK_USE_PLATFORM_FUCHSIA )
20294         //=== VK_FUCHSIA_imagepipe_surface ===
20295         vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
20296 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20297 
20298 #if defined( VK_USE_PLATFORM_METAL_EXT )
20299         //=== VK_EXT_metal_surface ===
20300         vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
20301 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20302 
20303         //=== VK_KHR_fragment_shading_rate ===
20304         vkGetPhysicalDeviceFragmentShadingRatesKHR =
20305           PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
20306         vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
20307 
20308         //=== VK_KHR_dynamic_rendering_local_read ===
20309         vkCmdSetRenderingAttachmentLocationsKHR =
20310           PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
20311         if ( !vkCmdSetRenderingAttachmentLocations )
20312           vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
20313         vkCmdSetRenderingInputAttachmentIndicesKHR =
20314           PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
20315         if ( !vkCmdSetRenderingInputAttachmentIndices )
20316           vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
20317 
20318         //=== VK_EXT_buffer_device_address ===
20319         vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
20320         if ( !vkGetBufferDeviceAddress )
20321           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
20322 
20323         //=== VK_EXT_tooling_info ===
20324         vkGetPhysicalDeviceToolPropertiesEXT =
20325           PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
20326         if ( !vkGetPhysicalDeviceToolProperties )
20327           vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
20328 
20329         //=== VK_KHR_present_wait ===
20330         vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
20331 
20332         //=== VK_NV_cooperative_matrix ===
20333         vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
20334           PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
20335 
20336         //=== VK_NV_coverage_reduction_mode ===
20337         vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
20338           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
20339 
20340 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20341         //=== VK_EXT_full_screen_exclusive ===
20342         vkGetPhysicalDeviceSurfacePresentModes2EXT =
20343           PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
20344         vkAcquireFullScreenExclusiveModeEXT =
20345           PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
20346         vkReleaseFullScreenExclusiveModeEXT =
20347           PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
20348         vkGetDeviceGroupSurfacePresentModes2EXT =
20349           PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
20350 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20351 
20352         //=== VK_EXT_headless_surface ===
20353         vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
20354 
20355         //=== VK_KHR_buffer_device_address ===
20356         vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
20357         if ( !vkGetBufferDeviceAddress )
20358           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
20359         vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
20360         if ( !vkGetBufferOpaqueCaptureAddress )
20361           vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
20362         vkGetDeviceMemoryOpaqueCaptureAddressKHR =
20363           PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
20364         if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
20365           vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
20366 
20367         //=== VK_EXT_line_rasterization ===
20368         vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
20369         if ( !vkCmdSetLineStipple )
20370           vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
20371 
20372         //=== VK_EXT_host_query_reset ===
20373         vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
20374         if ( !vkResetQueryPool )
20375           vkResetQueryPool = vkResetQueryPoolEXT;
20376 
20377         //=== VK_EXT_extended_dynamic_state ===
20378         vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
20379         if ( !vkCmdSetCullMode )
20380           vkCmdSetCullMode = vkCmdSetCullModeEXT;
20381         vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
20382         if ( !vkCmdSetFrontFace )
20383           vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
20384         vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
20385         if ( !vkCmdSetPrimitiveTopology )
20386           vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
20387         vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
20388         if ( !vkCmdSetViewportWithCount )
20389           vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
20390         vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
20391         if ( !vkCmdSetScissorWithCount )
20392           vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
20393         vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
20394         if ( !vkCmdBindVertexBuffers2 )
20395           vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
20396         vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
20397         if ( !vkCmdSetDepthTestEnable )
20398           vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
20399         vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
20400         if ( !vkCmdSetDepthWriteEnable )
20401           vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
20402         vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
20403         if ( !vkCmdSetDepthCompareOp )
20404           vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
20405         vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
20406         if ( !vkCmdSetDepthBoundsTestEnable )
20407           vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
20408         vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
20409         if ( !vkCmdSetStencilTestEnable )
20410           vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
20411         vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
20412         if ( !vkCmdSetStencilOp )
20413           vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
20414 
20415         //=== VK_KHR_deferred_host_operations ===
20416         vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
20417         vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
20418         vkGetDeferredOperationMaxConcurrencyKHR =
20419           PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
20420         vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
20421         vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
20422 
20423         //=== VK_KHR_pipeline_executable_properties ===
20424         vkGetPipelineExecutablePropertiesKHR =
20425           PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
20426         vkGetPipelineExecutableStatisticsKHR =
20427           PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
20428         vkGetPipelineExecutableInternalRepresentationsKHR =
20429           PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
20430 
20431         //=== VK_EXT_host_image_copy ===
20432         vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
20433         if ( !vkCopyMemoryToImage )
20434           vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
20435         vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
20436         if ( !vkCopyImageToMemory )
20437           vkCopyImageToMemory = vkCopyImageToMemoryEXT;
20438         vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
20439         if ( !vkCopyImageToImage )
20440           vkCopyImageToImage = vkCopyImageToImageEXT;
20441         vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
20442         if ( !vkTransitionImageLayout )
20443           vkTransitionImageLayout = vkTransitionImageLayoutEXT;
20444         vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
20445         if ( !vkGetImageSubresourceLayout2 )
20446           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
20447 
20448         //=== VK_KHR_map_memory2 ===
20449         vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
20450         if ( !vkMapMemory2 )
20451           vkMapMemory2 = vkMapMemory2KHR;
20452         vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
20453         if ( !vkUnmapMemory2 )
20454           vkUnmapMemory2 = vkUnmapMemory2KHR;
20455 
20456         //=== VK_EXT_swapchain_maintenance1 ===
20457         vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
20458 
20459         //=== VK_NV_device_generated_commands ===
20460         vkGetGeneratedCommandsMemoryRequirementsNV =
20461           PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
20462         vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
20463         vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
20464         vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
20465         vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
20466         vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
20467 
20468         //=== VK_EXT_depth_bias_control ===
20469         vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
20470 
20471         //=== VK_EXT_acquire_drm_display ===
20472         vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
20473         vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
20474 
20475         //=== VK_EXT_private_data ===
20476         vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
20477         if ( !vkCreatePrivateDataSlot )
20478           vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
20479         vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
20480         if ( !vkDestroyPrivateDataSlot )
20481           vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
20482         vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
20483         if ( !vkSetPrivateData )
20484           vkSetPrivateData = vkSetPrivateDataEXT;
20485         vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
20486         if ( !vkGetPrivateData )
20487           vkGetPrivateData = vkGetPrivateDataEXT;
20488 
20489         //=== VK_KHR_video_encode_queue ===
20490         vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
20491           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
20492         vkGetEncodedVideoSessionParametersKHR =
20493           PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
20494         vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
20495 
20496 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20497         //=== VK_NV_cuda_kernel_launch ===
20498         vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
20499         vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
20500         vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
20501         vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
20502         vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
20503         vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
20504 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20505 
20506 #if defined( VK_USE_PLATFORM_METAL_EXT )
20507         //=== VK_EXT_metal_objects ===
20508         vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
20509 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20510 
20511         //=== VK_KHR_synchronization2 ===
20512         vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
20513         if ( !vkCmdSetEvent2 )
20514           vkCmdSetEvent2 = vkCmdSetEvent2KHR;
20515         vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
20516         if ( !vkCmdResetEvent2 )
20517           vkCmdResetEvent2 = vkCmdResetEvent2KHR;
20518         vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
20519         if ( !vkCmdWaitEvents2 )
20520           vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
20521         vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
20522         if ( !vkCmdPipelineBarrier2 )
20523           vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
20524         vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
20525         if ( !vkCmdWriteTimestamp2 )
20526           vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
20527         vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
20528         if ( !vkQueueSubmit2 )
20529           vkQueueSubmit2 = vkQueueSubmit2KHR;
20530 
20531         //=== VK_EXT_descriptor_buffer ===
20532         vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
20533         vkGetDescriptorSetLayoutBindingOffsetEXT =
20534           PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
20535         vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
20536         vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
20537         vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
20538         vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
20539           PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
20540         vkGetBufferOpaqueCaptureDescriptorDataEXT =
20541           PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
20542         vkGetImageOpaqueCaptureDescriptorDataEXT =
20543           PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
20544         vkGetImageViewOpaqueCaptureDescriptorDataEXT =
20545           PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
20546         vkGetSamplerOpaqueCaptureDescriptorDataEXT =
20547           PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
20548         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
20549           vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
20550 
20551         //=== VK_NV_fragment_shading_rate_enums ===
20552         vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
20553 
20554         //=== VK_EXT_mesh_shader ===
20555         vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
20556         vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
20557         vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
20558 
20559         //=== VK_KHR_copy_commands2 ===
20560         vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
20561         if ( !vkCmdCopyBuffer2 )
20562           vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
20563         vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
20564         if ( !vkCmdCopyImage2 )
20565           vkCmdCopyImage2 = vkCmdCopyImage2KHR;
20566         vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
20567         if ( !vkCmdCopyBufferToImage2 )
20568           vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
20569         vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
20570         if ( !vkCmdCopyImageToBuffer2 )
20571           vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
20572         vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
20573         if ( !vkCmdBlitImage2 )
20574           vkCmdBlitImage2 = vkCmdBlitImage2KHR;
20575         vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
20576         if ( !vkCmdResolveImage2 )
20577           vkCmdResolveImage2 = vkCmdResolveImage2KHR;
20578 
20579         //=== VK_EXT_device_fault ===
20580         vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
20581 
20582 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20583         //=== VK_NV_acquire_winrt_display ===
20584         vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
20585         vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
20586 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20587 
20588 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
20589         //=== VK_EXT_directfb_surface ===
20590         vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
20591         vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
20592           PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
20593 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
20594 
20595         //=== VK_EXT_vertex_input_dynamic_state ===
20596         vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
20597 
20598 #if defined( VK_USE_PLATFORM_FUCHSIA )
20599         //=== VK_FUCHSIA_external_memory ===
20600         vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
20601         vkGetMemoryZirconHandlePropertiesFUCHSIA =
20602           PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
20603 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20604 
20605 #if defined( VK_USE_PLATFORM_FUCHSIA )
20606         //=== VK_FUCHSIA_external_semaphore ===
20607         vkImportSemaphoreZirconHandleFUCHSIA =
20608           PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
20609         vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
20610 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20611 
20612 #if defined( VK_USE_PLATFORM_FUCHSIA )
20613         //=== VK_FUCHSIA_buffer_collection ===
20614         vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
20615         vkSetBufferCollectionImageConstraintsFUCHSIA =
20616           PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
20617         vkSetBufferCollectionBufferConstraintsFUCHSIA =
20618           PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
20619         vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
20620         vkGetBufferCollectionPropertiesFUCHSIA =
20621           PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
20622 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20623 
20624         //=== VK_HUAWEI_subpass_shading ===
20625         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
20626           PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
20627         vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
20628 
20629         //=== VK_HUAWEI_invocation_mask ===
20630         vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
20631 
20632         //=== VK_NV_external_memory_rdma ===
20633         vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
20634 
20635         //=== VK_EXT_pipeline_properties ===
20636         vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
20637 
20638         //=== VK_EXT_extended_dynamic_state2 ===
20639         vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
20640         vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
20641         if ( !vkCmdSetRasterizerDiscardEnable )
20642           vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
20643         vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
20644         if ( !vkCmdSetDepthBiasEnable )
20645           vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
20646         vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
20647         vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
20648         if ( !vkCmdSetPrimitiveRestartEnable )
20649           vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
20650 
20651 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20652         //=== VK_QNX_screen_surface ===
20653         vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
20654         vkGetPhysicalDeviceScreenPresentationSupportQNX =
20655           PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
20656 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20657 
20658         //=== VK_EXT_color_write_enable ===
20659         vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
20660 
20661         //=== VK_KHR_ray_tracing_maintenance1 ===
20662         vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
20663 
20664         //=== VK_EXT_multi_draw ===
20665         vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
20666         vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
20667 
20668         //=== VK_EXT_opacity_micromap ===
20669         vkCreateMicromapEXT              = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
20670         vkDestroyMicromapEXT             = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
20671         vkCmdBuildMicromapsEXT           = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
20672         vkBuildMicromapsEXT              = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
20673         vkCopyMicromapEXT                = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
20674         vkCopyMicromapToMemoryEXT        = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
20675         vkCopyMemoryToMicromapEXT        = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
20676         vkWriteMicromapsPropertiesEXT    = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
20677         vkCmdCopyMicromapEXT             = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
20678         vkCmdCopyMicromapToMemoryEXT     = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
20679         vkCmdCopyMemoryToMicromapEXT     = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
20680         vkCmdWriteMicromapsPropertiesEXT = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
20681         vkGetDeviceMicromapCompatibilityEXT =
20682           PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
20683         vkGetMicromapBuildSizesEXT = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
20684 
20685         //=== VK_HUAWEI_cluster_culling_shader ===
20686         vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
20687         vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
20688 
20689         //=== VK_EXT_pageable_device_local_memory ===
20690         vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
20691 
20692         //=== VK_KHR_maintenance4 ===
20693         vkGetDeviceBufferMemoryRequirementsKHR =
20694           PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
20695         if ( !vkGetDeviceBufferMemoryRequirements )
20696           vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
20697         vkGetDeviceImageMemoryRequirementsKHR =
20698           PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
20699         if ( !vkGetDeviceImageMemoryRequirements )
20700           vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
20701         vkGetDeviceImageSparseMemoryRequirementsKHR =
20702           PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
20703         if ( !vkGetDeviceImageSparseMemoryRequirements )
20704           vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
20705 
20706         //=== VK_VALVE_descriptor_set_host_mapping ===
20707         vkGetDescriptorSetLayoutHostMappingInfoVALVE =
20708           PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
20709         vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
20710 
20711         //=== VK_NV_copy_memory_indirect ===
20712         vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
20713         vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
20714 
20715         //=== VK_NV_memory_decompression ===
20716         vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
20717         vkCmdDecompressMemoryIndirectCountNV =
20718           PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
20719 
20720         //=== VK_NV_device_generated_commands_compute ===
20721         vkGetPipelineIndirectMemoryRequirementsNV =
20722           PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
20723         vkCmdUpdatePipelineIndirectBufferNV =
20724           PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
20725         vkGetPipelineIndirectDeviceAddressNV =
20726           PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
20727 
20728         //=== VK_EXT_extended_dynamic_state3 ===
20729         vkCmdSetDepthClampEnableEXT      = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
20730         vkCmdSetPolygonModeEXT           = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
20731         vkCmdSetRasterizationSamplesEXT  = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
20732         vkCmdSetSampleMaskEXT            = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
20733         vkCmdSetAlphaToCoverageEnableEXT = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
20734         vkCmdSetAlphaToOneEnableEXT      = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
20735         vkCmdSetLogicOpEnableEXT         = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
20736         vkCmdSetColorBlendEnableEXT      = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
20737         vkCmdSetColorBlendEquationEXT    = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
20738         vkCmdSetColorWriteMaskEXT        = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
20739         vkCmdSetTessellationDomainOriginEXT =
20740           PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
20741         vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
20742         vkCmdSetConservativeRasterizationModeEXT =
20743           PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
20744         vkCmdSetExtraPrimitiveOverestimationSizeEXT =
20745           PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
20746         vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
20747         vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
20748         vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
20749         vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
20750         vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
20751         vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
20752         vkCmdSetDepthClipNegativeOneToOneEXT =
20753           PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
20754         vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
20755         vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
20756         vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
20757         vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
20758         vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
20759         vkCmdSetCoverageModulationTableEnableNV =
20760           PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
20761         vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
20762         vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
20763         vkCmdSetRepresentativeFragmentTestEnableNV =
20764           PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
20765         vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
20766 
20767         //=== VK_EXT_shader_module_identifier ===
20768         vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
20769         vkGetShaderModuleCreateInfoIdentifierEXT =
20770           PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
20771 
20772         //=== VK_NV_optical_flow ===
20773         vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
20774           PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
20775         vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
20776         vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
20777         vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
20778         vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
20779 
20780         //=== VK_KHR_maintenance5 ===
20781         vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
20782         if ( !vkCmdBindIndexBuffer2 )
20783           vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
20784         vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
20785         if ( !vkGetRenderingAreaGranularity )
20786           vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
20787         vkGetDeviceImageSubresourceLayoutKHR =
20788           PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
20789         if ( !vkGetDeviceImageSubresourceLayout )
20790           vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
20791         vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
20792         if ( !vkGetImageSubresourceLayout2 )
20793           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
20794 
20795         //=== VK_AMD_anti_lag ===
20796         vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetInstanceProcAddr( instance, "vkAntiLagUpdateAMD" ) );
20797 
20798         //=== VK_EXT_shader_object ===
20799         vkCreateShadersEXT         = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
20800         vkDestroyShaderEXT         = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
20801         vkGetShaderBinaryDataEXT   = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
20802         vkCmdBindShadersEXT        = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
20803         vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampRangeEXT" ) );
20804 
20805         //=== VK_KHR_pipeline_binary ===
20806         vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetInstanceProcAddr( instance, "vkCreatePipelineBinariesKHR" ) );
20807         vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetInstanceProcAddr( instance, "vkDestroyPipelineBinaryKHR" ) );
20808         vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineKeyKHR" ) );
20809         vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineBinaryDataKHR" ) );
20810         vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetInstanceProcAddr( instance, "vkReleaseCapturedPipelineDataKHR" ) );
20811 
20812         //=== VK_QCOM_tile_properties ===
20813         vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
20814         vkGetDynamicRenderingTilePropertiesQCOM =
20815           PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
20816 
20817         //=== VK_NV_cooperative_vector ===
20818         vkGetPhysicalDeviceCooperativeVectorPropertiesNV =
20819           PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeVectorPropertiesNV" ) );
20820         vkConvertCooperativeVectorMatrixNV = PFN_vkConvertCooperativeVectorMatrixNV( vkGetInstanceProcAddr( instance, "vkConvertCooperativeVectorMatrixNV" ) );
20821         vkCmdConvertCooperativeVectorMatrixNV =
20822           PFN_vkCmdConvertCooperativeVectorMatrixNV( vkGetInstanceProcAddr( instance, "vkCmdConvertCooperativeVectorMatrixNV" ) );
20823 
20824         //=== VK_NV_low_latency2 ===
20825         vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
20826         vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
20827         vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
20828         vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
20829         vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
20830 
20831         //=== VK_KHR_cooperative_matrix ===
20832         vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
20833           PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
20834 
20835         //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
20836         vkCmdSetAttachmentFeedbackLoopEnableEXT =
20837           PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
20838 
20839 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20840         //=== VK_QNX_external_memory_screen_buffer ===
20841         vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
20842 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20843 
20844         //=== VK_KHR_line_rasterization ===
20845         vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleKHR" ) );
20846         if ( !vkCmdSetLineStipple )
20847           vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
20848 
20849         //=== VK_KHR_calibrated_timestamps ===
20850         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
20851           PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
20852         vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
20853 
20854         //=== VK_KHR_maintenance6 ===
20855         vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
20856         if ( !vkCmdBindDescriptorSets2 )
20857           vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
20858         vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
20859         if ( !vkCmdPushConstants2 )
20860           vkCmdPushConstants2 = vkCmdPushConstants2KHR;
20861         vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
20862         if ( !vkCmdPushDescriptorSet2 )
20863           vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
20864         vkCmdPushDescriptorSetWithTemplate2KHR =
20865           PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
20866         if ( !vkCmdPushDescriptorSetWithTemplate2 )
20867           vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
20868         vkCmdSetDescriptorBufferOffsets2EXT =
20869           PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
20870         vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
20871           PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
20872 
20873         //=== VK_NV_cluster_acceleration_structure ===
20874         vkGetClusterAccelerationStructureBuildSizesNV =
20875           PFN_vkGetClusterAccelerationStructureBuildSizesNV( vkGetInstanceProcAddr( instance, "vkGetClusterAccelerationStructureBuildSizesNV" ) );
20876         vkCmdBuildClusterAccelerationStructureIndirectNV =
20877           PFN_vkCmdBuildClusterAccelerationStructureIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdBuildClusterAccelerationStructureIndirectNV" ) );
20878 
20879         //=== VK_NV_partitioned_acceleration_structure ===
20880         vkGetPartitionedAccelerationStructuresBuildSizesNV =
20881           PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV( vkGetInstanceProcAddr( instance, "vkGetPartitionedAccelerationStructuresBuildSizesNV" ) );
20882         vkCmdBuildPartitionedAccelerationStructuresNV =
20883           PFN_vkCmdBuildPartitionedAccelerationStructuresNV( vkGetInstanceProcAddr( instance, "vkCmdBuildPartitionedAccelerationStructuresNV" ) );
20884 
20885         //=== VK_EXT_device_generated_commands ===
20886         vkGetGeneratedCommandsMemoryRequirementsEXT =
20887           PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) );
20888         vkCmdPreprocessGeneratedCommandsEXT =
20889           PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsEXT" ) );
20890         vkCmdExecuteGeneratedCommandsEXT   = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsEXT" ) );
20891         vkCreateIndirectCommandsLayoutEXT  = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutEXT" ) );
20892         vkDestroyIndirectCommandsLayoutEXT = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutEXT" ) );
20893         vkCreateIndirectExecutionSetEXT    = PFN_vkCreateIndirectExecutionSetEXT( vkGetInstanceProcAddr( instance, "vkCreateIndirectExecutionSetEXT" ) );
20894         vkDestroyIndirectExecutionSetEXT   = PFN_vkDestroyIndirectExecutionSetEXT( vkGetInstanceProcAddr( instance, "vkDestroyIndirectExecutionSetEXT" ) );
20895         vkUpdateIndirectExecutionSetPipelineEXT =
20896           PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetInstanceProcAddr( instance, "vkUpdateIndirectExecutionSetPipelineEXT" ) );
20897         vkUpdateIndirectExecutionSetShaderEXT =
20898           PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetInstanceProcAddr( instance, "vkUpdateIndirectExecutionSetShaderEXT" ) );
20899 
20900         //=== VK_NV_cooperative_matrix2 ===
20901         vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
20902           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV" ) );
20903 
20904 #if defined( VK_USE_PLATFORM_METAL_EXT )
20905         //=== VK_EXT_external_memory_metal ===
20906         vkGetMemoryMetalHandleEXT = PFN_vkGetMemoryMetalHandleEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryMetalHandleEXT" ) );
20907         vkGetMemoryMetalHandlePropertiesEXT =
20908           PFN_vkGetMemoryMetalHandlePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryMetalHandlePropertiesEXT" ) );
20909 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20910       }
20911 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)20912       void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
20913       {
20914         VkDevice device = static_cast<VkDevice>( deviceCpp );
20915 
20916         //=== VK_VERSION_1_0 ===
20917         vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
20918         vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
20919         vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
20920         vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
20921         vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
20922         vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
20923         vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
20924         vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
20925         vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
20926         vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
20927         vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
20928         vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
20929         vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
20930         vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
20931         vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
20932         vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
20933         vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
20934         vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
20935         vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
20936         vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
20937         vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
20938         vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
20939         vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
20940         vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
20941         vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
20942         vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
20943         vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
20944         vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
20945         vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
20946         vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
20947         vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
20948         vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
20949         vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
20950         vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
20951         vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
20952         vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
20953         vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
20954         vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
20955         vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
20956         vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
20957         vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
20958         vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
20959         vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
20960         vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
20961         vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
20962         vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
20963         vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
20964         vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
20965         vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
20966         vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
20967         vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
20968         vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
20969         vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
20970         vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
20971         vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
20972         vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
20973         vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
20974         vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
20975         vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
20976         vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
20977         vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
20978         vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
20979         vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
20980         vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
20981         vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
20982         vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
20983         vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
20984         vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
20985         vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
20986         vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
20987         vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
20988         vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
20989         vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
20990         vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
20991         vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
20992         vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
20993         vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
20994         vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
20995         vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
20996         vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
20997         vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
20998         vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
20999         vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
21000         vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
21001         vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
21002         vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
21003         vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
21004         vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
21005         vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
21006         vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
21007         vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
21008         vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
21009         vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
21010         vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
21011         vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
21012         vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
21013         vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
21014         vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
21015         vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
21016         vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
21017         vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
21018         vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
21019         vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
21020         vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
21021         vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
21022         vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
21023         vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
21024         vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
21025         vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
21026         vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
21027         vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
21028         vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
21029         vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
21030         vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
21031         vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
21032         vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
21033         vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
21034         vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
21035         vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
21036         vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
21037         vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
21038 
21039         //=== VK_VERSION_1_1 ===
21040         vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
21041         vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
21042         vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
21043         vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
21044         vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
21045         vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
21046         vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
21047         vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
21048         vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
21049         vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
21050         vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
21051         vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
21052         vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
21053         vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
21054         vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
21055         vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
21056 
21057         //=== VK_VERSION_1_2 ===
21058         vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
21059         vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
21060         vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
21061         vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
21062         vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
21063         vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
21064         vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
21065         vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
21066         vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
21067         vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
21068         vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
21069         vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
21070         vkGetDeviceMemoryOpaqueCaptureAddress =
21071           PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
21072 
21073         //=== VK_VERSION_1_3 ===
21074         vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
21075         vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
21076         vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
21077         vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
21078         vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
21079         vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
21080         vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
21081         vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
21082         vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
21083         vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
21084         vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
21085         vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
21086         vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
21087         vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
21088         vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
21089         vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
21090         vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
21091         vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
21092         vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
21093         vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
21094         vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
21095         vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
21096         vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
21097         vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
21098         vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
21099         vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
21100         vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
21101         vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
21102         vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
21103         vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
21104         vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
21105         vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
21106         vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
21107         vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
21108         vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
21109         vkGetDeviceImageSparseMemoryRequirements =
21110           PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
21111 
21112         //=== VK_VERSION_1_4 ===
21113         vkCmdSetLineStipple                = PFN_vkCmdSetLineStipple( vkGetDeviceProcAddr( device, "vkCmdSetLineStipple" ) );
21114         vkMapMemory2                       = PFN_vkMapMemory2( vkGetDeviceProcAddr( device, "vkMapMemory2" ) );
21115         vkUnmapMemory2                     = PFN_vkUnmapMemory2( vkGetDeviceProcAddr( device, "vkUnmapMemory2" ) );
21116         vkCmdBindIndexBuffer2              = PFN_vkCmdBindIndexBuffer2( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2" ) );
21117         vkGetRenderingAreaGranularity      = PFN_vkGetRenderingAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularity" ) );
21118         vkGetDeviceImageSubresourceLayout  = PFN_vkGetDeviceImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayout" ) );
21119         vkGetImageSubresourceLayout2       = PFN_vkGetImageSubresourceLayout2( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2" ) );
21120         vkCmdPushDescriptorSet             = PFN_vkCmdPushDescriptorSet( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet" ) );
21121         vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate" ) );
21122         vkCmdSetRenderingAttachmentLocations =
21123           PFN_vkCmdSetRenderingAttachmentLocations( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocations" ) );
21124         vkCmdSetRenderingInputAttachmentIndices =
21125           PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndices" ) );
21126         vkCmdBindDescriptorSets2            = PFN_vkCmdBindDescriptorSets2( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2" ) );
21127         vkCmdPushConstants2                 = PFN_vkCmdPushConstants2( vkGetDeviceProcAddr( device, "vkCmdPushConstants2" ) );
21128         vkCmdPushDescriptorSet2             = PFN_vkCmdPushDescriptorSet2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2" ) );
21129         vkCmdPushDescriptorSetWithTemplate2 = PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2" ) );
21130         vkCopyMemoryToImage                 = PFN_vkCopyMemoryToImage( vkGetDeviceProcAddr( device, "vkCopyMemoryToImage" ) );
21131         vkCopyImageToMemory                 = PFN_vkCopyImageToMemory( vkGetDeviceProcAddr( device, "vkCopyImageToMemory" ) );
21132         vkCopyImageToImage                  = PFN_vkCopyImageToImage( vkGetDeviceProcAddr( device, "vkCopyImageToImage" ) );
21133         vkTransitionImageLayout             = PFN_vkTransitionImageLayout( vkGetDeviceProcAddr( device, "vkTransitionImageLayout" ) );
21134 
21135         //=== VK_KHR_swapchain ===
21136         vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
21137         vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
21138         vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
21139         vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
21140         vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
21141         vkGetDeviceGroupPresentCapabilitiesKHR =
21142           PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
21143         vkGetDeviceGroupSurfacePresentModesKHR =
21144           PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
21145         vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
21146 
21147         //=== VK_KHR_display_swapchain ===
21148         vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
21149 
21150         //=== VK_EXT_debug_marker ===
21151         vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
21152         vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
21153         vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
21154         vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
21155         vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
21156 
21157         //=== VK_KHR_video_queue ===
21158         vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
21159         vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
21160         vkGetVideoSessionMemoryRequirementsKHR =
21161           PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
21162         vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
21163         vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
21164         vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
21165         vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
21166         vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
21167         vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
21168         vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
21169 
21170         //=== VK_KHR_video_decode_queue ===
21171         vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
21172 
21173         //=== VK_EXT_transform_feedback ===
21174         vkCmdBindTransformFeedbackBuffersEXT =
21175           PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
21176         vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
21177         vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
21178         vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
21179         vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
21180         vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
21181 
21182         //=== VK_NVX_binary_import ===
21183         vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
21184         vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
21185         vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
21186         vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
21187         vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
21188 
21189         //=== VK_NVX_image_view_handle ===
21190         vkGetImageViewHandleNVX   = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
21191         vkGetImageViewHandle64NVX = PFN_vkGetImageViewHandle64NVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandle64NVX" ) );
21192         vkGetImageViewAddressNVX  = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
21193 
21194         //=== VK_AMD_draw_indirect_count ===
21195         vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
21196         if ( !vkCmdDrawIndirectCount )
21197           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
21198         vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
21199         if ( !vkCmdDrawIndexedIndirectCount )
21200           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
21201 
21202         //=== VK_AMD_shader_info ===
21203         vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
21204 
21205         //=== VK_KHR_dynamic_rendering ===
21206         vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
21207         if ( !vkCmdBeginRendering )
21208           vkCmdBeginRendering = vkCmdBeginRenderingKHR;
21209         vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
21210         if ( !vkCmdEndRendering )
21211           vkCmdEndRendering = vkCmdEndRenderingKHR;
21212 
21213 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21214         //=== VK_NV_external_memory_win32 ===
21215         vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
21216 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21217 
21218         //=== VK_KHR_device_group ===
21219         vkGetDeviceGroupPeerMemoryFeaturesKHR =
21220           PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
21221         if ( !vkGetDeviceGroupPeerMemoryFeatures )
21222           vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
21223         vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
21224         if ( !vkCmdSetDeviceMask )
21225           vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
21226         vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
21227         if ( !vkCmdDispatchBase )
21228           vkCmdDispatchBase = vkCmdDispatchBaseKHR;
21229 
21230         //=== VK_KHR_maintenance1 ===
21231         vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
21232         if ( !vkTrimCommandPool )
21233           vkTrimCommandPool = vkTrimCommandPoolKHR;
21234 
21235 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21236         //=== VK_KHR_external_memory_win32 ===
21237         vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
21238         vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
21239 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21240 
21241         //=== VK_KHR_external_memory_fd ===
21242         vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
21243         vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
21244 
21245 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21246         //=== VK_KHR_external_semaphore_win32 ===
21247         vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
21248         vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
21249 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21250 
21251         //=== VK_KHR_external_semaphore_fd ===
21252         vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
21253         vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
21254 
21255         //=== VK_KHR_push_descriptor ===
21256         vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
21257         if ( !vkCmdPushDescriptorSet )
21258           vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
21259         vkCmdPushDescriptorSetWithTemplateKHR =
21260           PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
21261         if ( !vkCmdPushDescriptorSetWithTemplate )
21262           vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
21263 
21264         //=== VK_EXT_conditional_rendering ===
21265         vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
21266         vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
21267 
21268         //=== VK_KHR_descriptor_update_template ===
21269         vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
21270         if ( !vkCreateDescriptorUpdateTemplate )
21271           vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
21272         vkDestroyDescriptorUpdateTemplateKHR =
21273           PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
21274         if ( !vkDestroyDescriptorUpdateTemplate )
21275           vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
21276         vkUpdateDescriptorSetWithTemplateKHR =
21277           PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
21278         if ( !vkUpdateDescriptorSetWithTemplate )
21279           vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
21280 
21281         //=== VK_NV_clip_space_w_scaling ===
21282         vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
21283 
21284         //=== VK_EXT_display_control ===
21285         vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
21286         vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
21287         vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
21288         vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
21289 
21290         //=== VK_GOOGLE_display_timing ===
21291         vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
21292         vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
21293 
21294         //=== VK_EXT_discard_rectangles ===
21295         vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
21296         vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
21297         vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
21298 
21299         //=== VK_EXT_hdr_metadata ===
21300         vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
21301 
21302         //=== VK_KHR_create_renderpass2 ===
21303         vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
21304         if ( !vkCreateRenderPass2 )
21305           vkCreateRenderPass2 = vkCreateRenderPass2KHR;
21306         vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
21307         if ( !vkCmdBeginRenderPass2 )
21308           vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
21309         vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
21310         if ( !vkCmdNextSubpass2 )
21311           vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
21312         vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
21313         if ( !vkCmdEndRenderPass2 )
21314           vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
21315 
21316         //=== VK_KHR_shared_presentable_image ===
21317         vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
21318 
21319 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21320         //=== VK_KHR_external_fence_win32 ===
21321         vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
21322         vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
21323 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21324 
21325         //=== VK_KHR_external_fence_fd ===
21326         vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
21327         vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
21328 
21329         //=== VK_KHR_performance_query ===
21330         vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
21331         vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
21332 
21333         //=== VK_EXT_debug_utils ===
21334         vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
21335         vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
21336         vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
21337         vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
21338         vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
21339         vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
21340         vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
21341         vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
21342 
21343 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
21344         //=== VK_ANDROID_external_memory_android_hardware_buffer ===
21345         vkGetAndroidHardwareBufferPropertiesANDROID =
21346           PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
21347         vkGetMemoryAndroidHardwareBufferANDROID =
21348           PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
21349 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
21350 
21351 #if defined( VK_ENABLE_BETA_EXTENSIONS )
21352         //=== VK_AMDX_shader_enqueue ===
21353         vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
21354         vkGetExecutionGraphPipelineScratchSizeAMDX =
21355           PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
21356         vkGetExecutionGraphPipelineNodeIndexAMDX =
21357           PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
21358         vkCmdInitializeGraphScratchMemoryAMDX =
21359           PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
21360         vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
21361         vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
21362         vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
21363 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
21364 
21365         //=== VK_EXT_sample_locations ===
21366         vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
21367 
21368         //=== VK_KHR_get_memory_requirements2 ===
21369         vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
21370         if ( !vkGetImageMemoryRequirements2 )
21371           vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
21372         vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
21373         if ( !vkGetBufferMemoryRequirements2 )
21374           vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
21375         vkGetImageSparseMemoryRequirements2KHR =
21376           PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
21377         if ( !vkGetImageSparseMemoryRequirements2 )
21378           vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
21379 
21380         //=== VK_KHR_acceleration_structure ===
21381         vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
21382         vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
21383         vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
21384         vkCmdBuildAccelerationStructuresIndirectKHR =
21385           PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
21386         vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
21387         vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
21388         vkCopyAccelerationStructureToMemoryKHR =
21389           PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
21390         vkCopyMemoryToAccelerationStructureKHR =
21391           PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
21392         vkWriteAccelerationStructuresPropertiesKHR =
21393           PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
21394         vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
21395         vkCmdCopyAccelerationStructureToMemoryKHR =
21396           PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
21397         vkCmdCopyMemoryToAccelerationStructureKHR =
21398           PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
21399         vkGetAccelerationStructureDeviceAddressKHR =
21400           PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
21401         vkCmdWriteAccelerationStructuresPropertiesKHR =
21402           PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
21403         vkGetDeviceAccelerationStructureCompatibilityKHR =
21404           PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
21405         vkGetAccelerationStructureBuildSizesKHR =
21406           PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
21407 
21408         //=== VK_KHR_ray_tracing_pipeline ===
21409         vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
21410         vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
21411         vkGetRayTracingShaderGroupHandlesKHR =
21412           PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
21413         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
21414           PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
21415         vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
21416         vkGetRayTracingShaderGroupStackSizeKHR =
21417           PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
21418         vkCmdSetRayTracingPipelineStackSizeKHR =
21419           PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
21420 
21421         //=== VK_KHR_sampler_ycbcr_conversion ===
21422         vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
21423         if ( !vkCreateSamplerYcbcrConversion )
21424           vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
21425         vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
21426         if ( !vkDestroySamplerYcbcrConversion )
21427           vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
21428 
21429         //=== VK_KHR_bind_memory2 ===
21430         vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
21431         if ( !vkBindBufferMemory2 )
21432           vkBindBufferMemory2 = vkBindBufferMemory2KHR;
21433         vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
21434         if ( !vkBindImageMemory2 )
21435           vkBindImageMemory2 = vkBindImageMemory2KHR;
21436 
21437         //=== VK_EXT_image_drm_format_modifier ===
21438         vkGetImageDrmFormatModifierPropertiesEXT =
21439           PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
21440 
21441         //=== VK_EXT_validation_cache ===
21442         vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
21443         vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
21444         vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
21445         vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
21446 
21447         //=== VK_NV_shading_rate_image ===
21448         vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
21449         vkCmdSetViewportShadingRatePaletteNV =
21450           PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
21451         vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
21452 
21453         //=== VK_NV_ray_tracing ===
21454         vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
21455         vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
21456         vkGetAccelerationStructureMemoryRequirementsNV =
21457           PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
21458         vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
21459         vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
21460         vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
21461         vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
21462         vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
21463         vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
21464         if ( !vkGetRayTracingShaderGroupHandlesKHR )
21465           vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
21466         vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
21467         vkCmdWriteAccelerationStructuresPropertiesNV =
21468           PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
21469         vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
21470 
21471         //=== VK_KHR_maintenance3 ===
21472         vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
21473         if ( !vkGetDescriptorSetLayoutSupport )
21474           vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
21475 
21476         //=== VK_KHR_draw_indirect_count ===
21477         vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
21478         if ( !vkCmdDrawIndirectCount )
21479           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
21480         vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
21481         if ( !vkCmdDrawIndexedIndirectCount )
21482           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
21483 
21484         //=== VK_EXT_external_memory_host ===
21485         vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
21486 
21487         //=== VK_AMD_buffer_marker ===
21488         vkCmdWriteBufferMarkerAMD  = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
21489         vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
21490 
21491         //=== VK_EXT_calibrated_timestamps ===
21492         vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
21493         if ( !vkGetCalibratedTimestampsKHR )
21494           vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
21495 
21496         //=== VK_NV_mesh_shader ===
21497         vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
21498         vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
21499         vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
21500 
21501         //=== VK_NV_scissor_exclusive ===
21502         vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
21503         vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
21504 
21505         //=== VK_NV_device_diagnostic_checkpoints ===
21506         vkCmdSetCheckpointNV        = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
21507         vkGetQueueCheckpointDataNV  = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
21508         vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
21509 
21510         //=== VK_KHR_timeline_semaphore ===
21511         vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
21512         if ( !vkGetSemaphoreCounterValue )
21513           vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
21514         vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
21515         if ( !vkWaitSemaphores )
21516           vkWaitSemaphores = vkWaitSemaphoresKHR;
21517         vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
21518         if ( !vkSignalSemaphore )
21519           vkSignalSemaphore = vkSignalSemaphoreKHR;
21520 
21521         //=== VK_INTEL_performance_query ===
21522         vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
21523         vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
21524         vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
21525         vkCmdSetPerformanceStreamMarkerINTEL =
21526           PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
21527         vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
21528         vkAcquirePerformanceConfigurationINTEL =
21529           PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
21530         vkReleasePerformanceConfigurationINTEL =
21531           PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
21532         vkQueueSetPerformanceConfigurationINTEL =
21533           PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
21534         vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
21535 
21536         //=== VK_AMD_display_native_hdr ===
21537         vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
21538 
21539         //=== VK_KHR_fragment_shading_rate ===
21540         vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
21541 
21542         //=== VK_KHR_dynamic_rendering_local_read ===
21543         vkCmdSetRenderingAttachmentLocationsKHR =
21544           PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
21545         if ( !vkCmdSetRenderingAttachmentLocations )
21546           vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
21547         vkCmdSetRenderingInputAttachmentIndicesKHR =
21548           PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
21549         if ( !vkCmdSetRenderingInputAttachmentIndices )
21550           vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
21551 
21552         //=== VK_EXT_buffer_device_address ===
21553         vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
21554         if ( !vkGetBufferDeviceAddress )
21555           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
21556 
21557         //=== VK_KHR_present_wait ===
21558         vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
21559 
21560 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21561         //=== VK_EXT_full_screen_exclusive ===
21562         vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
21563         vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
21564         vkGetDeviceGroupSurfacePresentModes2EXT =
21565           PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
21566 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21567 
21568         //=== VK_KHR_buffer_device_address ===
21569         vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
21570         if ( !vkGetBufferDeviceAddress )
21571           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
21572         vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
21573         if ( !vkGetBufferOpaqueCaptureAddress )
21574           vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
21575         vkGetDeviceMemoryOpaqueCaptureAddressKHR =
21576           PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
21577         if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
21578           vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
21579 
21580         //=== VK_EXT_line_rasterization ===
21581         vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
21582         if ( !vkCmdSetLineStipple )
21583           vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
21584 
21585         //=== VK_EXT_host_query_reset ===
21586         vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
21587         if ( !vkResetQueryPool )
21588           vkResetQueryPool = vkResetQueryPoolEXT;
21589 
21590         //=== VK_EXT_extended_dynamic_state ===
21591         vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
21592         if ( !vkCmdSetCullMode )
21593           vkCmdSetCullMode = vkCmdSetCullModeEXT;
21594         vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
21595         if ( !vkCmdSetFrontFace )
21596           vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
21597         vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
21598         if ( !vkCmdSetPrimitiveTopology )
21599           vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
21600         vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
21601         if ( !vkCmdSetViewportWithCount )
21602           vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
21603         vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
21604         if ( !vkCmdSetScissorWithCount )
21605           vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
21606         vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
21607         if ( !vkCmdBindVertexBuffers2 )
21608           vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
21609         vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
21610         if ( !vkCmdSetDepthTestEnable )
21611           vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
21612         vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
21613         if ( !vkCmdSetDepthWriteEnable )
21614           vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
21615         vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
21616         if ( !vkCmdSetDepthCompareOp )
21617           vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
21618         vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
21619         if ( !vkCmdSetDepthBoundsTestEnable )
21620           vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
21621         vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
21622         if ( !vkCmdSetStencilTestEnable )
21623           vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
21624         vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
21625         if ( !vkCmdSetStencilOp )
21626           vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
21627 
21628         //=== VK_KHR_deferred_host_operations ===
21629         vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
21630         vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
21631         vkGetDeferredOperationMaxConcurrencyKHR =
21632           PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
21633         vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
21634         vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
21635 
21636         //=== VK_KHR_pipeline_executable_properties ===
21637         vkGetPipelineExecutablePropertiesKHR =
21638           PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
21639         vkGetPipelineExecutableStatisticsKHR =
21640           PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
21641         vkGetPipelineExecutableInternalRepresentationsKHR =
21642           PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
21643 
21644         //=== VK_EXT_host_image_copy ===
21645         vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
21646         if ( !vkCopyMemoryToImage )
21647           vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
21648         vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
21649         if ( !vkCopyImageToMemory )
21650           vkCopyImageToMemory = vkCopyImageToMemoryEXT;
21651         vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
21652         if ( !vkCopyImageToImage )
21653           vkCopyImageToImage = vkCopyImageToImageEXT;
21654         vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
21655         if ( !vkTransitionImageLayout )
21656           vkTransitionImageLayout = vkTransitionImageLayoutEXT;
21657         vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
21658         if ( !vkGetImageSubresourceLayout2 )
21659           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
21660 
21661         //=== VK_KHR_map_memory2 ===
21662         vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
21663         if ( !vkMapMemory2 )
21664           vkMapMemory2 = vkMapMemory2KHR;
21665         vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
21666         if ( !vkUnmapMemory2 )
21667           vkUnmapMemory2 = vkUnmapMemory2KHR;
21668 
21669         //=== VK_EXT_swapchain_maintenance1 ===
21670         vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
21671 
21672         //=== VK_NV_device_generated_commands ===
21673         vkGetGeneratedCommandsMemoryRequirementsNV =
21674           PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
21675         vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
21676         vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
21677         vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
21678         vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
21679         vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
21680 
21681         //=== VK_EXT_depth_bias_control ===
21682         vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
21683 
21684         //=== VK_EXT_private_data ===
21685         vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
21686         if ( !vkCreatePrivateDataSlot )
21687           vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
21688         vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
21689         if ( !vkDestroyPrivateDataSlot )
21690           vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
21691         vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
21692         if ( !vkSetPrivateData )
21693           vkSetPrivateData = vkSetPrivateDataEXT;
21694         vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
21695         if ( !vkGetPrivateData )
21696           vkGetPrivateData = vkGetPrivateDataEXT;
21697 
21698         //=== VK_KHR_video_encode_queue ===
21699         vkGetEncodedVideoSessionParametersKHR =
21700           PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
21701         vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
21702 
21703 #if defined( VK_ENABLE_BETA_EXTENSIONS )
21704         //=== VK_NV_cuda_kernel_launch ===
21705         vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
21706         vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
21707         vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
21708         vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
21709         vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
21710         vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
21711 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
21712 
21713 #if defined( VK_USE_PLATFORM_METAL_EXT )
21714         //=== VK_EXT_metal_objects ===
21715         vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
21716 #endif /*VK_USE_PLATFORM_METAL_EXT*/
21717 
21718         //=== VK_KHR_synchronization2 ===
21719         vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
21720         if ( !vkCmdSetEvent2 )
21721           vkCmdSetEvent2 = vkCmdSetEvent2KHR;
21722         vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
21723         if ( !vkCmdResetEvent2 )
21724           vkCmdResetEvent2 = vkCmdResetEvent2KHR;
21725         vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
21726         if ( !vkCmdWaitEvents2 )
21727           vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
21728         vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
21729         if ( !vkCmdPipelineBarrier2 )
21730           vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
21731         vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
21732         if ( !vkCmdWriteTimestamp2 )
21733           vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
21734         vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
21735         if ( !vkQueueSubmit2 )
21736           vkQueueSubmit2 = vkQueueSubmit2KHR;
21737 
21738         //=== VK_EXT_descriptor_buffer ===
21739         vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
21740         vkGetDescriptorSetLayoutBindingOffsetEXT =
21741           PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
21742         vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
21743         vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
21744         vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
21745         vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
21746           PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
21747         vkGetBufferOpaqueCaptureDescriptorDataEXT =
21748           PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
21749         vkGetImageOpaqueCaptureDescriptorDataEXT =
21750           PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
21751         vkGetImageViewOpaqueCaptureDescriptorDataEXT =
21752           PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
21753         vkGetSamplerOpaqueCaptureDescriptorDataEXT =
21754           PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
21755         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
21756           vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
21757 
21758         //=== VK_NV_fragment_shading_rate_enums ===
21759         vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
21760 
21761         //=== VK_EXT_mesh_shader ===
21762         vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
21763         vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
21764         vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
21765 
21766         //=== VK_KHR_copy_commands2 ===
21767         vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
21768         if ( !vkCmdCopyBuffer2 )
21769           vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
21770         vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
21771         if ( !vkCmdCopyImage2 )
21772           vkCmdCopyImage2 = vkCmdCopyImage2KHR;
21773         vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
21774         if ( !vkCmdCopyBufferToImage2 )
21775           vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
21776         vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
21777         if ( !vkCmdCopyImageToBuffer2 )
21778           vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
21779         vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
21780         if ( !vkCmdBlitImage2 )
21781           vkCmdBlitImage2 = vkCmdBlitImage2KHR;
21782         vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
21783         if ( !vkCmdResolveImage2 )
21784           vkCmdResolveImage2 = vkCmdResolveImage2KHR;
21785 
21786         //=== VK_EXT_device_fault ===
21787         vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
21788 
21789         //=== VK_EXT_vertex_input_dynamic_state ===
21790         vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
21791 
21792 #if defined( VK_USE_PLATFORM_FUCHSIA )
21793         //=== VK_FUCHSIA_external_memory ===
21794         vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
21795         vkGetMemoryZirconHandlePropertiesFUCHSIA =
21796           PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
21797 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21798 
21799 #if defined( VK_USE_PLATFORM_FUCHSIA )
21800         //=== VK_FUCHSIA_external_semaphore ===
21801         vkImportSemaphoreZirconHandleFUCHSIA =
21802           PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
21803         vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
21804 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21805 
21806 #if defined( VK_USE_PLATFORM_FUCHSIA )
21807         //=== VK_FUCHSIA_buffer_collection ===
21808         vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
21809         vkSetBufferCollectionImageConstraintsFUCHSIA =
21810           PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
21811         vkSetBufferCollectionBufferConstraintsFUCHSIA =
21812           PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
21813         vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
21814         vkGetBufferCollectionPropertiesFUCHSIA =
21815           PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
21816 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21817 
21818         //=== VK_HUAWEI_subpass_shading ===
21819         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
21820           PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
21821         vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
21822 
21823         //=== VK_HUAWEI_invocation_mask ===
21824         vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
21825 
21826         //=== VK_NV_external_memory_rdma ===
21827         vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
21828 
21829         //=== VK_EXT_pipeline_properties ===
21830         vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
21831 
21832         //=== VK_EXT_extended_dynamic_state2 ===
21833         vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
21834         vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
21835         if ( !vkCmdSetRasterizerDiscardEnable )
21836           vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
21837         vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
21838         if ( !vkCmdSetDepthBiasEnable )
21839           vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
21840         vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
21841         vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
21842         if ( !vkCmdSetPrimitiveRestartEnable )
21843           vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
21844 
21845         //=== VK_EXT_color_write_enable ===
21846         vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
21847 
21848         //=== VK_KHR_ray_tracing_maintenance1 ===
21849         vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
21850 
21851         //=== VK_EXT_multi_draw ===
21852         vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
21853         vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
21854 
21855         //=== VK_EXT_opacity_micromap ===
21856         vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
21857         vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
21858         vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
21859         vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
21860         vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
21861         vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
21862         vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
21863         vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
21864         vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
21865         vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
21866         vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
21867         vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
21868         vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
21869         vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
21870 
21871         //=== VK_HUAWEI_cluster_culling_shader ===
21872         vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
21873         vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
21874 
21875         //=== VK_EXT_pageable_device_local_memory ===
21876         vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
21877 
21878         //=== VK_KHR_maintenance4 ===
21879         vkGetDeviceBufferMemoryRequirementsKHR =
21880           PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
21881         if ( !vkGetDeviceBufferMemoryRequirements )
21882           vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
21883         vkGetDeviceImageMemoryRequirementsKHR =
21884           PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
21885         if ( !vkGetDeviceImageMemoryRequirements )
21886           vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
21887         vkGetDeviceImageSparseMemoryRequirementsKHR =
21888           PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
21889         if ( !vkGetDeviceImageSparseMemoryRequirements )
21890           vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
21891 
21892         //=== VK_VALVE_descriptor_set_host_mapping ===
21893         vkGetDescriptorSetLayoutHostMappingInfoVALVE =
21894           PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
21895         vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
21896 
21897         //=== VK_NV_copy_memory_indirect ===
21898         vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
21899         vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
21900 
21901         //=== VK_NV_memory_decompression ===
21902         vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
21903         vkCmdDecompressMemoryIndirectCountNV =
21904           PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
21905 
21906         //=== VK_NV_device_generated_commands_compute ===
21907         vkGetPipelineIndirectMemoryRequirementsNV =
21908           PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
21909         vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
21910         vkGetPipelineIndirectDeviceAddressNV =
21911           PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
21912 
21913         //=== VK_EXT_extended_dynamic_state3 ===
21914         vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
21915         vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
21916         vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
21917         vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
21918         vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
21919         vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
21920         vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
21921         vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
21922         vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
21923         vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
21924         vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
21925         vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
21926         vkCmdSetConservativeRasterizationModeEXT =
21927           PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
21928         vkCmdSetExtraPrimitiveOverestimationSizeEXT =
21929           PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
21930         vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
21931         vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
21932         vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
21933         vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
21934         vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
21935         vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
21936         vkCmdSetDepthClipNegativeOneToOneEXT =
21937           PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
21938         vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
21939         vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
21940         vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
21941         vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
21942         vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
21943         vkCmdSetCoverageModulationTableEnableNV =
21944           PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
21945         vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
21946         vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
21947         vkCmdSetRepresentativeFragmentTestEnableNV =
21948           PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
21949         vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
21950 
21951         //=== VK_EXT_shader_module_identifier ===
21952         vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
21953         vkGetShaderModuleCreateInfoIdentifierEXT =
21954           PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
21955 
21956         //=== VK_NV_optical_flow ===
21957         vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
21958         vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
21959         vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
21960         vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
21961 
21962         //=== VK_KHR_maintenance5 ===
21963         vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
21964         if ( !vkCmdBindIndexBuffer2 )
21965           vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
21966         vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
21967         if ( !vkGetRenderingAreaGranularity )
21968           vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
21969         vkGetDeviceImageSubresourceLayoutKHR =
21970           PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
21971         if ( !vkGetDeviceImageSubresourceLayout )
21972           vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
21973         vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
21974         if ( !vkGetImageSubresourceLayout2 )
21975           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
21976 
21977         //=== VK_AMD_anti_lag ===
21978         vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetDeviceProcAddr( device, "vkAntiLagUpdateAMD" ) );
21979 
21980         //=== VK_EXT_shader_object ===
21981         vkCreateShadersEXT         = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
21982         vkDestroyShaderEXT         = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
21983         vkGetShaderBinaryDataEXT   = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
21984         vkCmdBindShadersEXT        = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
21985         vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampRangeEXT" ) );
21986 
21987         //=== VK_KHR_pipeline_binary ===
21988         vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetDeviceProcAddr( device, "vkCreatePipelineBinariesKHR" ) );
21989         vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetDeviceProcAddr( device, "vkDestroyPipelineBinaryKHR" ) );
21990         vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetDeviceProcAddr( device, "vkGetPipelineKeyKHR" ) );
21991         vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetDeviceProcAddr( device, "vkGetPipelineBinaryDataKHR" ) );
21992         vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetDeviceProcAddr( device, "vkReleaseCapturedPipelineDataKHR" ) );
21993 
21994         //=== VK_QCOM_tile_properties ===
21995         vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
21996         vkGetDynamicRenderingTilePropertiesQCOM =
21997           PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
21998 
21999         //=== VK_NV_cooperative_vector ===
22000         vkConvertCooperativeVectorMatrixNV = PFN_vkConvertCooperativeVectorMatrixNV( vkGetDeviceProcAddr( device, "vkConvertCooperativeVectorMatrixNV" ) );
22001         vkCmdConvertCooperativeVectorMatrixNV =
22002           PFN_vkCmdConvertCooperativeVectorMatrixNV( vkGetDeviceProcAddr( device, "vkCmdConvertCooperativeVectorMatrixNV" ) );
22003 
22004         //=== VK_NV_low_latency2 ===
22005         vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
22006         vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
22007         vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
22008         vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
22009         vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
22010 
22011         //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
22012         vkCmdSetAttachmentFeedbackLoopEnableEXT =
22013           PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
22014 
22015 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
22016         //=== VK_QNX_external_memory_screen_buffer ===
22017         vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
22018 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
22019 
22020         //=== VK_KHR_line_rasterization ===
22021         vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) );
22022         if ( !vkCmdSetLineStipple )
22023           vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
22024 
22025         //=== VK_KHR_calibrated_timestamps ===
22026         vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
22027 
22028         //=== VK_KHR_maintenance6 ===
22029         vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
22030         if ( !vkCmdBindDescriptorSets2 )
22031           vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
22032         vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
22033         if ( !vkCmdPushConstants2 )
22034           vkCmdPushConstants2 = vkCmdPushConstants2KHR;
22035         vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
22036         if ( !vkCmdPushDescriptorSet2 )
22037           vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
22038         vkCmdPushDescriptorSetWithTemplate2KHR =
22039           PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
22040         if ( !vkCmdPushDescriptorSetWithTemplate2 )
22041           vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
22042         vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
22043         vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
22044           PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
22045 
22046         //=== VK_NV_cluster_acceleration_structure ===
22047         vkGetClusterAccelerationStructureBuildSizesNV =
22048           PFN_vkGetClusterAccelerationStructureBuildSizesNV( vkGetDeviceProcAddr( device, "vkGetClusterAccelerationStructureBuildSizesNV" ) );
22049         vkCmdBuildClusterAccelerationStructureIndirectNV =
22050           PFN_vkCmdBuildClusterAccelerationStructureIndirectNV( vkGetDeviceProcAddr( device, "vkCmdBuildClusterAccelerationStructureIndirectNV" ) );
22051 
22052         //=== VK_NV_partitioned_acceleration_structure ===
22053         vkGetPartitionedAccelerationStructuresBuildSizesNV =
22054           PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV( vkGetDeviceProcAddr( device, "vkGetPartitionedAccelerationStructuresBuildSizesNV" ) );
22055         vkCmdBuildPartitionedAccelerationStructuresNV =
22056           PFN_vkCmdBuildPartitionedAccelerationStructuresNV( vkGetDeviceProcAddr( device, "vkCmdBuildPartitionedAccelerationStructuresNV" ) );
22057 
22058         //=== VK_EXT_device_generated_commands ===
22059         vkGetGeneratedCommandsMemoryRequirementsEXT =
22060           PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) );
22061         vkCmdPreprocessGeneratedCommandsEXT = PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsEXT" ) );
22062         vkCmdExecuteGeneratedCommandsEXT    = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsEXT" ) );
22063         vkCreateIndirectCommandsLayoutEXT   = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutEXT" ) );
22064         vkDestroyIndirectCommandsLayoutEXT  = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutEXT" ) );
22065         vkCreateIndirectExecutionSetEXT     = PFN_vkCreateIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectExecutionSetEXT" ) );
22066         vkDestroyIndirectExecutionSetEXT    = PFN_vkDestroyIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectExecutionSetEXT" ) );
22067         vkUpdateIndirectExecutionSetPipelineEXT =
22068           PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetPipelineEXT" ) );
22069         vkUpdateIndirectExecutionSetShaderEXT =
22070           PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetShaderEXT" ) );
22071 
22072 #if defined( VK_USE_PLATFORM_METAL_EXT )
22073         //=== VK_EXT_external_memory_metal ===
22074         vkGetMemoryMetalHandleEXT           = PFN_vkGetMemoryMetalHandleEXT( vkGetDeviceProcAddr( device, "vkGetMemoryMetalHandleEXT" ) );
22075         vkGetMemoryMetalHandlePropertiesEXT = PFN_vkGetMemoryMetalHandlePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryMetalHandlePropertiesEXT" ) );
22076 #endif /*VK_USE_PLATFORM_METAL_EXT*/
22077       }
22078 
22079       template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)22080       void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
22081       {
22082         PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
22083         PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
22084         init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
22085       }
22086 
22087       template <typename DynamicLoader
22088 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
22089                 = VULKAN_HPP_NAMESPACE::detail::DynamicLoader
22090 #endif
22091                 >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)22092       void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
22093       {
22094         static DynamicLoader dl;
22095         init( instance, device, dl );
22096       }
22097     };
22098   }  // namespace detail
22099 }  // namespace VULKAN_HPP_NAMESPACE
22100 #endif