xref: /aosp_15_r20/external/angle/third_party/vulkan-headers/src/include/vulkan/vulkan.hpp (revision 8975f5c5ed3d1c378011245431ada316dfb6f244)
1 // Copyright 2015-2024 The Khronos Group Inc.
2 //
3 // SPDX-License-Identifier: Apache-2.0 OR MIT
4 //
5 
6 // This header is generated from the Khronos Vulkan XML API Registry.
7 
8 #ifndef VULKAN_HPP
9 #define VULKAN_HPP
10 
11 #include <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 == 303, "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_WIN32_KHR )
2771       //=== VK_KHR_win32_surface ===
2772 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2773       VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2774                                         const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2775                                         const VkAllocationCallbacks *       pAllocator,
2776                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2777       {
2778         return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2779       }
2780 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2781       VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2782       {
2783         return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2784       }
2785 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2786 
2787       //=== VK_EXT_debug_report ===
2788 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2789       VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2790                                                const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2791                                                const VkAllocationCallbacks *              pAllocator,
2792                                                VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2793       {
2794         return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2795       }
2796 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2797       void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2798                                             VkDebugReportCallbackEXT      callback,
2799                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2800       {
2801         return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2802       }
2803 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2804       void vkDebugReportMessageEXT( VkInstance                 instance,
2805                                     VkDebugReportFlagsEXT      flags,
2806                                     VkDebugReportObjectTypeEXT objectType,
2807                                     uint64_t                   object,
2808                                     size_t                     location,
2809                                     int32_t                    messageCode,
2810                                     const char *               pLayerPrefix,
2811                                     const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2812       {
2813         return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2814       }
2815 
2816       //=== VK_EXT_debug_marker ===
2817 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2818       VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2819       {
2820         return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2821       }
2822 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2823       VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2824       {
2825         return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2826       }
2827 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2828       void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2829       {
2830         return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2831       }
2832 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2833       void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2834       {
2835         return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2836       }
2837 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2838       void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2839       {
2840         return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2841       }
2842 
2843       //=== VK_KHR_video_queue ===
2844 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2845       VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2846                                                         const VkVideoProfileInfoKHR * pVideoProfile,
2847                                                         VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2848       {
2849         return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2850       }
2851 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2852       VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2853                                                             const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2854                                                             uint32_t *                                 pVideoFormatPropertyCount,
2855                                                             VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2856       {
2857         return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2858       }
2859 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2860       VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2861                                         const VkVideoSessionCreateInfoKHR * pCreateInfo,
2862                                         const VkAllocationCallbacks *       pAllocator,
2863                                         VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2864       {
2865         return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2866       }
2867 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2868       void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2869       {
2870         return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2871       }
2872 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2873       VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2874                                                        VkVideoSessionKHR                     videoSession,
2875                                                        uint32_t *                            pMemoryRequirementsCount,
2876                                                        VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2877       {
2878         return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2879       }
2880 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2881       VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2882                                             VkVideoSessionKHR                       videoSession,
2883                                             uint32_t                                bindSessionMemoryInfoCount,
2884                                             const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2885       {
2886         return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2887       }
2888 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2889       VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2890                                                   const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2891                                                   const VkAllocationCallbacks *                 pAllocator,
2892                                                   VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2893       {
2894         return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2895       }
2896 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2897       VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2898                                                   VkVideoSessionParametersKHR                   videoSessionParameters,
2899                                                   const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2900       {
2901         return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2902       }
2903 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2904       void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2905                                                VkVideoSessionParametersKHR   videoSessionParameters,
2906                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2907       {
2908         return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2909       }
2910 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2911       void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2912       {
2913         return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2914       }
2915 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2916       void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2917       {
2918         return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2919       }
2920 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2921       void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2922       {
2923         return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2924       }
2925 
2926       //=== VK_KHR_video_decode_queue ===
2927 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2928       void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2929       {
2930         return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2931       }
2932 
2933       //=== VK_EXT_transform_feedback ===
2934 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2935       void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2936                                                  uint32_t             firstBinding,
2937                                                  uint32_t             bindingCount,
2938                                                  const VkBuffer *     pBuffers,
2939                                                  const VkDeviceSize * pOffsets,
2940                                                  const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2941       {
2942         return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2943       }
2944 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2945       void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2946                                            uint32_t             firstCounterBuffer,
2947                                            uint32_t             counterBufferCount,
2948                                            const VkBuffer *     pCounterBuffers,
2949                                            const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2950       {
2951         return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2952       }
2953 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2954       void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2955                                          uint32_t             firstCounterBuffer,
2956                                          uint32_t             counterBufferCount,
2957                                          const VkBuffer *     pCounterBuffers,
2958                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2959       {
2960         return ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2961       }
2962 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2963       void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2964         VULKAN_HPP_NOEXCEPT
2965       {
2966         return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2967       }
2968 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2969       void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2970       {
2971         return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2972       }
2973 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2974       void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2975                                           uint32_t        instanceCount,
2976                                           uint32_t        firstInstance,
2977                                           VkBuffer        counterBuffer,
2978                                           VkDeviceSize    counterBufferOffset,
2979                                           uint32_t        counterOffset,
2980                                           uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2981       {
2982         return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2983       }
2984 
2985       //=== VK_NVX_binary_import ===
2986 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2987       VkResult vkCreateCuModuleNVX( VkDevice                        device,
2988                                     const VkCuModuleCreateInfoNVX * pCreateInfo,
2989                                     const VkAllocationCallbacks *   pAllocator,
2990                                     VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
2991       {
2992         return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
2993       }
2994 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const2995       VkResult vkCreateCuFunctionNVX( VkDevice                          device,
2996                                       const VkCuFunctionCreateInfoNVX * pCreateInfo,
2997                                       const VkAllocationCallbacks *     pAllocator,
2998                                       VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
2999       {
3000         return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
3001       }
3002 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const3003       void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3004       {
3005         return ::vkDestroyCuModuleNVX( device, module, pAllocator );
3006       }
3007 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const3008       void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3009       {
3010         return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
3011       }
3012 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const3013       void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
3014       {
3015         return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
3016       }
3017 
3018       //=== VK_NVX_image_view_handle ===
3019 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3020       uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3021       {
3022         return ::vkGetImageViewHandleNVX( device, pInfo );
3023       }
3024 
vkGetImageViewHandle64NVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3025       uint64_t vkGetImageViewHandle64NVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3026       {
3027         return ::vkGetImageViewHandle64NVX( device, pInfo );
3028       }
3029 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const3030       VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
3031       {
3032         return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
3033       }
3034 
3035       //=== VK_AMD_draw_indirect_count ===
3036 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3037       void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
3038                                       VkBuffer        buffer,
3039                                       VkDeviceSize    offset,
3040                                       VkBuffer        countBuffer,
3041                                       VkDeviceSize    countBufferOffset,
3042                                       uint32_t        maxDrawCount,
3043                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3044       {
3045         return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3046       }
3047 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3048       void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
3049                                              VkBuffer        buffer,
3050                                              VkDeviceSize    offset,
3051                                              VkBuffer        countBuffer,
3052                                              VkDeviceSize    countBufferOffset,
3053                                              uint32_t        maxDrawCount,
3054                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3055       {
3056         return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3057       }
3058 
3059       //=== VK_AMD_shader_info ===
3060 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const3061       VkResult vkGetShaderInfoAMD( VkDevice              device,
3062                                    VkPipeline            pipeline,
3063                                    VkShaderStageFlagBits shaderStage,
3064                                    VkShaderInfoTypeAMD   infoType,
3065                                    size_t *              pInfoSize,
3066                                    void *                pInfo ) const VULKAN_HPP_NOEXCEPT
3067       {
3068         return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
3069       }
3070 
3071       //=== VK_KHR_dynamic_rendering ===
3072 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const3073       void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
3074       {
3075         return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
3076       }
3077 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const3078       void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3079       {
3080         return ::vkCmdEndRenderingKHR( commandBuffer );
3081       }
3082 
3083 #  if defined( VK_USE_PLATFORM_GGP )
3084       //=== VK_GGP_stream_descriptor_surface ===
3085 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3086       VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3087                                                    const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3088                                                    const VkAllocationCallbacks *                  pAllocator,
3089                                                    VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3090       {
3091         return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3092       }
3093 #  endif /*VK_USE_PLATFORM_GGP*/
3094 
3095       //=== VK_NV_external_memory_capabilities ===
3096 
3097       VkResult
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3098         vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3099                                                             VkFormat                            format,
3100                                                             VkImageType                         type,
3101                                                             VkImageTiling                       tiling,
3102                                                             VkImageUsageFlags                   usage,
3103                                                             VkImageCreateFlags                  flags,
3104                                                             VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3105                                                             VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3106       {
3107         return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3108           physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3109       }
3110 
3111 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3112       //=== VK_NV_external_memory_win32 ===
3113 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3114       VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3115                                          VkDeviceMemory                    memory,
3116                                          VkExternalMemoryHandleTypeFlagsNV handleType,
3117                                          HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3118       {
3119         return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3120       }
3121 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3122 
3123       //=== VK_KHR_get_physical_device_properties2 ===
3124 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3125       void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3126       {
3127         return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3128       }
3129 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3130       void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3131       {
3132         return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3133       }
3134 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3135       void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3136                                                     VkFormat              format,
3137                                                     VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3138       {
3139         return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3140       }
3141 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3142       VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3143                                                              const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3144                                                              VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3145       {
3146         return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3147       }
3148 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3149       void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3150                                                          uint32_t *                 pQueueFamilyPropertyCount,
3151                                                          VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3152       {
3153         return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3154       }
3155 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3156       void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3157                                                     VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3158       {
3159         return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3160       }
3161 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3162       void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3163                                                                const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3164                                                                uint32_t *                                     pPropertyCount,
3165                                                                VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3166       {
3167         return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3168       }
3169 
3170       //=== VK_KHR_device_group ===
3171 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3172       void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3173                                                   uint32_t                   heapIndex,
3174                                                   uint32_t                   localDeviceIndex,
3175                                                   uint32_t                   remoteDeviceIndex,
3176                                                   VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3177       {
3178         return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3179       }
3180 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3181       void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3182       {
3183         return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3184       }
3185 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3186       void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3187                                  uint32_t        baseGroupX,
3188                                  uint32_t        baseGroupY,
3189                                  uint32_t        baseGroupZ,
3190                                  uint32_t        groupCountX,
3191                                  uint32_t        groupCountY,
3192                                  uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3193       {
3194         return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3195       }
3196 
3197 #  if defined( VK_USE_PLATFORM_VI_NN )
3198       //=== VK_NN_vi_surface ===
3199 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3200       VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3201                                     const VkViSurfaceCreateInfoNN * pCreateInfo,
3202                                     const VkAllocationCallbacks *   pAllocator,
3203                                     VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3204       {
3205         return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3206       }
3207 #  endif /*VK_USE_PLATFORM_VI_NN*/
3208 
3209       //=== VK_KHR_maintenance1 ===
3210 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3211       void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3212       {
3213         return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3214       }
3215 
3216       //=== VK_KHR_device_group_creation ===
3217 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3218       VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3219                                                    uint32_t *                        pPhysicalDeviceGroupCount,
3220                                                    VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3221       {
3222         return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3223       }
3224 
3225       //=== VK_KHR_external_memory_capabilities ===
3226 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3227       void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3228                                                            const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3229                                                            VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3230       {
3231         return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3232       }
3233 
3234 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3235       //=== VK_KHR_external_memory_win32 ===
3236 
3237       VkResult
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3238         vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3239       {
3240         return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3241       }
3242 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3243       VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3244                                                     VkExternalMemoryHandleTypeFlagBits handleType,
3245                                                     HANDLE                             handle,
3246                                                     VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3247       {
3248         return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3249       }
3250 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3251 
3252       //=== VK_KHR_external_memory_fd ===
3253 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3254       VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3255       {
3256         return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3257       }
3258 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3259       VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3260                                            VkExternalMemoryHandleTypeFlagBits handleType,
3261                                            int                                fd,
3262                                            VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3263       {
3264         return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3265       }
3266 
3267       //=== VK_KHR_external_semaphore_capabilities ===
3268 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3269       void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3270                                                               const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3271                                                               VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3272       {
3273         return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3274       }
3275 
3276 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3277       //=== VK_KHR_external_semaphore_win32 ===
3278 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3279       VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3280                                                 const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3281       {
3282         return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3283       }
3284 
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3285       VkResult vkGetSemaphoreWin32HandleKHR( VkDevice                                 device,
3286                                              const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
3287                                              HANDLE *                                 pHandle ) const VULKAN_HPP_NOEXCEPT
3288       {
3289         return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3290       }
3291 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3292 
3293       //=== VK_KHR_external_semaphore_fd ===
3294 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3295       VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3296       {
3297         return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3298       }
3299 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3300       VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3301       {
3302         return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3303       }
3304 
3305       //=== VK_KHR_push_descriptor ===
3306 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3307       void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3308                                       VkPipelineBindPoint          pipelineBindPoint,
3309                                       VkPipelineLayout             layout,
3310                                       uint32_t                     set,
3311                                       uint32_t                     descriptorWriteCount,
3312                                       const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3313       {
3314         return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3315       }
3316 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3317       void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3318                                                   VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3319                                                   VkPipelineLayout           layout,
3320                                                   uint32_t                   set,
3321                                                   const void *               pData ) const VULKAN_HPP_NOEXCEPT
3322       {
3323         return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3324       }
3325 
3326       //=== VK_EXT_conditional_rendering ===
3327 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3328       void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3329                                               const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3330       {
3331         return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3332       }
3333 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3334       void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3335       {
3336         return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3337       }
3338 
3339       //=== VK_KHR_descriptor_update_template ===
3340 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3341       VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3342                                                     const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3343                                                     const VkAllocationCallbacks *                pAllocator,
3344                                                     VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3345       {
3346         return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3347       }
3348 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3349       void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3350                                                  VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3351                                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3352       {
3353         return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3354       }
3355 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3356       void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3357                                                  VkDescriptorSet            descriptorSet,
3358                                                  VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3359                                                  const void *               pData ) const VULKAN_HPP_NOEXCEPT
3360       {
3361         return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3362       }
3363 
3364       //=== VK_NV_clip_space_w_scaling ===
3365 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3366       void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3367                                        uint32_t                     firstViewport,
3368                                        uint32_t                     viewportCount,
3369                                        const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3370       {
3371         return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3372       }
3373 
3374       //=== VK_EXT_direct_mode_display ===
3375 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3376       VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3377       {
3378         return ::vkReleaseDisplayEXT( physicalDevice, display );
3379       }
3380 
3381 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3382       //=== VK_EXT_acquire_xlib_display ===
3383 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3384       VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3385       {
3386         return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3387       }
3388 
3389       VkResult
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3390         vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3391       {
3392         return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3393       }
3394 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3395 
3396       //=== VK_EXT_display_surface_counter ===
3397 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3398       VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3399                                                            VkSurfaceKHR                surface,
3400                                                            VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3401       {
3402         return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3403       }
3404 
3405       //=== VK_EXT_display_control ===
3406 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3407       VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3408       {
3409         return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3410       }
3411 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3412       VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3413                                          const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3414                                          const VkAllocationCallbacks * pAllocator,
3415                                          VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3416       {
3417         return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3418       }
3419 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3420       VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3421                                           VkDisplayKHR                  display,
3422                                           const VkDisplayEventInfoEXT * pDisplayEventInfo,
3423                                           const VkAllocationCallbacks * pAllocator,
3424                                           VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3425       {
3426         return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3427       }
3428 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3429       VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3430                                          VkSwapchainKHR              swapchain,
3431                                          VkSurfaceCounterFlagBitsEXT counter,
3432                                          uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3433       {
3434         return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3435       }
3436 
3437       //=== VK_GOOGLE_display_timing ===
3438 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3439       VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3440                                                 VkSwapchainKHR                 swapchain,
3441                                                 VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3442       {
3443         return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3444       }
3445 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3446       VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3447                                                   VkSwapchainKHR                   swapchain,
3448                                                   uint32_t *                       pPresentationTimingCount,
3449                                                   VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3450       {
3451         return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3452       }
3453 
3454       //=== VK_EXT_discard_rectangles ===
3455 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3456       void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3457                                         uint32_t         firstDiscardRectangle,
3458                                         uint32_t         discardRectangleCount,
3459                                         const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3460       {
3461         return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3462       }
3463 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3464       void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3465       {
3466         return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3467       }
3468 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3469       void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3470       {
3471         return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3472       }
3473 
3474       //=== VK_EXT_hdr_metadata ===
3475 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3476       void vkSetHdrMetadataEXT( VkDevice                 device,
3477                                 uint32_t                 swapchainCount,
3478                                 const VkSwapchainKHR *   pSwapchains,
3479                                 const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3480       {
3481         return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3482       }
3483 
3484       //=== VK_KHR_create_renderpass2 ===
3485 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3486       VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3487                                        const VkRenderPassCreateInfo2 * pCreateInfo,
3488                                        const VkAllocationCallbacks *   pAllocator,
3489                                        VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3490       {
3491         return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3492       }
3493 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3494       void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3495                                      const VkRenderPassBeginInfo * pRenderPassBegin,
3496                                      const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3497       {
3498         return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3499       }
3500 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3501       void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3502                                  const VkSubpassBeginInfo * pSubpassBeginInfo,
3503                                  const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3504       {
3505         return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3506       }
3507 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3508       void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3509       {
3510         return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3511       }
3512 
3513       //=== VK_KHR_shared_presentable_image ===
3514 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3515       VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3516       {
3517         return ::vkGetSwapchainStatusKHR( device, swapchain );
3518       }
3519 
3520       //=== VK_KHR_external_fence_capabilities ===
3521 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3522       void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3523                                                           const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3524                                                           VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3525       {
3526         return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3527       }
3528 
3529 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3530       //=== VK_KHR_external_fence_win32 ===
3531 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3532       VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3533       {
3534         return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3535       }
3536 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3537       VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3538       {
3539         return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3540       }
3541 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3542 
3543       //=== VK_KHR_external_fence_fd ===
3544 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3545       VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3546       {
3547         return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3548       }
3549 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3550       VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3551       {
3552         return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3553       }
3554 
3555       //=== VK_KHR_performance_query ===
3556 
3557       VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3558         vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3559                                                                          uint32_t                             queueFamilyIndex,
3560                                                                          uint32_t *                           pCounterCount,
3561                                                                          VkPerformanceCounterKHR *            pCounters,
3562                                                                          VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3563       {
3564         return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3565           physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3566       }
3567 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3568       void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3569                                                                     const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3570                                                                     uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3571       {
3572         return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3573       }
3574 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3575       VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3576       {
3577         return ::vkAcquireProfilingLockKHR( device, pInfo );
3578       }
3579 
vkReleaseProfilingLockKHR(VkDevice device) const3580       void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3581       {
3582         return ::vkReleaseProfilingLockKHR( device );
3583       }
3584 
3585       //=== VK_KHR_get_surface_capabilities2 ===
3586 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3587       VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3588                                                            const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3589                                                            VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3590       {
3591         return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3592       }
3593 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3594       VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3595                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3596                                                       uint32_t *                              pSurfaceFormatCount,
3597                                                       VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3598       {
3599         return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3600       }
3601 
3602       //=== VK_KHR_get_display_properties2 ===
3603 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3604       VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3605                                                          uint32_t *                pPropertyCount,
3606                                                          VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3607       {
3608         return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3609       }
3610 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3611       VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3612                                                               uint32_t *                     pPropertyCount,
3613                                                               VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3614       {
3615         return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3616       }
3617 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3618       VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3619                                                VkDisplayKHR                  display,
3620                                                uint32_t *                    pPropertyCount,
3621                                                VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3622       {
3623         return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3624       }
3625 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3626       VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3627                                                   const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3628                                                   VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3629       {
3630         return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3631       }
3632 
3633 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3634       //=== VK_MVK_ios_surface ===
3635 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3636       VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3637                                       const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3638                                       const VkAllocationCallbacks *     pAllocator,
3639                                       VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3640       {
3641         return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3642       }
3643 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3644 
3645 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3646       //=== VK_MVK_macos_surface ===
3647 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3648       VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3649                                         const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3650                                         const VkAllocationCallbacks *       pAllocator,
3651                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3652       {
3653         return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3654       }
3655 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3656 
3657       //=== VK_EXT_debug_utils ===
3658 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3659       VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3660       {
3661         return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3662       }
3663 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3664       VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3665       {
3666         return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3667       }
3668 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3669       void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3670       {
3671         return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3672       }
3673 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3674       void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3675       {
3676         return ::vkQueueEndDebugUtilsLabelEXT( queue );
3677       }
3678 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3679       void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3680       {
3681         return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3682       }
3683 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3684       void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3685       {
3686         return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3687       }
3688 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3689       void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3690       {
3691         return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3692       }
3693 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3694       void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3695       {
3696         return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3697       }
3698 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3699       VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3700                                                const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3701                                                const VkAllocationCallbacks *              pAllocator,
3702                                                VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3703       {
3704         return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3705       }
3706 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3707       void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3708                                             VkDebugUtilsMessengerEXT      messenger,
3709                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3710       {
3711         return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3712       }
3713 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3714       void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3715                                          VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3716                                          VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3717                                          const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3718       {
3719         return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3720       }
3721 
3722 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3723       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3724 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3725       VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3726                                                             const struct AHardwareBuffer *             buffer,
3727                                                             VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3728       {
3729         return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3730       }
3731 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3732       VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3733                                                         const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3734                                                         struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3735       {
3736         return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3737       }
3738 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3739 
3740 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3741       //=== VK_AMDX_shader_enqueue ===
3742 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3743       VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3744                                                     VkPipelineCache                                pipelineCache,
3745                                                     uint32_t                                       createInfoCount,
3746                                                     const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3747                                                     const VkAllocationCallbacks *                  pAllocator,
3748                                                     VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3749       {
3750         return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3751       }
3752 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3753       VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3754                                                            VkPipeline                                executionGraph,
3755                                                            VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3756       {
3757         return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3758       }
3759 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3760       VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3761                                                          VkPipeline                                      executionGraph,
3762                                                          const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3763                                                          uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3764       {
3765         return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3766       }
3767 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkPipeline executionGraph,VkDeviceAddress scratch,VkDeviceSize scratchSize) const3768       void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer,
3769                                                   VkPipeline      executionGraph,
3770                                                   VkDeviceAddress scratch,
3771                                                   VkDeviceSize    scratchSize ) const VULKAN_HPP_NOEXCEPT
3772       {
3773         return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, executionGraph, scratch, scratchSize );
3774       }
3775 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3776       void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3777                                    VkDeviceAddress                      scratch,
3778                                    VkDeviceSize                         scratchSize,
3779                                    const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3780       {
3781         return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
3782       }
3783 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3784       void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3785                                            VkDeviceAddress                      scratch,
3786                                            VkDeviceSize                         scratchSize,
3787                                            const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3788       {
3789         return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, scratchSize, pCountInfo );
3790       }
3791 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceSize scratchSize,VkDeviceAddress countInfo) const3792       void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer,
3793                                                 VkDeviceAddress scratch,
3794                                                 VkDeviceSize    scratchSize,
3795                                                 VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3796       {
3797         return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, scratchSize, countInfo );
3798       }
3799 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3800 
3801       //=== VK_EXT_sample_locations ===
3802 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3803       void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3804       {
3805         return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3806       }
3807 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3808       void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3809                                                         VkSampleCountFlagBits        samples,
3810                                                         VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3811       {
3812         return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3813       }
3814 
3815       //=== VK_KHR_get_memory_requirements2 ===
3816 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3817       void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3818                                              const VkImageMemoryRequirementsInfo2 * pInfo,
3819                                              VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3820       {
3821         return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3822       }
3823 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3824       void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3825                                               const VkBufferMemoryRequirementsInfo2 * pInfo,
3826                                               VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3827       {
3828         return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3829       }
3830 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3831       void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3832                                                    const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3833                                                    uint32_t *                                   pSparseMemoryRequirementCount,
3834                                                    VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3835       {
3836         return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3837       }
3838 
3839       //=== VK_KHR_acceleration_structure ===
3840 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3841       VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3842                                                  const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3843                                                  const VkAllocationCallbacks *                pAllocator,
3844                                                  VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3845       {
3846         return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3847       }
3848 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3849       void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3850                                               VkAccelerationStructureKHR    accelerationStructure,
3851                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3852       {
3853         return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3854       }
3855 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3856       void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3857                                                 uint32_t                                                 infoCount,
3858                                                 const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3859                                                 const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3860       {
3861         return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3862       }
3863 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3864       void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3865                                                         uint32_t                                            infoCount,
3866                                                         const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3867                                                         const VkDeviceAddress *                             pIndirectDeviceAddresses,
3868                                                         const uint32_t *                                    pIndirectStrides,
3869                                                         const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3870       {
3871         return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3872           commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3873       }
3874 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3875       VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3876                                                  VkDeferredOperationKHR                                   deferredOperation,
3877                                                  uint32_t                                                 infoCount,
3878                                                  const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3879                                                  const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3880       {
3881         return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3882       }
3883 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3884       VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3885                                                VkDeferredOperationKHR                     deferredOperation,
3886                                                const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3887       {
3888         return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3889       }
3890 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3891       VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3892                                                        VkDeferredOperationKHR                             deferredOperation,
3893                                                        const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3894       {
3895         return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3896       }
3897 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3898       VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3899                                                        VkDeferredOperationKHR                             deferredOperation,
3900                                                        const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3901       {
3902         return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3903       }
3904 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3905       VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3906                                                            uint32_t                           accelerationStructureCount,
3907                                                            const VkAccelerationStructureKHR * pAccelerationStructures,
3908                                                            VkQueryType                        queryType,
3909                                                            size_t                             dataSize,
3910                                                            void *                             pData,
3911                                                            size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3912       {
3913         return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3914       }
3915 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3916       void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3917       {
3918         return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3919       }
3920 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3921       void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3922                                                       const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3923       {
3924         return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3925       }
3926 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3927       void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3928                                                       const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3929       {
3930         return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3931       }
3932 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3933       VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3934                                                                   const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3935       {
3936         return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3937       }
3938 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3939       void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3940                                                           uint32_t                           accelerationStructureCount,
3941                                                           const VkAccelerationStructureKHR * pAccelerationStructures,
3942                                                           VkQueryType                        queryType,
3943                                                           VkQueryPool                        queryPool,
3944                                                           uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3945       {
3946         return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3947           commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3948       }
3949 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3950       void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3951                                                              const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3952                                                              VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3953       {
3954         return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3955       }
3956 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3957       void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3958                                                     VkAccelerationStructureBuildTypeKHR                 buildType,
3959                                                     const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3960                                                     const uint32_t *                                    pMaxPrimitiveCounts,
3961                                                     VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3962       {
3963         return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3964       }
3965 
3966       //=== VK_KHR_ray_tracing_pipeline ===
3967 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3968       void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3969                               const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3970                               const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3971                               const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3972                               const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3973                               uint32_t                                width,
3974                               uint32_t                                height,
3975                               uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3976       {
3977         return ::vkCmdTraceRaysKHR(
3978           commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3979       }
3980 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3981       VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3982                                                VkDeferredOperationKHR                    deferredOperation,
3983                                                VkPipelineCache                           pipelineCache,
3984                                                uint32_t                                  createInfoCount,
3985                                                const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3986                                                const VkAllocationCallbacks *             pAllocator,
3987                                                VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
3988       {
3989         return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3990       }
3991 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3992       VkResult vkGetRayTracingShaderGroupHandlesKHR(
3993         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3994       {
3995         return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3996       }
3997 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3998       VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3999         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4000       {
4001         return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
4002       }
4003 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const4004       void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
4005                                       const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
4006                                       const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
4007                                       const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
4008                                       const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
4009                                       VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
4010       {
4011         return ::vkCmdTraceRaysIndirectKHR(
4012           commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
4013       }
4014 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const4015       VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
4016                                                            VkPipeline             pipeline,
4017                                                            uint32_t               group,
4018                                                            VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
4019       {
4020         return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
4021       }
4022 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const4023       void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
4024       {
4025         return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
4026       }
4027 
4028       //=== VK_KHR_sampler_ycbcr_conversion ===
4029 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const4030       VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
4031                                                   const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
4032                                                   const VkAllocationCallbacks *              pAllocator,
4033                                                   VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
4034       {
4035         return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
4036       }
4037 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const4038       void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
4039                                                VkSamplerYcbcrConversion      ycbcrConversion,
4040                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4041       {
4042         return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
4043       }
4044 
4045       //=== VK_KHR_bind_memory2 ===
4046 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const4047       VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4048       {
4049         return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
4050       }
4051 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const4052       VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4053       {
4054         return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
4055       }
4056 
4057       //=== VK_EXT_image_drm_format_modifier ===
4058 
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const4059       VkResult vkGetImageDrmFormatModifierPropertiesEXT( VkDevice                                device,
4060                                                          VkImage                                 image,
4061                                                          VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
4062       {
4063         return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
4064       }
4065 
4066       //=== VK_EXT_validation_cache ===
4067 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const4068       VkResult vkCreateValidationCacheEXT( VkDevice                               device,
4069                                            const VkValidationCacheCreateInfoEXT * pCreateInfo,
4070                                            const VkAllocationCallbacks *          pAllocator,
4071                                            VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
4072       {
4073         return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
4074       }
4075 
4076       void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const4077         vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4078       {
4079         return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
4080       }
4081 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const4082       VkResult vkMergeValidationCachesEXT( VkDevice                     device,
4083                                            VkValidationCacheEXT         dstCache,
4084                                            uint32_t                     srcCacheCount,
4085                                            const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
4086       {
4087         return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
4088       }
4089 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const4090       VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4091       {
4092         return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
4093       }
4094 
4095       //=== VK_NV_shading_rate_image ===
4096 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4097       void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
4098       {
4099         return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4100       }
4101 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4102       void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4103                                                  uint32_t                       firstViewport,
4104                                                  uint32_t                       viewportCount,
4105                                                  const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4106       {
4107         return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4108       }
4109 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4110       void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4111                                         VkCoarseSampleOrderTypeNV           sampleOrderType,
4112                                         uint32_t                            customSampleOrderCount,
4113                                         const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4114       {
4115         return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4116       }
4117 
4118       //=== VK_NV_ray_tracing ===
4119 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4120       VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4121                                                 const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4122                                                 const VkAllocationCallbacks *               pAllocator,
4123                                                 VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4124       {
4125         return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4126       }
4127 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4128       void vkDestroyAccelerationStructureNV( VkDevice                      device,
4129                                              VkAccelerationStructureNV     accelerationStructure,
4130                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4131       {
4132         return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4133       }
4134 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4135       void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4136                                                            const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4137                                                            VkMemoryRequirements2KHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4138       {
4139         return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4140       }
4141 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4142       VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4143                                                     uint32_t                                        bindInfoCount,
4144                                                     const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4145       {
4146         return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4147       }
4148 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4149       void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4150                                               const VkAccelerationStructureInfoNV * pInfo,
4151                                               VkBuffer                              instanceData,
4152                                               VkDeviceSize                          instanceOffset,
4153                                               VkBool32                              update,
4154                                               VkAccelerationStructureNV             dst,
4155                                               VkAccelerationStructureNV             src,
4156                                               VkBuffer                              scratch,
4157                                               VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4158       {
4159         return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4160       }
4161 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4162       void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4163                                              VkAccelerationStructureNV          dst,
4164                                              VkAccelerationStructureNV          src,
4165                                              VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4166       {
4167         return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4168       }
4169 
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) const4170       void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4171                              VkBuffer        raygenShaderBindingTableBuffer,
4172                              VkDeviceSize    raygenShaderBindingOffset,
4173                              VkBuffer        missShaderBindingTableBuffer,
4174                              VkDeviceSize    missShaderBindingOffset,
4175                              VkDeviceSize    missShaderBindingStride,
4176                              VkBuffer        hitShaderBindingTableBuffer,
4177                              VkDeviceSize    hitShaderBindingOffset,
4178                              VkDeviceSize    hitShaderBindingStride,
4179                              VkBuffer        callableShaderBindingTableBuffer,
4180                              VkDeviceSize    callableShaderBindingOffset,
4181                              VkDeviceSize    callableShaderBindingStride,
4182                              uint32_t        width,
4183                              uint32_t        height,
4184                              uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4185       {
4186         return ::vkCmdTraceRaysNV( commandBuffer,
4187                                    raygenShaderBindingTableBuffer,
4188                                    raygenShaderBindingOffset,
4189                                    missShaderBindingTableBuffer,
4190                                    missShaderBindingOffset,
4191                                    missShaderBindingStride,
4192                                    hitShaderBindingTableBuffer,
4193                                    hitShaderBindingOffset,
4194                                    hitShaderBindingStride,
4195                                    callableShaderBindingTableBuffer,
4196                                    callableShaderBindingOffset,
4197                                    callableShaderBindingStride,
4198                                    width,
4199                                    height,
4200                                    depth );
4201       }
4202 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4203       VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4204                                               VkPipelineCache                          pipelineCache,
4205                                               uint32_t                                 createInfoCount,
4206                                               const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4207                                               const VkAllocationCallbacks *            pAllocator,
4208                                               VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4209       {
4210         return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4211       }
4212 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4213       VkResult vkGetRayTracingShaderGroupHandlesNV(
4214         VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4215       {
4216         return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4217       }
4218 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4219       VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4220                                                    VkAccelerationStructureNV accelerationStructure,
4221                                                    size_t                    dataSize,
4222                                                    void *                    pData ) const VULKAN_HPP_NOEXCEPT
4223       {
4224         return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4225       }
4226 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4227       void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4228                                                          uint32_t                          accelerationStructureCount,
4229                                                          const VkAccelerationStructureNV * pAccelerationStructures,
4230                                                          VkQueryType                       queryType,
4231                                                          VkQueryPool                       queryPool,
4232                                                          uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4233       {
4234         return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4235           commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4236       }
4237 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4238       VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4239       {
4240         return ::vkCompileDeferredNV( device, pipeline, shader );
4241       }
4242 
4243       //=== VK_KHR_maintenance3 ===
4244 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4245       void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4246                                                const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4247                                                VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4248       {
4249         return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4250       }
4251 
4252       //=== VK_KHR_draw_indirect_count ===
4253 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4254       void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4255                                       VkBuffer        buffer,
4256                                       VkDeviceSize    offset,
4257                                       VkBuffer        countBuffer,
4258                                       VkDeviceSize    countBufferOffset,
4259                                       uint32_t        maxDrawCount,
4260                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4261       {
4262         return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4263       }
4264 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4265       void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4266                                              VkBuffer        buffer,
4267                                              VkDeviceSize    offset,
4268                                              VkBuffer        countBuffer,
4269                                              VkDeviceSize    countBufferOffset,
4270                                              uint32_t        maxDrawCount,
4271                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4272       {
4273         return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4274       }
4275 
4276       //=== VK_EXT_external_memory_host ===
4277 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4278       VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4279                                                     VkExternalMemoryHandleTypeFlagBits handleType,
4280                                                     const void *                       pHostPointer,
4281                                                     VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4282       {
4283         return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4284       }
4285 
4286       //=== VK_AMD_buffer_marker ===
4287 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4288       void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4289                                       VkPipelineStageFlagBits pipelineStage,
4290                                       VkBuffer                dstBuffer,
4291                                       VkDeviceSize            dstOffset,
4292                                       uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4293       {
4294         return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4295       }
4296 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4297       void vkCmdWriteBufferMarker2AMD(
4298         VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4299       {
4300         return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4301       }
4302 
4303       //=== VK_EXT_calibrated_timestamps ===
4304 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4305       VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4306                                                                uint32_t *        pTimeDomainCount,
4307                                                                VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4308       {
4309         return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4310       }
4311 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4312       VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4313                                              uint32_t                             timestampCount,
4314                                              const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4315                                              uint64_t *                           pTimestamps,
4316                                              uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4317       {
4318         return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4319       }
4320 
4321       //=== VK_NV_mesh_shader ===
4322 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4323       void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4324       {
4325         return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4326       }
4327 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4328       void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4329         VULKAN_HPP_NOEXCEPT
4330       {
4331         return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4332       }
4333 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4334       void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4335                                               VkBuffer        buffer,
4336                                               VkDeviceSize    offset,
4337                                               VkBuffer        countBuffer,
4338                                               VkDeviceSize    countBufferOffset,
4339                                               uint32_t        maxDrawCount,
4340                                               uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4341       {
4342         return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4343       }
4344 
4345       //=== VK_NV_scissor_exclusive ===
4346 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4347       void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4348                                              uint32_t         firstExclusiveScissor,
4349                                              uint32_t         exclusiveScissorCount,
4350                                              const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4351       {
4352         return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4353       }
4354 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4355       void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4356                                        uint32_t         firstExclusiveScissor,
4357                                        uint32_t         exclusiveScissorCount,
4358                                        const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4359       {
4360         return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4361       }
4362 
4363       //=== VK_NV_device_diagnostic_checkpoints ===
4364 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4365       void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4366       {
4367         return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4368       }
4369 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4370       void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4371       {
4372         return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4373       }
4374 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4375       void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4376       {
4377         return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4378       }
4379 
4380       //=== VK_KHR_timeline_semaphore ===
4381 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4382       VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4383       {
4384         return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4385       }
4386 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4387       VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4388       {
4389         return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4390       }
4391 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4392       VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4393       {
4394         return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4395       }
4396 
4397       //=== VK_INTEL_performance_query ===
4398 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4399       VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4400       {
4401         return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4402       }
4403 
vkUninitializePerformanceApiINTEL(VkDevice device) const4404       void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4405       {
4406         return ::vkUninitializePerformanceApiINTEL( device );
4407       }
4408 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4409       VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4410       {
4411         return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4412       }
4413 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4414       VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4415                                                      const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4416       {
4417         return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4418       }
4419 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4420       VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4421       {
4422         return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4423       }
4424 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4425       VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4426                                                        const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4427                                                        VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4428       {
4429         return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4430       }
4431 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4432       VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4433       {
4434         return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4435       }
4436 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4437       VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4438       {
4439         return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4440       }
4441 
4442       VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4443         vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4444       {
4445         return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4446       }
4447 
4448       //=== VK_AMD_display_native_hdr ===
4449 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4450       void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4451       {
4452         return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4453       }
4454 
4455 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4456       //=== VK_FUCHSIA_imagepipe_surface ===
4457 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4458       VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4459                                                 const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4460                                                 const VkAllocationCallbacks *               pAllocator,
4461                                                 VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4462       {
4463         return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4464       }
4465 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4466 
4467 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4468       //=== VK_EXT_metal_surface ===
4469 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4470       VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4471                                         const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4472                                         const VkAllocationCallbacks *       pAllocator,
4473                                         VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4474       {
4475         return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4476       }
4477 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4478 
4479       //=== VK_KHR_fragment_shading_rate ===
4480 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4481       VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4482                                                            uint32_t *                               pFragmentShadingRateCount,
4483                                                            VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4484       {
4485         return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4486       }
4487 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4488       void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4489                                            const VkExtent2D *                       pFragmentSize,
4490                                            const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4491       {
4492         return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4493       }
4494 
4495       //=== VK_KHR_dynamic_rendering_local_read ===
4496 
vkCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfo * pLocationInfo) const4497       void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer                           commandBuffer,
4498                                                     const VkRenderingAttachmentLocationInfo * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
4499       {
4500         return ::vkCmdSetRenderingAttachmentLocationsKHR( commandBuffer, pLocationInfo );
4501       }
4502 
vkCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) const4503       void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer                             commandBuffer,
4504                                                        const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT
4505       {
4506         return ::vkCmdSetRenderingInputAttachmentIndicesKHR( commandBuffer, pInputAttachmentIndexInfo );
4507       }
4508 
4509       //=== VK_EXT_buffer_device_address ===
4510 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4511       VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4512       {
4513         return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4514       }
4515 
4516       //=== VK_EXT_tooling_info ===
4517 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4518       VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4519                                                      uint32_t *                       pToolCount,
4520                                                      VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4521       {
4522         return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4523       }
4524 
4525       //=== VK_KHR_present_wait ===
4526 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4527       VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4528       {
4529         return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4530       }
4531 
4532       //=== VK_NV_cooperative_matrix ===
4533 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4534       VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4535                                                                  uint32_t *                        pPropertyCount,
4536                                                                  VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4537       {
4538         return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4539       }
4540 
4541       //=== VK_NV_coverage_reduction_mode ===
4542 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4543       VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4544         VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4545       {
4546         return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4547       }
4548 
4549 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4550       //=== VK_EXT_full_screen_exclusive ===
4551 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4552       VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4553                                                            const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4554                                                            uint32_t *                              pPresentModeCount,
4555                                                            VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4556       {
4557         return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4558       }
4559 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4560       VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4561       {
4562         return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4563       }
4564 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4565       VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4566       {
4567         return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4568       }
4569 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4570       VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4571                                                         const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4572                                                         VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4573       {
4574         return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4575       }
4576 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4577 
4578       //=== VK_EXT_headless_surface ===
4579 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4580       VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4581                                            const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4582                                            const VkAllocationCallbacks *          pAllocator,
4583                                            VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4584       {
4585         return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4586       }
4587 
4588       //=== VK_KHR_buffer_device_address ===
4589 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4590       VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4591       {
4592         return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4593       }
4594 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4595       uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4596       {
4597         return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4598       }
4599 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4600       uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4601       {
4602         return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4603       }
4604 
4605       //=== VK_EXT_line_rasterization ===
4606 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4607       void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4608       {
4609         return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4610       }
4611 
4612       //=== VK_EXT_host_query_reset ===
4613 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4614       void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4615       {
4616         return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4617       }
4618 
4619       //=== VK_EXT_extended_dynamic_state ===
4620 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4621       void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4622       {
4623         return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4624       }
4625 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4626       void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4627       {
4628         return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4629       }
4630 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4631       void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4632       {
4633         return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4634       }
4635 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4636       void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4637       {
4638         return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4639       }
4640 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4641       void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4642       {
4643         return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4644       }
4645 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4646       void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4647                                        uint32_t             firstBinding,
4648                                        uint32_t             bindingCount,
4649                                        const VkBuffer *     pBuffers,
4650                                        const VkDeviceSize * pOffsets,
4651                                        const VkDeviceSize * pSizes,
4652                                        const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4653       {
4654         return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4655       }
4656 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4657       void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4658       {
4659         return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4660       }
4661 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4662       void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4663       {
4664         return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4665       }
4666 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4667       void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4668       {
4669         return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4670       }
4671 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4672       void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4673       {
4674         return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4675       }
4676 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4677       void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4678       {
4679         return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4680       }
4681 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4682       void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4683                                  VkStencilFaceFlags faceMask,
4684                                  VkStencilOp        failOp,
4685                                  VkStencilOp        passOp,
4686                                  VkStencilOp        depthFailOp,
4687                                  VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4688       {
4689         return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4690       }
4691 
4692       //=== VK_KHR_deferred_host_operations ===
4693 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4694       VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4695                                              const VkAllocationCallbacks * pAllocator,
4696                                              VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4697       {
4698         return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4699       }
4700 
4701       void
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4702         vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4703       {
4704         return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4705       }
4706 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4707       uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4708       {
4709         return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4710       }
4711 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4712       VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4713       {
4714         return ::vkGetDeferredOperationResultKHR( device, operation );
4715       }
4716 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4717       VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4718       {
4719         return ::vkDeferredOperationJoinKHR( device, operation );
4720       }
4721 
4722       //=== VK_KHR_pipeline_executable_properties ===
4723 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4724       VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4725                                                      const VkPipelineInfoKHR *           pPipelineInfo,
4726                                                      uint32_t *                          pExecutableCount,
4727                                                      VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4728       {
4729         return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4730       }
4731 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4732       VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4733                                                      const VkPipelineExecutableInfoKHR * pExecutableInfo,
4734                                                      uint32_t *                          pStatisticCount,
4735                                                      VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4736       {
4737         return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4738       }
4739 
4740       VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4741         vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4742                                                            const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4743                                                            uint32_t *                                      pInternalRepresentationCount,
4744                                                            VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4745       {
4746         return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4747       }
4748 
4749       //=== VK_EXT_host_image_copy ===
4750 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) const4751       VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4752       {
4753         return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4754       }
4755 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) const4756       VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4757       {
4758         return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4759       }
4760 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfo * pCopyImageToImageInfo) const4761       VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4762       {
4763         return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4764       }
4765 
4766       VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfo * pTransitions) const4767         vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions ) const VULKAN_HPP_NOEXCEPT
4768       {
4769         return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4770       }
4771 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const4772       void vkGetImageSubresourceLayout2EXT( VkDevice                    device,
4773                                             VkImage                     image,
4774                                             const VkImageSubresource2 * pSubresource,
4775                                             VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
4776       {
4777         return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4778       }
4779 
4780       //=== VK_KHR_map_memory2 ===
4781 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfo * pMemoryMapInfo,void ** ppData) const4782       VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4783       {
4784         return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4785       }
4786 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfo * pMemoryUnmapInfo) const4787       VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4788       {
4789         return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4790       }
4791 
4792       //=== VK_EXT_swapchain_maintenance1 ===
4793 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4794       VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4795       {
4796         return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4797       }
4798 
4799       //=== VK_NV_device_generated_commands ===
4800 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4801       void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4802                                                        const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4803                                                        VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4804       {
4805         return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4806       }
4807 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4808       void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4809                                                const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4810       {
4811         return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4812       }
4813 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4814       void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4815                                             VkBool32                          isPreprocessed,
4816                                             const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4817       {
4818         return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4819       }
4820 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4821       void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4822                                            VkPipelineBindPoint pipelineBindPoint,
4823                                            VkPipeline          pipeline,
4824                                            uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4825       {
4826         return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4827       }
4828 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4829       VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4830                                                  const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4831                                                  const VkAllocationCallbacks *                pAllocator,
4832                                                  VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4833       {
4834         return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4835       }
4836 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4837       void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4838                                               VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4839                                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4840       {
4841         return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4842       }
4843 
4844       //=== VK_EXT_depth_bias_control ===
4845 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4846       void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4847       {
4848         return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4849       }
4850 
4851       //=== VK_EXT_acquire_drm_display ===
4852 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4853       VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4854       {
4855         return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4856       }
4857 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4858       VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4859       {
4860         return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4861       }
4862 
4863       //=== VK_EXT_private_data ===
4864 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4865       VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4866                                            const VkPrivateDataSlotCreateInfo * pCreateInfo,
4867                                            const VkAllocationCallbacks *       pAllocator,
4868                                            VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4869       {
4870         return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4871       }
4872 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4873       void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4874       {
4875         return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4876       }
4877 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4878       VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4879         VULKAN_HPP_NOEXCEPT
4880       {
4881         return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4882       }
4883 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4884       void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4885         VULKAN_HPP_NOEXCEPT
4886       {
4887         return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4888       }
4889 
4890       //=== VK_KHR_video_encode_queue ===
4891 
4892       VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4893         vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4894                                                                  const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4895                                                                  VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4896       {
4897         return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4898       }
4899 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4900       VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4901                                                       const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4902                                                       VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4903                                                       size_t *                                         pDataSize,
4904                                                       void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4905       {
4906         return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4907       }
4908 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4909       void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4910       {
4911         return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4912       }
4913 
4914 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4915       //=== VK_NV_cuda_kernel_launch ===
4916 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4917       VkResult vkCreateCudaModuleNV( VkDevice                         device,
4918                                      const VkCudaModuleCreateInfoNV * pCreateInfo,
4919                                      const VkAllocationCallbacks *    pAllocator,
4920                                      VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4921       {
4922         return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4923       }
4924 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4925       VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4926       {
4927         return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4928       }
4929 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4930       VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4931                                        const VkCudaFunctionCreateInfoNV * pCreateInfo,
4932                                        const VkAllocationCallbacks *      pAllocator,
4933                                        VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4934       {
4935         return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4936       }
4937 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4938       void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4939       {
4940         return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4941       }
4942 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4943       void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4944       {
4945         return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4946       }
4947 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4948       void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4949       {
4950         return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4951       }
4952 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4953 
4954 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4955       //=== VK_EXT_metal_objects ===
4956 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4957       void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4958       {
4959         return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4960       }
4961 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4962 
4963       //=== VK_KHR_synchronization2 ===
4964 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4965       void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4966       {
4967         return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4968       }
4969 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4970       void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4971       {
4972         return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4973       }
4974 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4975       void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4976                                 uint32_t                 eventCount,
4977                                 const VkEvent *          pEvents,
4978                                 const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4979       {
4980         return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4981       }
4982 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4983       void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4984       {
4985         return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4986       }
4987 
4988       void
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const4989         vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
4990       {
4991         return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
4992       }
4993 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const4994       VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
4995       {
4996         return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
4997       }
4998 
4999       //=== VK_EXT_descriptor_buffer ===
5000 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const5001       void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
5002       {
5003         return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
5004       }
5005 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const5006       void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
5007                                                      VkDescriptorSetLayout layout,
5008                                                      uint32_t              binding,
5009                                                      VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
5010       {
5011         return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
5012       }
5013 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const5014       void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
5015       {
5016         return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
5017       }
5018 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const5019       void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
5020                                           uint32_t                                 bufferCount,
5021                                           const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
5022       {
5023         return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
5024       }
5025 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const5026       void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
5027                                                VkPipelineBindPoint  pipelineBindPoint,
5028                                                VkPipelineLayout     layout,
5029                                                uint32_t             firstSet,
5030                                                uint32_t             setCount,
5031                                                const uint32_t *     pBufferIndices,
5032                                                const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
5033       {
5034         return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
5035       }
5036 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const5037       void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
5038                                                          VkPipelineBindPoint pipelineBindPoint,
5039                                                          VkPipelineLayout    layout,
5040                                                          uint32_t            set ) const VULKAN_HPP_NOEXCEPT
5041       {
5042         return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
5043       }
5044 
5045       VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5046         vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5047       {
5048         return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5049       }
5050 
5051       VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5052         vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5053       {
5054         return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5055       }
5056 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5057       VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
5058                                                              const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
5059                                                              void *                                          pData ) const VULKAN_HPP_NOEXCEPT
5060       {
5061         return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5062       }
5063 
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5064       VkResult vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice                                      device,
5065                                                            const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,
5066                                                            void *                                        pData ) const VULKAN_HPP_NOEXCEPT
5067       {
5068         return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5069       }
5070 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5071       VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
5072                                                                          const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
5073                                                                          void * pData ) const VULKAN_HPP_NOEXCEPT
5074       {
5075         return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5076       }
5077 
5078       //=== VK_NV_fragment_shading_rate_enums ===
5079 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const5080       void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
5081                                               VkFragmentShadingRateNV                  shadingRate,
5082                                               const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
5083       {
5084         return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
5085       }
5086 
5087       //=== VK_EXT_mesh_shader ===
5088 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5089       void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5090       {
5091         return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
5092       }
5093 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const5094       void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
5095         VULKAN_HPP_NOEXCEPT
5096       {
5097         return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
5098       }
5099 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const5100       void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
5101                                                VkBuffer        buffer,
5102                                                VkDeviceSize    offset,
5103                                                VkBuffer        countBuffer,
5104                                                VkDeviceSize    countBufferOffset,
5105                                                uint32_t        maxDrawCount,
5106                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5107       {
5108         return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
5109       }
5110 
5111       //=== VK_KHR_copy_commands2 ===
5112 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const5113       void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5114       {
5115         return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5116       }
5117 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const5118       void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5119       {
5120         return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5121       }
5122 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5123       void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5124       {
5125         return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5126       }
5127 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5128       void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5129       {
5130         return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5131       }
5132 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5133       void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5134       {
5135         return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5136       }
5137 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5138       void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5139       {
5140         return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5141       }
5142 
5143       //=== VK_EXT_device_fault ===
5144 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5145       VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5146       {
5147         return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5148       }
5149 
5150 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5151       //=== VK_NV_acquire_winrt_display ===
5152 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5153       VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5154       {
5155         return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5156       }
5157 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5158       VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5159       {
5160         return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5161       }
5162 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5163 
5164 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5165       //=== VK_EXT_directfb_surface ===
5166 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5167       VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5168                                            const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5169                                            const VkAllocationCallbacks *          pAllocator,
5170                                            VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5171       {
5172         return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5173       }
5174 
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5175       VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice,
5176                                                                   uint32_t         queueFamilyIndex,
5177                                                                   IDirectFB *      dfb ) const VULKAN_HPP_NOEXCEPT
5178       {
5179         return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5180       }
5181 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5182 
5183       //=== VK_EXT_vertex_input_dynamic_state ===
5184 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5185       void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5186                                    uint32_t                                      vertexBindingDescriptionCount,
5187                                    const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5188                                    uint32_t                                      vertexAttributeDescriptionCount,
5189                                    const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5190       {
5191         return ::vkCmdSetVertexInputEXT(
5192           commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5193       }
5194 
5195 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5196       //=== VK_FUCHSIA_external_memory ===
5197 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5198       VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5199                                                const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5200                                                zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5201       {
5202         return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5203       }
5204 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5205       VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5206                                                          VkExternalMemoryHandleTypeFlagBits      handleType,
5207                                                          zx_handle_t                             zirconHandle,
5208                                                          VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5209       {
5210         return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5211       }
5212 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5213 
5214 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5215       //=== VK_FUCHSIA_external_semaphore ===
5216 
5217       VkResult
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5218         vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5219                                               const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5220       {
5221         return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5222       }
5223 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5224       VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5225                                                   const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5226                                                   zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5227       {
5228         return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5229       }
5230 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5231 
5232 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5233       //=== VK_FUCHSIA_buffer_collection ===
5234 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5235       VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5236                                                 const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5237                                                 const VkAllocationCallbacks *               pAllocator,
5238                                                 VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5239       {
5240         return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5241       }
5242 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5243       VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5244                                                              VkBufferCollectionFUCHSIA             collection,
5245                                                              const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5246       {
5247         return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5248       }
5249 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5250       VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5251                                                               VkBufferCollectionFUCHSIA              collection,
5252                                                               const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5253       {
5254         return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5255       }
5256 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5257       void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5258                                              VkBufferCollectionFUCHSIA     collection,
5259                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5260       {
5261         return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5262       }
5263 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5264       VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5265                                                        VkBufferCollectionFUCHSIA             collection,
5266                                                        VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5267       {
5268         return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5269       }
5270 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5271 
5272       //=== VK_HUAWEI_subpass_shading ===
5273 
5274       VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5275         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5276       {
5277         return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5278       }
5279 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5280       void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5281       {
5282         return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5283       }
5284 
5285       //=== VK_HUAWEI_invocation_mask ===
5286 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5287       void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5288       {
5289         return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5290       }
5291 
5292       //=== VK_NV_external_memory_rdma ===
5293 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5294       VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5295                                            const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5296                                            VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5297       {
5298         return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5299       }
5300 
5301       //=== VK_EXT_pipeline_properties ===
5302 
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5303       VkResult vkGetPipelinePropertiesEXT( VkDevice                  device,
5304                                            const VkPipelineInfoEXT * pPipelineInfo,
5305                                            VkBaseOutStructure *      pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5306       {
5307         return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5308       }
5309 
5310       //=== VK_EXT_extended_dynamic_state2 ===
5311 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5312       void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5313       {
5314         return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5315       }
5316 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5317       void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5318       {
5319         return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5320       }
5321 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5322       void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5323       {
5324         return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5325       }
5326 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5327       void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5328       {
5329         return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5330       }
5331 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5332       void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5333       {
5334         return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5335       }
5336 
5337 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5338       //=== VK_QNX_screen_surface ===
5339 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5340       VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5341                                          const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5342                                          const VkAllocationCallbacks *        pAllocator,
5343                                          VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5344       {
5345         return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5346       }
5347 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5348       VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5349                                                                 uint32_t                queueFamilyIndex,
5350                                                                 struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5351       {
5352         return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5353       }
5354 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5355 
5356       //=== VK_EXT_color_write_enable ===
5357 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5358       void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5359       {
5360         return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5361       }
5362 
5363       //=== VK_KHR_ray_tracing_maintenance1 ===
5364 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5365       void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5366       {
5367         return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5368       }
5369 
5370       //=== VK_EXT_multi_draw ===
5371 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5372       void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5373                               uint32_t                   drawCount,
5374                               const VkMultiDrawInfoEXT * pVertexInfo,
5375                               uint32_t                   instanceCount,
5376                               uint32_t                   firstInstance,
5377                               uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5378       {
5379         return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5380       }
5381 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5382       void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5383                                      uint32_t                          drawCount,
5384                                      const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5385                                      uint32_t                          instanceCount,
5386                                      uint32_t                          firstInstance,
5387                                      uint32_t                          stride,
5388                                      const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5389       {
5390         return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5391       }
5392 
5393       //=== VK_EXT_opacity_micromap ===
5394 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5395       VkResult vkCreateMicromapEXT( VkDevice                        device,
5396                                     const VkMicromapCreateInfoEXT * pCreateInfo,
5397                                     const VkAllocationCallbacks *   pAllocator,
5398                                     VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5399       {
5400         return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5401       }
5402 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5403       void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5404       {
5405         return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5406       }
5407 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5408       void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5409       {
5410         return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5411       }
5412 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5413       VkResult vkBuildMicromapsEXT( VkDevice                       device,
5414                                     VkDeferredOperationKHR         deferredOperation,
5415                                     uint32_t                       infoCount,
5416                                     const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5417       {
5418         return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5419       }
5420 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5421       VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5422       {
5423         return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5424       }
5425 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5426       VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5427                                           VkDeferredOperationKHR                deferredOperation,
5428                                           const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5429       {
5430         return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5431       }
5432 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5433       VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5434                                           VkDeferredOperationKHR                deferredOperation,
5435                                           const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5436       {
5437         return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5438       }
5439 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5440       VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5441                                               uint32_t              micromapCount,
5442                                               const VkMicromapEXT * pMicromaps,
5443                                               VkQueryType           queryType,
5444                                               size_t                dataSize,
5445                                               void *                pData,
5446                                               size_t                stride ) const VULKAN_HPP_NOEXCEPT
5447       {
5448         return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5449       }
5450 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5451       void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5452       {
5453         return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5454       }
5455 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5456       void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5457       {
5458         return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5459       }
5460 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5461       void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5462       {
5463         return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5464       }
5465 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5466       void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5467                                              uint32_t              micromapCount,
5468                                              const VkMicromapEXT * pMicromaps,
5469                                              VkQueryType           queryType,
5470                                              VkQueryPool           queryPool,
5471                                              uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5472       {
5473         return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5474       }
5475 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5476       void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5477                                                 const VkMicromapVersionInfoEXT *          pVersionInfo,
5478                                                 VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5479       {
5480         return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5481       }
5482 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5483       void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5484                                        VkAccelerationStructureBuildTypeKHR buildType,
5485                                        const VkMicromapBuildInfoEXT *      pBuildInfo,
5486                                        VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5487       {
5488         return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5489       }
5490 
5491       //=== VK_HUAWEI_cluster_culling_shader ===
5492 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5493       void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5494       {
5495         return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5496       }
5497 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5498       void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5499       {
5500         return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5501       }
5502 
5503       //=== VK_EXT_pageable_device_local_memory ===
5504 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5505       void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5506       {
5507         return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5508       }
5509 
5510       //=== VK_KHR_maintenance4 ===
5511 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5512       void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5513                                                    const VkDeviceBufferMemoryRequirements * pInfo,
5514                                                    VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5515       {
5516         return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5517       }
5518 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5519       void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5520                                                   const VkDeviceImageMemoryRequirements * pInfo,
5521                                                   VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5522       {
5523         return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5524       }
5525 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5526       void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5527                                                         const VkDeviceImageMemoryRequirements * pInfo,
5528                                                         uint32_t *                              pSparseMemoryRequirementCount,
5529                                                         VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5530       {
5531         return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5532       }
5533 
5534       //=== VK_VALVE_descriptor_set_host_mapping ===
5535 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5536       void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5537                                                          const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5538                                                          VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5539       {
5540         return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5541       }
5542 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5543       void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5544       {
5545         return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5546       }
5547 
5548       //=== VK_NV_copy_memory_indirect ===
5549 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5550       void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5551                                       VkDeviceAddress copyBufferAddress,
5552                                       uint32_t        copyCount,
5553                                       uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5554       {
5555         return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5556       }
5557 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5558       void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5559                                              VkDeviceAddress                  copyBufferAddress,
5560                                              uint32_t                         copyCount,
5561                                              uint32_t                         stride,
5562                                              VkImage                          dstImage,
5563                                              VkImageLayout                    dstImageLayout,
5564                                              const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5565       {
5566         return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5567       }
5568 
5569       //=== VK_NV_memory_decompression ===
5570 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5571       void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5572                                     uint32_t                           decompressRegionCount,
5573                                     const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5574       {
5575         return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5576       }
5577 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5578       void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5579                                                  VkDeviceAddress indirectCommandsAddress,
5580                                                  VkDeviceAddress indirectCommandsCountAddress,
5581                                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5582       {
5583         return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5584       }
5585 
5586       //=== VK_NV_device_generated_commands_compute ===
5587 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5588       void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5589                                                       const VkComputePipelineCreateInfo * pCreateInfo,
5590                                                       VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5591       {
5592         return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5593       }
5594 
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5595       void vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer     commandBuffer,
5596                                                 VkPipelineBindPoint pipelineBindPoint,
5597                                                 VkPipeline          pipeline ) const VULKAN_HPP_NOEXCEPT
5598       {
5599         return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5600       }
5601 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5602       VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5603       {
5604         return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5605       }
5606 
5607       //=== VK_EXT_extended_dynamic_state3 ===
5608 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5609       void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5610       {
5611         return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5612       }
5613 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5614       void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5615       {
5616         return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5617       }
5618 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5619       void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5620       {
5621         return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5622       }
5623 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5624       void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5625       {
5626         return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5627       }
5628 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5629       void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5630       {
5631         return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5632       }
5633 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5634       void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5635       {
5636         return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5637       }
5638 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5639       void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5640       {
5641         return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5642       }
5643 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5644       void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5645                                         uint32_t         firstAttachment,
5646                                         uint32_t         attachmentCount,
5647                                         const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5648       {
5649         return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5650       }
5651 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5652       void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5653                                           uint32_t                        firstAttachment,
5654                                           uint32_t                        attachmentCount,
5655                                           const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5656       {
5657         return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5658       }
5659 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5660       void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5661                                       uint32_t                      firstAttachment,
5662                                       uint32_t                      attachmentCount,
5663                                       const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5664       {
5665         return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5666       }
5667 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5668       void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5669       {
5670         return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5671       }
5672 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5673       void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5674       {
5675         return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5676       }
5677 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5678       void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5679                                                      VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5680       {
5681         return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5682       }
5683 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5684       void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5685       {
5686         return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5687       }
5688 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5689       void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5690       {
5691         return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5692       }
5693 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5694       void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5695       {
5696         return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5697       }
5698 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5699       void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5700                                           uint32_t                        firstAttachment,
5701                                           uint32_t                        attachmentCount,
5702                                           const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5703       {
5704         return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5705       }
5706 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5707       void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5708       {
5709         return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5710       }
5711 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5712       void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5713       {
5714         return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5715       }
5716 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5717       void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5718       {
5719         return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5720       }
5721 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5722       void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5723       {
5724         return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5725       }
5726 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5727       void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5728       {
5729         return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5730       }
5731 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5732       void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5733                                       uint32_t                    firstViewport,
5734                                       uint32_t                    viewportCount,
5735                                       const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5736       {
5737         return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5738       }
5739 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5740       void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5741       {
5742         return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5743       }
5744 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5745       void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5746       {
5747         return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5748       }
5749 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5750       void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5751       {
5752         return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5753       }
5754 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5755       void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5756       {
5757         return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5758       }
5759 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5760       void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5761                                               uint32_t        coverageModulationTableCount,
5762                                               const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5763       {
5764         return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5765       }
5766 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5767       void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5768       {
5769         return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5770       }
5771 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5772       void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5773       {
5774         return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5775       }
5776 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5777       void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5778       {
5779         return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5780       }
5781 
5782       //=== VK_EXT_shader_module_identifier ===
5783 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5784       void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5785       {
5786         return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5787       }
5788 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5789       void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5790                                                      const VkShaderModuleCreateInfo * pCreateInfo,
5791                                                      VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5792       {
5793         return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5794       }
5795 
5796       //=== VK_NV_optical_flow ===
5797 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5798       VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5799                                                              const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5800                                                              uint32_t *                             pFormatCount,
5801                                                              VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5802       {
5803         return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5804       }
5805 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5806       VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5807                                              const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5808                                              const VkAllocationCallbacks *            pAllocator,
5809                                              VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5810       {
5811         return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5812       }
5813 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5814       void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5815       {
5816         return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5817       }
5818 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5819       VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5820                                                 VkOpticalFlowSessionNV             session,
5821                                                 VkOpticalFlowSessionBindingPointNV bindingPoint,
5822                                                 VkImageView                        view,
5823                                                 VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5824       {
5825         return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5826       }
5827 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5828       void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5829                                       VkOpticalFlowSessionNV             session,
5830                                       const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5831       {
5832         return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5833       }
5834 
5835       //=== VK_KHR_maintenance5 ===
5836 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5837       void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5838         VULKAN_HPP_NOEXCEPT
5839       {
5840         return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5841       }
5842 
5843       void
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfo * pRenderingAreaInfo,VkExtent2D * pGranularity) const5844         vkGetRenderingAreaGranularityKHR( VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
5845       {
5846         return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5847       }
5848 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfo * pInfo,VkSubresourceLayout2 * pLayout) const5849       void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                             device,
5850                                                  const VkDeviceImageSubresourceInfo * pInfo,
5851                                                  VkSubresourceLayout2 *               pLayout ) const VULKAN_HPP_NOEXCEPT
5852       {
5853         return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5854       }
5855 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const5856       void vkGetImageSubresourceLayout2KHR( VkDevice                    device,
5857                                             VkImage                     image,
5858                                             const VkImageSubresource2 * pSubresource,
5859                                             VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
5860       {
5861         return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5862       }
5863 
5864       //=== VK_AMD_anti_lag ===
5865 
vkAntiLagUpdateAMD(VkDevice device,const VkAntiLagDataAMD * pData) const5866       void vkAntiLagUpdateAMD( VkDevice device, const VkAntiLagDataAMD * pData ) const VULKAN_HPP_NOEXCEPT
5867       {
5868         return ::vkAntiLagUpdateAMD( device, pData );
5869       }
5870 
5871       //=== VK_EXT_shader_object ===
5872 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5873       VkResult vkCreateShadersEXT( VkDevice                      device,
5874                                    uint32_t                      createInfoCount,
5875                                    const VkShaderCreateInfoEXT * pCreateInfos,
5876                                    const VkAllocationCallbacks * pAllocator,
5877                                    VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5878       {
5879         return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5880       }
5881 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5882       void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5883       {
5884         return ::vkDestroyShaderEXT( device, shader, pAllocator );
5885       }
5886 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5887       VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5888       {
5889         return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5890       }
5891 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5892       void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5893                                 uint32_t                      stageCount,
5894                                 const VkShaderStageFlagBits * pStages,
5895                                 const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5896       {
5897         return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5898       }
5899 
vkCmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer,VkDepthClampModeEXT depthClampMode,const VkDepthClampRangeEXT * pDepthClampRange) const5900       void vkCmdSetDepthClampRangeEXT( VkCommandBuffer              commandBuffer,
5901                                        VkDepthClampModeEXT          depthClampMode,
5902                                        const VkDepthClampRangeEXT * pDepthClampRange ) const VULKAN_HPP_NOEXCEPT
5903       {
5904         return ::vkCmdSetDepthClampRangeEXT( commandBuffer, depthClampMode, pDepthClampRange );
5905       }
5906 
5907       //=== VK_KHR_pipeline_binary ===
5908 
vkCreatePipelineBinariesKHR(VkDevice device,const VkPipelineBinaryCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineBinaryHandlesInfoKHR * pBinaries) const5909       VkResult vkCreatePipelineBinariesKHR( VkDevice                              device,
5910                                             const VkPipelineBinaryCreateInfoKHR * pCreateInfo,
5911                                             const VkAllocationCallbacks *         pAllocator,
5912                                             VkPipelineBinaryHandlesInfoKHR *      pBinaries ) const VULKAN_HPP_NOEXCEPT
5913       {
5914         return ::vkCreatePipelineBinariesKHR( device, pCreateInfo, pAllocator, pBinaries );
5915       }
5916 
vkDestroyPipelineBinaryKHR(VkDevice device,VkPipelineBinaryKHR pipelineBinary,const VkAllocationCallbacks * pAllocator) const5917       void vkDestroyPipelineBinaryKHR( VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5918       {
5919         return ::vkDestroyPipelineBinaryKHR( device, pipelineBinary, pAllocator );
5920       }
5921 
vkGetPipelineKeyKHR(VkDevice device,const VkPipelineCreateInfoKHR * pPipelineCreateInfo,VkPipelineBinaryKeyKHR * pPipelineKey) const5922       VkResult vkGetPipelineKeyKHR( VkDevice                        device,
5923                                     const VkPipelineCreateInfoKHR * pPipelineCreateInfo,
5924                                     VkPipelineBinaryKeyKHR *        pPipelineKey ) const VULKAN_HPP_NOEXCEPT
5925       {
5926         return ::vkGetPipelineKeyKHR( device, pPipelineCreateInfo, pPipelineKey );
5927       }
5928 
vkGetPipelineBinaryDataKHR(VkDevice device,const VkPipelineBinaryDataInfoKHR * pInfo,VkPipelineBinaryKeyKHR * pPipelineBinaryKey,size_t * pPipelineBinaryDataSize,void * pPipelineBinaryData) const5929       VkResult vkGetPipelineBinaryDataKHR( VkDevice                            device,
5930                                            const VkPipelineBinaryDataInfoKHR * pInfo,
5931                                            VkPipelineBinaryKeyKHR *            pPipelineBinaryKey,
5932                                            size_t *                            pPipelineBinaryDataSize,
5933                                            void *                              pPipelineBinaryData ) const VULKAN_HPP_NOEXCEPT
5934       {
5935         return ::vkGetPipelineBinaryDataKHR( device, pInfo, pPipelineBinaryKey, pPipelineBinaryDataSize, pPipelineBinaryData );
5936       }
5937 
vkReleaseCapturedPipelineDataKHR(VkDevice device,const VkReleaseCapturedPipelineDataInfoKHR * pInfo,const VkAllocationCallbacks * pAllocator) const5938       VkResult vkReleaseCapturedPipelineDataKHR( VkDevice                                     device,
5939                                                  const VkReleaseCapturedPipelineDataInfoKHR * pInfo,
5940                                                  const VkAllocationCallbacks *                pAllocator ) const VULKAN_HPP_NOEXCEPT
5941       {
5942         return ::vkReleaseCapturedPipelineDataKHR( device, pInfo, pAllocator );
5943       }
5944 
5945       //=== VK_QCOM_tile_properties ===
5946 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5947       VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5948                                                    VkFramebuffer          framebuffer,
5949                                                    uint32_t *             pPropertiesCount,
5950                                                    VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5951       {
5952         return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5953       }
5954 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5955       VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5956                                                         const VkRenderingInfo * pRenderingInfo,
5957                                                         VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5958       {
5959         return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5960       }
5961 
5962       //=== VK_NV_low_latency2 ===
5963 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5964       VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5965       {
5966         return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
5967       }
5968 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const5969       VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
5970       {
5971         return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
5972       }
5973 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5974       void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5975       {
5976         return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
5977       }
5978 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5979       void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5980       {
5981         return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
5982       }
5983 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const5984       void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
5985       {
5986         return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
5987       }
5988 
5989       //=== VK_KHR_cooperative_matrix ===
5990 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const5991       VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
5992                                                                   uint32_t *                         pPropertyCount,
5993                                                                   VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
5994       {
5995         return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
5996       }
5997 
5998       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
5999 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const6000       void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
6001       {
6002         return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
6003       }
6004 
6005 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
6006       //=== VK_QNX_external_memory_screen_buffer ===
6007 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const6008       VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
6009                                                const struct _screen_buffer * buffer,
6010                                                VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
6011       {
6012         return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
6013       }
6014 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
6015 
6016       //=== VK_KHR_line_rasterization ===
6017 
vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const6018       void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
6019       {
6020         return ::vkCmdSetLineStippleKHR( commandBuffer, lineStippleFactor, lineStipplePattern );
6021       }
6022 
6023       //=== VK_KHR_calibrated_timestamps ===
6024 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const6025       VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
6026                                                                uint32_t *        pTimeDomainCount,
6027                                                                VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
6028       {
6029         return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
6030       }
6031 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const6032       VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
6033                                              uint32_t                             timestampCount,
6034                                              const VkCalibratedTimestampInfoKHR * pTimestampInfos,
6035                                              uint64_t *                           pTimestamps,
6036                                              uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
6037       {
6038         return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
6039       }
6040 
6041       //=== VK_KHR_maintenance6 ===
6042 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) const6043       void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
6044       {
6045         return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
6046       }
6047 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfo * pPushConstantsInfo) const6048       void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
6049       {
6050         return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
6051       }
6052 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) const6053       void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
6054       {
6055         return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
6056       }
6057 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) const6058       void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                             commandBuffer,
6059                                                    const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
6060       {
6061         return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
6062       }
6063 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const6064       void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
6065                                                 const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
6066       {
6067         return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
6068       }
6069 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const6070       void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
6071         VkCommandBuffer                                       commandBuffer,
6072         const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
6073       {
6074         return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
6075       }
6076 
6077       //=== VK_EXT_device_generated_commands ===
6078 
vkGetGeneratedCommandsMemoryRequirementsEXT(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoEXT * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const6079       void vkGetGeneratedCommandsMemoryRequirementsEXT( VkDevice                                             device,
6080                                                         const VkGeneratedCommandsMemoryRequirementsInfoEXT * pInfo,
6081                                                         VkMemoryRequirements2 *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
6082       {
6083         return ::vkGetGeneratedCommandsMemoryRequirementsEXT( device, pInfo, pMemoryRequirements );
6084       }
6085 
vkCmdPreprocessGeneratedCommandsEXT(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo,VkCommandBuffer stateCommandBuffer) const6086       void vkCmdPreprocessGeneratedCommandsEXT( VkCommandBuffer                    commandBuffer,
6087                                                 const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo,
6088                                                 VkCommandBuffer                    stateCommandBuffer ) const VULKAN_HPP_NOEXCEPT
6089       {
6090         return ::vkCmdPreprocessGeneratedCommandsEXT( commandBuffer, pGeneratedCommandsInfo, stateCommandBuffer );
6091       }
6092 
vkCmdExecuteGeneratedCommandsEXT(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo) const6093       void vkCmdExecuteGeneratedCommandsEXT( VkCommandBuffer                    commandBuffer,
6094                                              VkBool32                           isPreprocessed,
6095                                              const VkGeneratedCommandsInfoEXT * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
6096       {
6097         return ::vkCmdExecuteGeneratedCommandsEXT( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
6098       }
6099 
vkCreateIndirectCommandsLayoutEXT(VkDevice device,const VkIndirectCommandsLayoutCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutEXT * pIndirectCommandsLayout) const6100       VkResult vkCreateIndirectCommandsLayoutEXT( VkDevice                                      device,
6101                                                   const VkIndirectCommandsLayoutCreateInfoEXT * pCreateInfo,
6102                                                   const VkAllocationCallbacks *                 pAllocator,
6103                                                   VkIndirectCommandsLayoutEXT *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
6104       {
6105         return ::vkCreateIndirectCommandsLayoutEXT( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
6106       }
6107 
vkDestroyIndirectCommandsLayoutEXT(VkDevice device,VkIndirectCommandsLayoutEXT indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const6108       void vkDestroyIndirectCommandsLayoutEXT( VkDevice                      device,
6109                                                VkIndirectCommandsLayoutEXT   indirectCommandsLayout,
6110                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
6111       {
6112         return ::vkDestroyIndirectCommandsLayoutEXT( device, indirectCommandsLayout, pAllocator );
6113       }
6114 
vkCreateIndirectExecutionSetEXT(VkDevice device,const VkIndirectExecutionSetCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectExecutionSetEXT * pIndirectExecutionSet) const6115       VkResult vkCreateIndirectExecutionSetEXT( VkDevice                                    device,
6116                                                 const VkIndirectExecutionSetCreateInfoEXT * pCreateInfo,
6117                                                 const VkAllocationCallbacks *               pAllocator,
6118                                                 VkIndirectExecutionSetEXT *                 pIndirectExecutionSet ) const VULKAN_HPP_NOEXCEPT
6119       {
6120         return ::vkCreateIndirectExecutionSetEXT( device, pCreateInfo, pAllocator, pIndirectExecutionSet );
6121       }
6122 
vkDestroyIndirectExecutionSetEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,const VkAllocationCallbacks * pAllocator) const6123       void vkDestroyIndirectExecutionSetEXT( VkDevice                      device,
6124                                              VkIndirectExecutionSetEXT     indirectExecutionSet,
6125                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
6126       {
6127         return ::vkDestroyIndirectExecutionSetEXT( device, indirectExecutionSet, pAllocator );
6128       }
6129 
vkUpdateIndirectExecutionSetPipelineEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VkWriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites) const6130       void vkUpdateIndirectExecutionSetPipelineEXT( VkDevice                                       device,
6131                                                     VkIndirectExecutionSetEXT                      indirectExecutionSet,
6132                                                     uint32_t                                       executionSetWriteCount,
6133                                                     const VkWriteIndirectExecutionSetPipelineEXT * pExecutionSetWrites ) const VULKAN_HPP_NOEXCEPT
6134       {
6135         return ::vkUpdateIndirectExecutionSetPipelineEXT( device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites );
6136       }
6137 
vkUpdateIndirectExecutionSetShaderEXT(VkDevice device,VkIndirectExecutionSetEXT indirectExecutionSet,uint32_t executionSetWriteCount,const VkWriteIndirectExecutionSetShaderEXT * pExecutionSetWrites) const6138       void vkUpdateIndirectExecutionSetShaderEXT( VkDevice                                     device,
6139                                                   VkIndirectExecutionSetEXT                    indirectExecutionSet,
6140                                                   uint32_t                                     executionSetWriteCount,
6141                                                   const VkWriteIndirectExecutionSetShaderEXT * pExecutionSetWrites ) const VULKAN_HPP_NOEXCEPT
6142       {
6143         return ::vkUpdateIndirectExecutionSetShaderEXT( device, indirectExecutionSet, executionSetWriteCount, pExecutionSetWrites );
6144       }
6145 
6146       //=== VK_NV_cooperative_matrix2 ===
6147 
vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties) const6148       VkResult vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
6149         VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkCooperativeMatrixFlexibleDimensionsPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
6150       {
6151         return ::vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV( physicalDevice, pPropertyCount, pProperties );
6152       }
6153     };
6154 
getDispatchLoaderStatic()6155     inline DispatchLoaderStatic & getDispatchLoaderStatic()
6156     {
6157       static DispatchLoaderStatic dls;
6158       return dls;
6159     }
6160 #endif
6161 
6162   }  // namespace detail
6163 #if ( 14 <= VULKAN_HPP_CPP_VERSION )
6164   using std::exchange;
6165 #else
6166   template <class T, class U = T>
exchange(T & obj,U && newValue)6167   VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_INLINE T exchange( T & obj, U && newValue )
6168   {
6169     T oldValue = std::move( obj );
6170     obj        = std::forward<U>( newValue );
6171     return oldValue;
6172   }
6173 #endif
6174 
6175 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6176   struct AllocationCallbacks;
6177 
6178   namespace detail
6179   {
6180     template <typename OwnerType, typename Dispatch>
6181     class ObjectDestroy
6182     {
6183     public:
6184       ObjectDestroy() = default;
6185 
ObjectDestroy(OwnerType owner,Optional<const vk::AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6186       ObjectDestroy( OwnerType                                                   owner,
6187                      Optional<const vk::AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6188                      Dispatch const & dispatch                                   VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6189         : m_owner( owner )
6190         , m_allocationCallbacks( allocationCallbacks )
6191         , m_dispatch( &dispatch )
6192       {
6193       }
6194 
getOwner() const6195       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6196       {
6197         return m_owner;
6198       }
6199 
getAllocator() const6200       Optional<const vk::AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6201       {
6202         return m_allocationCallbacks;
6203       }
6204 
getDispatch() const6205       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6206       {
6207         return *m_dispatch;
6208       }
6209 
6210     protected:
6211       template <typename T>
destroy(T t)6212       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6213       {
6214         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6215         m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
6216       }
6217 
6218     private:
6219       OwnerType                               m_owner               = {};
6220       Optional<const vk::AllocationCallbacks> m_allocationCallbacks = nullptr;
6221       Dispatch const *                        m_dispatch            = nullptr;
6222     };
6223 
6224     class NoParent;
6225 
6226     template <typename Dispatch>
6227     class ObjectDestroy<NoParent, Dispatch>
6228     {
6229     public:
6230       ObjectDestroy() = default;
6231 
ObjectDestroy(Optional<const vk::AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6232       ObjectDestroy( Optional<const vk::AllocationCallbacks> allocationCallbacks,
6233                      Dispatch const & dispatch               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6234         : m_allocationCallbacks( allocationCallbacks )
6235         , m_dispatch( &dispatch )
6236       {
6237       }
6238 
getAllocator() const6239       Optional<const vk::AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6240       {
6241         return m_allocationCallbacks;
6242       }
6243 
getDispatch() const6244       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6245       {
6246         return *m_dispatch;
6247       }
6248 
6249     protected:
6250       template <typename T>
destroy(T t)6251       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6252       {
6253         VULKAN_HPP_ASSERT( m_dispatch );
6254         t.destroy( m_allocationCallbacks, *m_dispatch );
6255       }
6256 
6257     private:
6258       Optional<const vk::AllocationCallbacks> m_allocationCallbacks = nullptr;
6259       Dispatch const *                        m_dispatch            = nullptr;
6260     };
6261 
6262     template <typename OwnerType, typename Dispatch>
6263     class ObjectFree
6264     {
6265     public:
6266       ObjectFree() = default;
6267 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6268       ObjectFree( OwnerType                                               owner,
6269                   Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6270                   Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6271         : m_owner( owner )
6272         , m_allocationCallbacks( allocationCallbacks )
6273         , m_dispatch( &dispatch )
6274       {
6275       }
6276 
getOwner() const6277       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6278       {
6279         return m_owner;
6280       }
6281 
getAllocator() const6282       Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6283       {
6284         return m_allocationCallbacks;
6285       }
6286 
getDispatch() const6287       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6288       {
6289         return *m_dispatch;
6290       }
6291 
6292     protected:
6293       template <typename T>
destroy(T t)6294       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6295       {
6296         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6297         ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6298       }
6299 
6300     private:
6301       OwnerType                           m_owner               = {};
6302       Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6303       Dispatch const *                    m_dispatch            = nullptr;
6304     };
6305 
6306     template <typename OwnerType, typename Dispatch>
6307     class ObjectRelease
6308     {
6309     public:
6310       ObjectRelease() = default;
6311 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6312       ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6313         : m_owner( owner )
6314         , m_dispatch( &dispatch )
6315       {
6316       }
6317 
getOwner() const6318       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6319       {
6320         return m_owner;
6321       }
6322 
getDispatch() const6323       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6324       {
6325         return *m_dispatch;
6326       }
6327 
6328     protected:
6329       template <typename T>
destroy(T t)6330       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6331       {
6332         VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6333         m_owner.release( t, *m_dispatch );
6334       }
6335 
6336     private:
6337       OwnerType        m_owner    = {};
6338       Dispatch const * m_dispatch = nullptr;
6339     };
6340 
6341     template <typename OwnerType, typename PoolType, typename Dispatch>
6342     class PoolFree
6343     {
6344     public:
6345       PoolFree() = default;
6346 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6347       PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6348         : m_owner( owner )
6349         , m_pool( pool )
6350         , m_dispatch( &dispatch )
6351       {
6352       }
6353 
getOwner() const6354       OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6355       {
6356         return m_owner;
6357       }
6358 
getPool() const6359       PoolType getPool() const VULKAN_HPP_NOEXCEPT
6360       {
6361         return m_pool;
6362       }
6363 
getDispatch() const6364       Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6365       {
6366         return *m_dispatch;
6367       }
6368 
6369     protected:
6370       template <typename T>
destroy(T t)6371       void destroy( T t ) VULKAN_HPP_NOEXCEPT
6372       {
6373         ( m_owner.free )( m_pool, t, *m_dispatch );
6374       }
6375 
6376     private:
6377       OwnerType        m_owner    = OwnerType();
6378       PoolType         m_pool     = PoolType();
6379       Dispatch const * m_dispatch = nullptr;
6380     };
6381 
6382   }     // namespace detail
6383 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6384 
6385   //==================
6386   //=== BASE TYPEs ===
6387   //==================
6388 
6389   using Bool32          = uint32_t;
6390   using DeviceAddress   = uint64_t;
6391   using DeviceSize      = uint64_t;
6392   using RemoteAddressNV = void *;
6393   using SampleMask      = uint32_t;
6394 
6395   template <typename Type, Type value = Type{}>
6396   struct CppType
6397   {
6398   };
6399 }  // namespace VULKAN_HPP_NAMESPACE
6400 
6401 #include <vulkan/vulkan_enums.hpp>
6402 #if !defined( VULKAN_HPP_NO_TO_STRING )
6403 #  include <vulkan/vulkan_to_string.hpp>
6404 #endif
6405 
6406 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6407 namespace std
6408 {
6409   template <>
6410   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6411   {
6412   };
6413 }  // namespace std
6414 #endif
6415 
6416 namespace VULKAN_HPP_NAMESPACE
6417 {
6418 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6419   class ErrorCategoryImpl : public std::error_category
6420   {
6421   public:
name() const6422     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6423     {
6424       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6425     }
6426 
message(int ev) const6427     virtual std::string message( int ev ) const override
6428     {
6429 #  if defined( VULKAN_HPP_NO_TO_STRING )
6430       return std::to_string( ev );
6431 #  else
6432       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6433 #  endif
6434     }
6435   };
6436 
6437   class Error
6438   {
6439   public:
6440     Error() VULKAN_HPP_NOEXCEPT                = default;
6441     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6442     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6443 
6444     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6445   };
6446 
6447   class LogicError
6448     : public Error
6449     , public std::logic_error
6450   {
6451   public:
LogicError(const std::string & what)6452     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6453 
LogicError(char const * what)6454     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6455 
what() const6456     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6457     {
6458       return std::logic_error::what();
6459     }
6460   };
6461 
6462   class SystemError
6463     : public Error
6464     , public std::system_error
6465   {
6466   public:
SystemError(std::error_code ec)6467     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6468 
SystemError(std::error_code ec,std::string const & what)6469     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6470 
SystemError(std::error_code ec,char const * what)6471     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6472 
SystemError(int ev,std::error_category const & ecat)6473     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6474 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6475     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6476 
SystemError(int ev,std::error_category const & ecat,char const * what)6477     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6478 
what() const6479     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6480     {
6481       return std::system_error::what();
6482     }
6483   };
6484 
errorCategory()6485   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6486   {
6487     static ErrorCategoryImpl instance;
6488     return instance;
6489   }
6490 
make_error_code(Result e)6491   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6492   {
6493     return std::error_code( static_cast<int>( e ), errorCategory() );
6494   }
6495 
make_error_condition(Result e)6496   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6497   {
6498     return std::error_condition( static_cast<int>( e ), errorCategory() );
6499   }
6500 
6501   class OutOfHostMemoryError : public SystemError
6502   {
6503   public:
OutOfHostMemoryError(std::string const & message)6504     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6505 
OutOfHostMemoryError(char const * message)6506     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6507   };
6508 
6509   class OutOfDeviceMemoryError : public SystemError
6510   {
6511   public:
OutOfDeviceMemoryError(std::string const & message)6512     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6513 
OutOfDeviceMemoryError(char const * message)6514     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6515   };
6516 
6517   class InitializationFailedError : public SystemError
6518   {
6519   public:
InitializationFailedError(std::string const & message)6520     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6521 
InitializationFailedError(char const * message)6522     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6523   };
6524 
6525   class DeviceLostError : public SystemError
6526   {
6527   public:
DeviceLostError(std::string const & message)6528     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6529 
DeviceLostError(char const * message)6530     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6531   };
6532 
6533   class MemoryMapFailedError : public SystemError
6534   {
6535   public:
MemoryMapFailedError(std::string const & message)6536     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6537 
MemoryMapFailedError(char const * message)6538     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6539   };
6540 
6541   class LayerNotPresentError : public SystemError
6542   {
6543   public:
LayerNotPresentError(std::string const & message)6544     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6545 
LayerNotPresentError(char const * message)6546     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6547   };
6548 
6549   class ExtensionNotPresentError : public SystemError
6550   {
6551   public:
ExtensionNotPresentError(std::string const & message)6552     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6553 
ExtensionNotPresentError(char const * message)6554     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6555   };
6556 
6557   class FeatureNotPresentError : public SystemError
6558   {
6559   public:
FeatureNotPresentError(std::string const & message)6560     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6561 
FeatureNotPresentError(char const * message)6562     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6563   };
6564 
6565   class IncompatibleDriverError : public SystemError
6566   {
6567   public:
IncompatibleDriverError(std::string const & message)6568     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6569 
IncompatibleDriverError(char const * message)6570     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6571   };
6572 
6573   class TooManyObjectsError : public SystemError
6574   {
6575   public:
TooManyObjectsError(std::string const & message)6576     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6577 
TooManyObjectsError(char const * message)6578     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6579   };
6580 
6581   class FormatNotSupportedError : public SystemError
6582   {
6583   public:
FormatNotSupportedError(std::string const & message)6584     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6585 
FormatNotSupportedError(char const * message)6586     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6587   };
6588 
6589   class FragmentedPoolError : public SystemError
6590   {
6591   public:
FragmentedPoolError(std::string const & message)6592     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6593 
FragmentedPoolError(char const * message)6594     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6595   };
6596 
6597   class UnknownError : public SystemError
6598   {
6599   public:
UnknownError(std::string const & message)6600     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6601 
UnknownError(char const * message)6602     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6603   };
6604 
6605   class OutOfPoolMemoryError : public SystemError
6606   {
6607   public:
OutOfPoolMemoryError(std::string const & message)6608     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6609 
OutOfPoolMemoryError(char const * message)6610     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6611   };
6612 
6613   class InvalidExternalHandleError : public SystemError
6614   {
6615   public:
InvalidExternalHandleError(std::string const & message)6616     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6617 
InvalidExternalHandleError(char const * message)6618     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6619   };
6620 
6621   class FragmentationError : public SystemError
6622   {
6623   public:
FragmentationError(std::string const & message)6624     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6625 
FragmentationError(char const * message)6626     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6627   };
6628 
6629   class InvalidOpaqueCaptureAddressError : public SystemError
6630   {
6631   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6632     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6633 
InvalidOpaqueCaptureAddressError(char const * message)6634     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6635   };
6636 
6637   class NotPermittedError : public SystemError
6638   {
6639   public:
NotPermittedError(std::string const & message)6640     NotPermittedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6641 
NotPermittedError(char const * message)6642     NotPermittedError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6643   };
6644 
6645   class SurfaceLostKHRError : public SystemError
6646   {
6647   public:
SurfaceLostKHRError(std::string const & message)6648     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6649 
SurfaceLostKHRError(char const * message)6650     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6651   };
6652 
6653   class NativeWindowInUseKHRError : public SystemError
6654   {
6655   public:
NativeWindowInUseKHRError(std::string const & message)6656     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6657 
NativeWindowInUseKHRError(char const * message)6658     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6659   };
6660 
6661   class OutOfDateKHRError : public SystemError
6662   {
6663   public:
OutOfDateKHRError(std::string const & message)6664     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6665 
OutOfDateKHRError(char const * message)6666     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6667   };
6668 
6669   class IncompatibleDisplayKHRError : public SystemError
6670   {
6671   public:
IncompatibleDisplayKHRError(std::string const & message)6672     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6673 
IncompatibleDisplayKHRError(char const * message)6674     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6675   };
6676 
6677   class ValidationFailedEXTError : public SystemError
6678   {
6679   public:
ValidationFailedEXTError(std::string const & message)6680     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6681 
ValidationFailedEXTError(char const * message)6682     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6683   };
6684 
6685   class InvalidShaderNVError : public SystemError
6686   {
6687   public:
InvalidShaderNVError(std::string const & message)6688     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6689 
InvalidShaderNVError(char const * message)6690     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6691   };
6692 
6693   class ImageUsageNotSupportedKHRError : public SystemError
6694   {
6695   public:
ImageUsageNotSupportedKHRError(std::string const & message)6696     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6697 
ImageUsageNotSupportedKHRError(char const * message)6698     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6699   };
6700 
6701   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6702   {
6703   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6704     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6705       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6706     {
6707     }
6708 
VideoPictureLayoutNotSupportedKHRError(char const * message)6709     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6710     {
6711     }
6712   };
6713 
6714   class VideoProfileOperationNotSupportedKHRError : public SystemError
6715   {
6716   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6717     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6718       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6719     {
6720     }
6721 
VideoProfileOperationNotSupportedKHRError(char const * message)6722     VideoProfileOperationNotSupportedKHRError( char const * message )
6723       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6724     {
6725     }
6726   };
6727 
6728   class VideoProfileFormatNotSupportedKHRError : public SystemError
6729   {
6730   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6731     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6732       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6733     {
6734     }
6735 
VideoProfileFormatNotSupportedKHRError(char const * message)6736     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6737     {
6738     }
6739   };
6740 
6741   class VideoProfileCodecNotSupportedKHRError : public SystemError
6742   {
6743   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6744     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6745       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6746     {
6747     }
6748 
VideoProfileCodecNotSupportedKHRError(char const * message)6749     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6750   };
6751 
6752   class VideoStdVersionNotSupportedKHRError : public SystemError
6753   {
6754   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6755     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6756     {
6757     }
6758 
VideoStdVersionNotSupportedKHRError(char const * message)6759     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6760   };
6761 
6762   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6763   {
6764   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6765     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6766       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6767     {
6768     }
6769 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6770     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6771       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6772     {
6773     }
6774   };
6775 
6776 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6777   class FullScreenExclusiveModeLostEXTError : public SystemError
6778   {
6779   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6780     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6781     {
6782     }
6783 
FullScreenExclusiveModeLostEXTError(char const * message)6784     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6785   };
6786 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6787 
6788   class InvalidVideoStdParametersKHRError : public SystemError
6789   {
6790   public:
InvalidVideoStdParametersKHRError(std::string const & message)6791     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6792 
InvalidVideoStdParametersKHRError(char const * message)6793     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6794   };
6795 
6796   class CompressionExhaustedEXTError : public SystemError
6797   {
6798   public:
CompressionExhaustedEXTError(std::string const & message)6799     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6800 
CompressionExhaustedEXTError(char const * message)6801     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6802   };
6803 
6804   class NotEnoughSpaceKHRError : public SystemError
6805   {
6806   public:
NotEnoughSpaceKHRError(std::string const & message)6807     NotEnoughSpaceKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6808 
NotEnoughSpaceKHRError(char const * message)6809     NotEnoughSpaceKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6810   };
6811 
6812   namespace detail
6813   {
throwResultException(Result result,char const * message)6814     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6815     {
6816       switch ( result )
6817       {
6818         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6819         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6820         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6821         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6822         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6823         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6824         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6825         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6826         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6827         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6828         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6829         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6830         case Result::eErrorUnknown: throw UnknownError( message );
6831         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6832         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6833         case Result::eErrorFragmentation: throw FragmentationError( message );
6834         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6835         case Result::eErrorNotPermitted: throw NotPermittedError( message );
6836         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6837         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6838         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6839         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6840         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6841         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6842         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6843         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6844         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6845         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6846         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6847         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6848         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6849 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6850         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6851 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6852         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6853         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6854         case Result::eErrorNotEnoughSpaceKHR: throw NotEnoughSpaceKHRError( message );
6855         default: throw SystemError( make_error_code( result ), message );
6856       }
6857     }
6858   }  // namespace detail
6859 #endif
6860 
6861   template <typename T>
6862   struct ResultValue
6863   {
6864 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6865     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6866 #else
6867     ResultValue( Result r, T & v )
6868 #endif
6869       : result( r ), value( v )
6870     {
6871     }
6872 
6873 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6874     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6875 #else
6876     ResultValue( Result r, T && v )
6877 #endif
6878       : result( r ), value( std::move( v ) )
6879     {
6880     }
6881 
6882     Result result;
6883     T      value;
6884 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6885     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6886     {
6887       return std::tuple<Result &, T &>( result, value );
6888     }
6889   };
6890 
6891 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6892   template <typename Type, typename Dispatch>
6893   struct ResultValue<UniqueHandle<Type, Dispatch>>
6894   {
6895 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6896     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6897 #  else
6898     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6899 #  endif
6900       : result( r )
6901       , value( std::move( v ) )
6902     {
6903     }
6904 
6905     VULKAN_HPP_DEPRECATED(
6906       "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." )
6907 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6908     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6909     {
6910       return std::make_tuple( result, std::move( value ) );
6911     }
6912 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6913     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6914     {
6915       return std::make_tuple( result, std::move( value ) );
6916     }
6917 
6918     Result                       result;
6919     UniqueHandle<Type, Dispatch> value;
6920   };
6921 
6922   template <typename Type, typename Dispatch>
6923   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6924   {
6925 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6926     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6927 #  else
6928     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6929 #  endif
6930       : result( r )
6931       , value( std::move( v ) )
6932     {
6933     }
6934 
6935     VULKAN_HPP_DEPRECATED(
6936       "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." )
6937 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6938     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
6939     {
6940       return std::make_tuple( result, std::move( value ) );
6941     }
6942 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6943     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
6944     {
6945       return std::make_tuple( result, std::move( value ) );
6946     }
6947 
6948     Result                                    result;
6949     std::vector<UniqueHandle<Type, Dispatch>> value;
6950   };
6951 #endif
6952 
6953   template <typename T>
6954   struct ResultValueType
6955   {
6956 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6957     using type = ResultValue<T>;
6958 #else
6959     using type = T;
6960 #endif
6961   };
6962 
6963   template <>
6964   struct ResultValueType<void>
6965   {
6966 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6967     using type = Result;
6968 #else
6969     using type = void;
6970 #endif
6971   };
6972 
6973   namespace detail
6974   {
6975     template <typename T>
ignore(T const &)6976     void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6977     {
6978     }
6979 
createResultValueType(VULKAN_HPP_NAMESPACE::Result result)6980     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<void>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result )
6981     {
6982 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6983       return result;
6984 #else
6985       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6986 #endif
6987     }
6988 
6989     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T & data)6990     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T & data )
6991     {
6992 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6993       return ResultValue<T>( result, data );
6994 #else
6995       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6996       return data;
6997 #endif
6998     }
6999 
7000     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T && data)7001     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T && data )
7002     {
7003 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7004       return ResultValue<T>( result, std::move( data ) );
7005 #else
7006       VULKAN_HPP_NAMESPACE::detail::ignore( result );
7007       return std::move( data );
7008 #endif
7009     }
7010   }  // namespace detail
7011 
7012   namespace detail
7013   {
resultCheck(Result result,char const * message)7014     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
7015     {
7016 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7017       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7018       VULKAN_HPP_NAMESPACE::detail::ignore( message );
7019       VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
7020 #else
7021       if ( result != Result::eSuccess )
7022       {
7023         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
7024       }
7025 #endif
7026     }
7027 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)7028     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
7029     {
7030 #ifdef VULKAN_HPP_NO_EXCEPTIONS
7031       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7032       VULKAN_HPP_NAMESPACE::detail::ignore( message );
7033       VULKAN_HPP_NAMESPACE::detail::ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
7034       VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
7035 #else
7036       if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
7037       {
7038         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
7039       }
7040 #endif
7041     }
7042   }  // namespace detail
7043 
7044   //===========================
7045   //=== CONSTEXPR CONSTANTs ===
7046   //===========================
7047 
7048   //=== VK_VERSION_1_0 ===
7049   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
7050   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
7051   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
7052   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
7053   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
7054   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
7055   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
7056   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
7057   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
7058   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
7059   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
7060   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
7061   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
7062   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
7063   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
7064 
7065   //=== VK_VERSION_1_1 ===
7066   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
7067   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
7068   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
7069 
7070   //=== VK_VERSION_1_2 ===
7071   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
7072   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
7073 
7074   //=== VK_VERSION_1_4 ===
7075   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySize = VK_MAX_GLOBAL_PRIORITY_SIZE;
7076 
7077   //=== VK_KHR_device_group_creation ===
7078   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
7079 
7080   //=== VK_KHR_external_memory_capabilities ===
7081   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
7082 
7083   //=== VK_KHR_external_memory ===
7084   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
7085 
7086   //=== VK_EXT_queue_family_foreign ===
7087   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
7088 
7089 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7090   //=== VK_AMDX_shader_enqueue ===
7091   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
7092 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7093 
7094   //=== VK_KHR_ray_tracing_pipeline ===
7095   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
7096 
7097   //=== VK_NV_ray_tracing ===
7098   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
7099 
7100   //=== VK_KHR_global_priority ===
7101   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
7102 
7103   //=== VK_KHR_driver_properties ===
7104   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
7105   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
7106 
7107   //=== VK_EXT_global_priority_query ===
7108   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
7109 
7110   //=== VK_EXT_image_sliced_view_of_3d ===
7111   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
7112 
7113   //=== VK_EXT_shader_module_identifier ===
7114   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
7115 
7116   //=== VK_KHR_pipeline_binary ===
7117   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPipelineBinaryKeySizeKHR = VK_MAX_PIPELINE_BINARY_KEY_SIZE_KHR;
7118 
7119   //=== VK_KHR_video_decode_av1 ===
7120   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoAv1ReferencesPerFrameKHR = VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR;
7121 
7122   //========================
7123   //=== CONSTEXPR VALUEs ===
7124   //========================
7125   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion      = VK_HEADER_VERSION;
7126   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Use64BitPtrDefines = VK_USE_64_BIT_PTR_DEFINES;
7127 
7128   //=========================
7129   //=== CONSTEXPR CALLEEs ===
7130   //=========================
7131   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)7132   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
7133   {
7134     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
7135   }
7136 
7137   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)7138   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
7139   {
7140     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7141   }
7142 
7143   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)7144   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
7145   {
7146     return ( (uint32_t)(version)&0xFFFU );
7147   }
7148 
7149   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)7150   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
7151   {
7152     return ( (uint32_t)( version ) >> 29U );
7153   }
7154 
7155   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)7156   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
7157   {
7158     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7159   }
7160 
7161   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7162   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)7163   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
7164   {
7165     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7166   }
7167 
7168   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7169   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)7170   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
7171   {
7172     return ( (uint32_t)( version ) >> 22U );
7173   }
7174 
7175   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7176   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)7177   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
7178   {
7179     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7180   }
7181 
7182   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7183   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)7184   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
7185   {
7186     return ( (uint32_t)(version)&0xFFFU );
7187   }
7188 
7189   //=========================
7190   //=== CONSTEXPR CALLERs ===
7191   //=========================
7192   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
7193   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
7194   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
7195   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
7196   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
7197   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion14          = makeApiVersion( 0, 1, 4, 0 );
7198   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 4, VK_HEADER_VERSION );
7199 
7200   //=================================
7201   //=== CONSTEXPR EXTENSION NAMEs ===
7202   //=================================
7203 
7204   //=== VK_KHR_surface ===
7205   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
7206   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
7207 
7208   //=== VK_KHR_swapchain ===
7209   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
7210   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
7211 
7212   //=== VK_KHR_display ===
7213   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
7214   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
7215 
7216   //=== VK_KHR_display_swapchain ===
7217   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
7218   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
7219 
7220 #if defined( VK_USE_PLATFORM_XLIB_KHR )
7221   //=== VK_KHR_xlib_surface ===
7222   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
7223   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
7224 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
7225 
7226 #if defined( VK_USE_PLATFORM_XCB_KHR )
7227   //=== VK_KHR_xcb_surface ===
7228   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
7229   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
7230 #endif /*VK_USE_PLATFORM_XCB_KHR*/
7231 
7232 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
7233   //=== VK_KHR_wayland_surface ===
7234   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
7235   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
7236 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
7237 
7238 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7239   //=== VK_KHR_android_surface ===
7240   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
7241   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
7242 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7243 
7244 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7245   //=== VK_KHR_win32_surface ===
7246   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
7247   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
7248 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7249 
7250   //=== VK_EXT_debug_report ===
7251   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7252   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
7253   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7254   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
7255 
7256   //=== VK_NV_glsl_shader ===
7257   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7258   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
7259   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7260   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
7261 
7262   //=== VK_EXT_depth_range_unrestricted ===
7263   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
7264   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
7265 
7266   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
7267   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
7268   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion   = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
7269 
7270   //=== VK_IMG_filter_cubic ===
7271   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
7272   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
7273 
7274   //=== VK_AMD_rasterization_order ===
7275   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
7276   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
7277 
7278   //=== VK_AMD_shader_trinary_minmax ===
7279   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
7280   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
7281 
7282   //=== VK_AMD_shader_explicit_vertex_parameter ===
7283   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
7284   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
7285 
7286   //=== VK_EXT_debug_marker ===
7287   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
7288   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion   = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
7289 
7290   //=== VK_KHR_video_queue ===
7291   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
7292   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7293 
7294   //=== VK_KHR_video_decode_queue ===
7295   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7296   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7297 
7298   //=== VK_AMD_gcn_shader ===
7299   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7300   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7301 
7302   //=== VK_NV_dedicated_allocation ===
7303   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7304   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7305   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7306   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7307 
7308   //=== VK_EXT_transform_feedback ===
7309   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7310   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7311 
7312   //=== VK_NVX_binary_import ===
7313   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7314   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7315 
7316   //=== VK_NVX_image_view_handle ===
7317   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7318   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7319 
7320   //=== VK_AMD_draw_indirect_count ===
7321   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7322   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion   = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7323 
7324   //=== VK_AMD_negative_viewport_height ===
7325   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7326   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7327   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7328   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7329 
7330   //=== VK_AMD_gpu_shader_half_float ===
7331   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7332   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7333   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7334   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7335 
7336   //=== VK_AMD_shader_ballot ===
7337   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7338   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7339 
7340   //=== VK_KHR_video_encode_h264 ===
7341   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7342   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7343 
7344   //=== VK_KHR_video_encode_h265 ===
7345   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7346   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7347 
7348   //=== VK_KHR_video_decode_h264 ===
7349   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7350   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7351 
7352   //=== VK_AMD_texture_gather_bias_lod ===
7353   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7354   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7355 
7356   //=== VK_AMD_shader_info ===
7357   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7358   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7359 
7360   //=== VK_KHR_dynamic_rendering ===
7361   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7362   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion   = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7363 
7364   //=== VK_AMD_shader_image_load_store_lod ===
7365   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7366   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7367 
7368 #if defined( VK_USE_PLATFORM_GGP )
7369   //=== VK_GGP_stream_descriptor_surface ===
7370   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7371   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7372 #endif /*VK_USE_PLATFORM_GGP*/
7373 
7374   //=== VK_NV_corner_sampled_image ===
7375   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7376   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7377 
7378   //=== VK_KHR_multiview ===
7379   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7380   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion   = VK_KHR_MULTIVIEW_SPEC_VERSION;
7381 
7382   //=== VK_IMG_format_pvrtc ===
7383   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7384   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7385   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7386   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7387 
7388   //=== VK_NV_external_memory_capabilities ===
7389   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7390   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7391   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7392   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7393 
7394   //=== VK_NV_external_memory ===
7395   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7396   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7397   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7398   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7399 
7400 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7401   //=== VK_NV_external_memory_win32 ===
7402   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7403   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7404   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7405   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7406 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7407 
7408 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7409   //=== VK_NV_win32_keyed_mutex ===
7410   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7411   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion   = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7412 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7413 
7414   //=== VK_KHR_get_physical_device_properties2 ===
7415   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7416   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion   = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7417 
7418   //=== VK_KHR_device_group ===
7419   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7420   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion   = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7421 
7422   //=== VK_EXT_validation_flags ===
7423   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7424   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7425   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7426   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7427 
7428 #if defined( VK_USE_PLATFORM_VI_NN )
7429   //=== VK_NN_vi_surface ===
7430   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7431   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7432 #endif /*VK_USE_PLATFORM_VI_NN*/
7433 
7434   //=== VK_KHR_shader_draw_parameters ===
7435   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7436   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion   = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7437 
7438   //=== VK_EXT_shader_subgroup_ballot ===
7439   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7440   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7441   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7443 
7444   //=== VK_EXT_shader_subgroup_vote ===
7445   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7446   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7447   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7448   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7449 
7450   //=== VK_EXT_texture_compression_astc_hdr ===
7451   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7452   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion   = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7453 
7454   //=== VK_EXT_astc_decode_mode ===
7455   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7456   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7457 
7458   //=== VK_EXT_pipeline_robustness ===
7459   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7460   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7461 
7462   //=== VK_KHR_maintenance1 ===
7463   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7464   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion   = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7465 
7466   //=== VK_KHR_device_group_creation ===
7467   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7468   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion   = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7469 
7470   //=== VK_KHR_external_memory_capabilities ===
7471   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7472   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7473 
7474   //=== VK_KHR_external_memory ===
7475   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7476   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion   = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7477 
7478 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7479   //=== VK_KHR_external_memory_win32 ===
7480   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7481   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7482 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7483 
7484   //=== VK_KHR_external_memory_fd ===
7485   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7486   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7487 
7488 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7489   //=== VK_KHR_win32_keyed_mutex ===
7490   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7491   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7492 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7493 
7494   //=== VK_KHR_external_semaphore_capabilities ===
7495   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7496   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7497 
7498   //=== VK_KHR_external_semaphore ===
7499   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7500   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7501 
7502 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7503   //=== VK_KHR_external_semaphore_win32 ===
7504   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7505   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7506 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7507 
7508   //=== VK_KHR_external_semaphore_fd ===
7509   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7510   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7511 
7512   //=== VK_KHR_push_descriptor ===
7513   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7514   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7515 
7516   //=== VK_EXT_conditional_rendering ===
7517   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7518   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7519 
7520   //=== VK_KHR_shader_float16_int8 ===
7521   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7522   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion   = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7523 
7524   //=== VK_KHR_16bit_storage ===
7525   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7526   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion   = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7527 
7528   //=== VK_KHR_incremental_present ===
7529   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7530   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7531 
7532   //=== VK_KHR_descriptor_update_template ===
7533   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7534   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion   = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7535 
7536   //=== VK_NV_clip_space_w_scaling ===
7537   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7538   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7539 
7540   //=== VK_EXT_direct_mode_display ===
7541   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7542   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7543 
7544 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7545   //=== VK_EXT_acquire_xlib_display ===
7546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7547   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7548 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7549 
7550   //=== VK_EXT_display_surface_counter ===
7551   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7552   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7553 
7554   //=== VK_EXT_display_control ===
7555   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7556   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7557 
7558   //=== VK_GOOGLE_display_timing ===
7559   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7560   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7561 
7562   //=== VK_NV_sample_mask_override_coverage ===
7563   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7564   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7565 
7566   //=== VK_NV_geometry_shader_passthrough ===
7567   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7568   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7569 
7570   //=== VK_NV_viewport_array2 ===
7571   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7572   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7573 
7574   //=== VK_NVX_multiview_per_view_attributes ===
7575   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7576   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7577 
7578   //=== VK_NV_viewport_swizzle ===
7579   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7580   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7581 
7582   //=== VK_EXT_discard_rectangles ===
7583   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7584   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7585 
7586   //=== VK_EXT_conservative_rasterization ===
7587   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7588   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7589 
7590   //=== VK_EXT_depth_clip_enable ===
7591   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7592   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7593 
7594   //=== VK_EXT_swapchain_colorspace ===
7595   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7596   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7597 
7598   //=== VK_EXT_hdr_metadata ===
7599   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7600   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7601 
7602   //=== VK_KHR_imageless_framebuffer ===
7603   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7604   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion   = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7605 
7606   //=== VK_KHR_create_renderpass2 ===
7607   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7608   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion   = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7609 
7610   //=== VK_IMG_relaxed_line_rasterization ===
7611   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7612   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7613 
7614   //=== VK_KHR_shared_presentable_image ===
7615   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7616   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7617 
7618   //=== VK_KHR_external_fence_capabilities ===
7619   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7620   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7621 
7622   //=== VK_KHR_external_fence ===
7623   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7624   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion   = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7625 
7626 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7627   //=== VK_KHR_external_fence_win32 ===
7628   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7629   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7630 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7631 
7632   //=== VK_KHR_external_fence_fd ===
7633   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7634   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7635 
7636   //=== VK_KHR_performance_query ===
7637   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7638   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7639 
7640   //=== VK_KHR_maintenance2 ===
7641   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7642   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion   = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7643 
7644   //=== VK_KHR_get_surface_capabilities2 ===
7645   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7646   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7647 
7648   //=== VK_KHR_variable_pointers ===
7649   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7650   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion   = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7651 
7652   //=== VK_KHR_get_display_properties2 ===
7653   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7654   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7655 
7656 #if defined( VK_USE_PLATFORM_IOS_MVK )
7657   //=== VK_MVK_ios_surface ===
7658   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7659   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7660   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7661   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7662 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7663 
7664 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7665   //=== VK_MVK_macos_surface ===
7666   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7667   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7668   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7669   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7670 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7671 
7672   //=== VK_EXT_external_memory_dma_buf ===
7673   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7674   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7675 
7676   //=== VK_EXT_queue_family_foreign ===
7677   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7678   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7679 
7680   //=== VK_KHR_dedicated_allocation ===
7681   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7682   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion   = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7683 
7684   //=== VK_EXT_debug_utils ===
7685   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7686   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7687 
7688 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7689   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7690   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7691   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7692 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7693 
7694   //=== VK_EXT_sampler_filter_minmax ===
7695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7696   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion   = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7697 
7698   //=== VK_KHR_storage_buffer_storage_class ===
7699   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7700   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion   = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7701 
7702   //=== VK_AMD_gpu_shader_int16 ===
7703   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7704   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7705   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7706   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7707 
7708 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7709   //=== VK_AMDX_shader_enqueue ===
7710   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7711   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7712 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7713 
7714   //=== VK_AMD_mixed_attachment_samples ===
7715   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7716   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7717 
7718   //=== VK_AMD_shader_fragment_mask ===
7719   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7720   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7721 
7722   //=== VK_EXT_inline_uniform_block ===
7723   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7724   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion   = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7725 
7726   //=== VK_EXT_shader_stencil_export ===
7727   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7728   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7729 
7730   //=== VK_EXT_sample_locations ===
7731   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7732   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7733 
7734   //=== VK_KHR_relaxed_block_layout ===
7735   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7736   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion   = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7737 
7738   //=== VK_KHR_get_memory_requirements2 ===
7739   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7740   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion   = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7741 
7742   //=== VK_KHR_image_format_list ===
7743   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7744   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion   = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7745 
7746   //=== VK_EXT_blend_operation_advanced ===
7747   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7748   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7749 
7750   //=== VK_NV_fragment_coverage_to_color ===
7751   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7752   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7753 
7754   //=== VK_KHR_acceleration_structure ===
7755   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7756   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7757 
7758   //=== VK_KHR_ray_tracing_pipeline ===
7759   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7760   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7761 
7762   //=== VK_KHR_ray_query ===
7763   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7764   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7765 
7766   //=== VK_NV_framebuffer_mixed_samples ===
7767   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7768   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7769 
7770   //=== VK_NV_fill_rectangle ===
7771   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7772   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7773 
7774   //=== VK_NV_shader_sm_builtins ===
7775   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7776   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7777 
7778   //=== VK_EXT_post_depth_coverage ===
7779   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7780   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7781 
7782   //=== VK_KHR_sampler_ycbcr_conversion ===
7783   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7784   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion   = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7785 
7786   //=== VK_KHR_bind_memory2 ===
7787   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7788   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion   = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7789 
7790   //=== VK_EXT_image_drm_format_modifier ===
7791   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7792   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7793 
7794   //=== VK_EXT_validation_cache ===
7795   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7796   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7797 
7798   //=== VK_EXT_descriptor_indexing ===
7799   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7800   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion   = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7801 
7802   //=== VK_EXT_shader_viewport_index_layer ===
7803   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7804   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion   = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7805 
7806 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7807   //=== VK_KHR_portability_subset ===
7808   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7809   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7810 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7811 
7812   //=== VK_NV_shading_rate_image ===
7813   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7814   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7815 
7816   //=== VK_NV_ray_tracing ===
7817   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7818   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7819   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7820   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion = VK_NV_RAY_TRACING_SPEC_VERSION;
7821 
7822   //=== VK_NV_representative_fragment_test ===
7823   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7824   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7825 
7826   //=== VK_KHR_maintenance3 ===
7827   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7828   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion   = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7829 
7830   //=== VK_KHR_draw_indirect_count ===
7831   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7832   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion   = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7833 
7834   //=== VK_EXT_filter_cubic ===
7835   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7836   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7837 
7838   //=== VK_QCOM_render_pass_shader_resolve ===
7839   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7840   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7841 
7842   //=== VK_EXT_global_priority ===
7843   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7844   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion   = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7845 
7846   //=== VK_KHR_shader_subgroup_extended_types ===
7847   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7848   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion   = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7849 
7850   //=== VK_KHR_8bit_storage ===
7851   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7852   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion   = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7853 
7854   //=== VK_EXT_external_memory_host ===
7855   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7856   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7857 
7858   //=== VK_AMD_buffer_marker ===
7859   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7860   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7861 
7862   //=== VK_KHR_shader_atomic_int64 ===
7863   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7864   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion   = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7865 
7866   //=== VK_KHR_shader_clock ===
7867   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7868   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7869 
7870   //=== VK_AMD_pipeline_compiler_control ===
7871   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7872   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7873 
7874   //=== VK_EXT_calibrated_timestamps ===
7875   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7876   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion   = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7877 
7878   //=== VK_AMD_shader_core_properties ===
7879   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7880   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7881 
7882   //=== VK_KHR_video_decode_h265 ===
7883   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7884   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7885 
7886   //=== VK_KHR_global_priority ===
7887   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7888   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7889 
7890   //=== VK_AMD_memory_overallocation_behavior ===
7891   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7892   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7893 
7894   //=== VK_EXT_vertex_attribute_divisor ===
7895   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7896   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion   = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7897 
7898 #if defined( VK_USE_PLATFORM_GGP )
7899   //=== VK_GGP_frame_token ===
7900   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7901   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7902 #endif /*VK_USE_PLATFORM_GGP*/
7903 
7904   //=== VK_EXT_pipeline_creation_feedback ===
7905   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7906   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion   = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7907 
7908   //=== VK_KHR_driver_properties ===
7909   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
7910   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion   = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
7911 
7912   //=== VK_KHR_shader_float_controls ===
7913   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
7914   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
7915 
7916   //=== VK_NV_shader_subgroup_partitioned ===
7917   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
7918   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
7919 
7920   //=== VK_KHR_depth_stencil_resolve ===
7921   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
7922   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion   = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
7923 
7924   //=== VK_KHR_swapchain_mutable_format ===
7925   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
7926   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
7927 
7928   //=== VK_NV_compute_shader_derivatives ===
7929   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
7930   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
7931 
7932   //=== VK_NV_mesh_shader ===
7933   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
7934   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
7935 
7936   //=== VK_NV_fragment_shader_barycentric ===
7937   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
7938   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion   = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
7939 
7940   //=== VK_NV_shader_image_footprint ===
7941   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
7942   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
7943 
7944   //=== VK_NV_scissor_exclusive ===
7945   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
7946   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
7947 
7948   //=== VK_NV_device_diagnostic_checkpoints ===
7949   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
7950   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
7951 
7952   //=== VK_KHR_timeline_semaphore ===
7953   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
7954   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion   = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
7955 
7956   //=== VK_INTEL_shader_integer_functions2 ===
7957   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
7958   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
7959 
7960   //=== VK_INTEL_performance_query ===
7961   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
7962   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
7963 
7964   //=== VK_KHR_vulkan_memory_model ===
7965   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
7966   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion   = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
7967 
7968   //=== VK_EXT_pci_bus_info ===
7969   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
7970   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
7971 
7972   //=== VK_AMD_display_native_hdr ===
7973   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
7974   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
7975 
7976 #if defined( VK_USE_PLATFORM_FUCHSIA )
7977   //=== VK_FUCHSIA_imagepipe_surface ===
7978   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
7979   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
7980 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7981 
7982   //=== VK_KHR_shader_terminate_invocation ===
7983   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
7984   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion   = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
7985 
7986 #if defined( VK_USE_PLATFORM_METAL_EXT )
7987   //=== VK_EXT_metal_surface ===
7988   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
7989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
7990 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7991 
7992   //=== VK_EXT_fragment_density_map ===
7993   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
7994   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
7995 
7996   //=== VK_EXT_scalar_block_layout ===
7997   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
7998   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion   = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
7999 
8000   //=== VK_GOOGLE_hlsl_functionality1 ===
8001   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
8002   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
8003 
8004   //=== VK_GOOGLE_decorate_string ===
8005   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
8006   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
8007 
8008   //=== VK_EXT_subgroup_size_control ===
8009   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
8010   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion   = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
8011 
8012   //=== VK_KHR_fragment_shading_rate ===
8013   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
8014   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
8015 
8016   //=== VK_AMD_shader_core_properties2 ===
8017   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
8018   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
8019 
8020   //=== VK_AMD_device_coherent_memory ===
8021   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
8022   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
8023 
8024   //=== VK_KHR_dynamic_rendering_local_read ===
8025   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadExtensionName = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME;
8026   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadSpecVersion   = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION;
8027 
8028   //=== VK_EXT_shader_image_atomic_int64 ===
8029   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
8030   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
8031 
8032   //=== VK_KHR_shader_quad_control ===
8033   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlExtensionName = VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME;
8034   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlSpecVersion   = VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION;
8035 
8036   //=== VK_KHR_spirv_1_4 ===
8037   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
8038   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion   = VK_KHR_SPIRV_1_4_SPEC_VERSION;
8039 
8040   //=== VK_EXT_memory_budget ===
8041   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
8042   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
8043 
8044   //=== VK_EXT_memory_priority ===
8045   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
8046   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
8047 
8048   //=== VK_KHR_surface_protected_capabilities ===
8049   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
8050   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
8051 
8052   //=== VK_NV_dedicated_allocation_image_aliasing ===
8053   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
8054   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
8055 
8056   //=== VK_KHR_separate_depth_stencil_layouts ===
8057   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
8058   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion   = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
8059 
8060   //=== VK_EXT_buffer_device_address ===
8061   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
8062   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
8063   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
8064   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
8065 
8066   //=== VK_EXT_tooling_info ===
8067   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
8068   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion   = VK_EXT_TOOLING_INFO_SPEC_VERSION;
8069 
8070   //=== VK_EXT_separate_stencil_usage ===
8071   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
8072   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion   = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
8073 
8074   //=== VK_EXT_validation_features ===
8075   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
8076   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
8077   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
8078   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
8079 
8080   //=== VK_KHR_present_wait ===
8081   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
8082   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
8083 
8084   //=== VK_NV_cooperative_matrix ===
8085   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
8086   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
8087 
8088   //=== VK_NV_coverage_reduction_mode ===
8089   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
8090   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
8091 
8092   //=== VK_EXT_fragment_shader_interlock ===
8093   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
8094   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
8095 
8096   //=== VK_EXT_ycbcr_image_arrays ===
8097   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
8098   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
8099 
8100   //=== VK_KHR_uniform_buffer_standard_layout ===
8101   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
8102   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion   = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
8103 
8104   //=== VK_EXT_provoking_vertex ===
8105   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
8106   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
8107 
8108 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8109   //=== VK_EXT_full_screen_exclusive ===
8110   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
8111   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
8112 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8113 
8114   //=== VK_EXT_headless_surface ===
8115   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
8116   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
8117 
8118   //=== VK_KHR_buffer_device_address ===
8119   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
8120   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion   = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
8121 
8122   //=== VK_EXT_line_rasterization ===
8123   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
8124   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion   = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
8125 
8126   //=== VK_EXT_shader_atomic_float ===
8127   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
8128   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
8129 
8130   //=== VK_EXT_host_query_reset ===
8131   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
8132   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion   = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
8133 
8134   //=== VK_EXT_index_type_uint8 ===
8135   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
8136   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion   = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
8137 
8138   //=== VK_EXT_extended_dynamic_state ===
8139   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
8140   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
8141 
8142   //=== VK_KHR_deferred_host_operations ===
8143   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
8144   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
8145 
8146   //=== VK_KHR_pipeline_executable_properties ===
8147   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
8148   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
8149 
8150   //=== VK_EXT_host_image_copy ===
8151   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
8152   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
8153 
8154   //=== VK_KHR_map_memory2 ===
8155   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
8156   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
8157 
8158   //=== VK_EXT_map_memory_placed ===
8159   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedExtensionName = VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME;
8160   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedSpecVersion   = VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION;
8161 
8162   //=== VK_EXT_shader_atomic_float2 ===
8163   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
8164   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
8165 
8166   //=== VK_EXT_surface_maintenance1 ===
8167   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
8168   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
8169 
8170   //=== VK_EXT_swapchain_maintenance1 ===
8171   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
8172   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
8173 
8174   //=== VK_EXT_shader_demote_to_helper_invocation ===
8175   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
8176   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion   = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
8177 
8178   //=== VK_NV_device_generated_commands ===
8179   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8180   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8181 
8182   //=== VK_NV_inherited_viewport_scissor ===
8183   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
8184   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8185 
8186   //=== VK_KHR_shader_integer_dot_product ===
8187   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8188   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion   = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8189 
8190   //=== VK_EXT_texel_buffer_alignment ===
8191   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8192   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion   = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8193 
8194   //=== VK_QCOM_render_pass_transform ===
8195   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8196   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8197 
8198   //=== VK_EXT_depth_bias_control ===
8199   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8200   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8201 
8202   //=== VK_EXT_device_memory_report ===
8203   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8204   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8205 
8206   //=== VK_EXT_acquire_drm_display ===
8207   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8208   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8209 
8210   //=== VK_EXT_robustness2 ===
8211   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8212   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8213 
8214   //=== VK_EXT_custom_border_color ===
8215   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8216   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8217 
8218   //=== VK_GOOGLE_user_type ===
8219   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8220   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8221 
8222   //=== VK_KHR_pipeline_library ===
8223   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8224   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8225 
8226   //=== VK_NV_present_barrier ===
8227   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8228   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8229 
8230   //=== VK_KHR_shader_non_semantic_info ===
8231   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8232   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion   = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8233 
8234   //=== VK_KHR_present_id ===
8235   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8236   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8237 
8238   //=== VK_EXT_private_data ===
8239   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8240   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion   = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8241 
8242   //=== VK_EXT_pipeline_creation_cache_control ===
8243   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8244   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion   = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8245 
8246   //=== VK_KHR_video_encode_queue ===
8247   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8248   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8249 
8250   //=== VK_NV_device_diagnostics_config ===
8251   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8252   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8253 
8254   //=== VK_QCOM_render_pass_store_ops ===
8255   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8256   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8257 
8258 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8259   //=== VK_NV_cuda_kernel_launch ===
8260   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8261   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8262 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8263 
8264   //=== VK_NV_low_latency ===
8265   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8266   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8267 
8268 #if defined( VK_USE_PLATFORM_METAL_EXT )
8269   //=== VK_EXT_metal_objects ===
8270   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8271   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8272 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8273 
8274   //=== VK_KHR_synchronization2 ===
8275   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8276   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion   = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8277 
8278   //=== VK_EXT_descriptor_buffer ===
8279   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8280   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8281 
8282   //=== VK_EXT_graphics_pipeline_library ===
8283   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8284   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8285 
8286   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8287   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8288   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8289 
8290   //=== VK_KHR_fragment_shader_barycentric ===
8291   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8292   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8293 
8294   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8295   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8296   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8297 
8298   //=== VK_KHR_zero_initialize_workgroup_memory ===
8299   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8300   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion   = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8301 
8302   //=== VK_NV_fragment_shading_rate_enums ===
8303   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8304   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8305 
8306   //=== VK_NV_ray_tracing_motion_blur ===
8307   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8308   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8309 
8310   //=== VK_EXT_mesh_shader ===
8311   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8312   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8313 
8314   //=== VK_EXT_ycbcr_2plane_444_formats ===
8315   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8316   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion   = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8317 
8318   //=== VK_EXT_fragment_density_map2 ===
8319   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8320   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8321 
8322   //=== VK_QCOM_rotated_copy_commands ===
8323   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8324   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8325 
8326   //=== VK_EXT_image_robustness ===
8327   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion   = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8329 
8330   //=== VK_KHR_workgroup_memory_explicit_layout ===
8331   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8332   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8333 
8334   //=== VK_KHR_copy_commands2 ===
8335   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8336   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion   = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8337 
8338   //=== VK_EXT_image_compression_control ===
8339   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8340   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8341 
8342   //=== VK_EXT_attachment_feedback_loop_layout ===
8343   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8344   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8345 
8346   //=== VK_EXT_4444_formats ===
8347   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8348   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion   = VK_EXT_4444_FORMATS_SPEC_VERSION;
8349 
8350   //=== VK_EXT_device_fault ===
8351   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8352   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8353 
8354   //=== VK_ARM_rasterization_order_attachment_access ===
8355   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8356   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion   = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8357 
8358   //=== VK_EXT_rgba10x6_formats ===
8359   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8361 
8362 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8363   //=== VK_NV_acquire_winrt_display ===
8364   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8365   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8366 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8367 
8368 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8369   //=== VK_EXT_directfb_surface ===
8370   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8371   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8372 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8373 
8374   //=== VK_VALVE_mutable_descriptor_type ===
8375   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8376   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion   = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8377 
8378   //=== VK_EXT_vertex_input_dynamic_state ===
8379   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8380   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8381 
8382   //=== VK_EXT_physical_device_drm ===
8383   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8384   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8385 
8386   //=== VK_EXT_device_address_binding_report ===
8387   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8388   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8389 
8390   //=== VK_EXT_depth_clip_control ===
8391   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8392   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8393 
8394   //=== VK_EXT_primitive_topology_list_restart ===
8395   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8396   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8397 
8398   //=== VK_KHR_format_feature_flags2 ===
8399   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8400   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion   = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8401 
8402   //=== VK_EXT_present_mode_fifo_latest_ready ===
8403   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPresentModeFifoLatestReadyExtensionName = VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_EXTENSION_NAME;
8404   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPresentModeFifoLatestReadySpecVersion   = VK_EXT_PRESENT_MODE_FIFO_LATEST_READY_SPEC_VERSION;
8405 
8406 #if defined( VK_USE_PLATFORM_FUCHSIA )
8407   //=== VK_FUCHSIA_external_memory ===
8408   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8409   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8410 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8411 
8412 #if defined( VK_USE_PLATFORM_FUCHSIA )
8413   //=== VK_FUCHSIA_external_semaphore ===
8414   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8415   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8416 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8417 
8418 #if defined( VK_USE_PLATFORM_FUCHSIA )
8419   //=== VK_FUCHSIA_buffer_collection ===
8420   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8421   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8422 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8423 
8424   //=== VK_HUAWEI_subpass_shading ===
8425   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8426   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8427 
8428   //=== VK_HUAWEI_invocation_mask ===
8429   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8430   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8431 
8432   //=== VK_NV_external_memory_rdma ===
8433   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8434   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8435 
8436   //=== VK_EXT_pipeline_properties ===
8437   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8438   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8439 
8440   //=== VK_EXT_frame_boundary ===
8441   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8442   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8443 
8444   //=== VK_EXT_multisampled_render_to_single_sampled ===
8445   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8446   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8447 
8448   //=== VK_EXT_extended_dynamic_state2 ===
8449   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8450   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8451 
8452 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8453   //=== VK_QNX_screen_surface ===
8454   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8455   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8456 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8457 
8458   //=== VK_EXT_color_write_enable ===
8459   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8460   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8461 
8462   //=== VK_EXT_primitives_generated_query ===
8463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8464   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8465 
8466   //=== VK_KHR_ray_tracing_maintenance1 ===
8467   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8468   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8469 
8470   //=== VK_EXT_global_priority_query ===
8471   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8472   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion   = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8473 
8474   //=== VK_EXT_image_view_min_lod ===
8475   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8476   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8477 
8478   //=== VK_EXT_multi_draw ===
8479   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8480   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8481 
8482   //=== VK_EXT_image_2d_view_of_3d ===
8483   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8484   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8485 
8486   //=== VK_KHR_portability_enumeration ===
8487   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8488   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8489 
8490   //=== VK_EXT_shader_tile_image ===
8491   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8492   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8493 
8494   //=== VK_EXT_opacity_micromap ===
8495   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8496   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8497 
8498 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8499   //=== VK_NV_displacement_micromap ===
8500   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8501   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8502 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8503 
8504   //=== VK_EXT_load_store_op_none ===
8505   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8506   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion   = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8507 
8508   //=== VK_HUAWEI_cluster_culling_shader ===
8509   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8510   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8511 
8512   //=== VK_EXT_border_color_swizzle ===
8513   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8514   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8515 
8516   //=== VK_EXT_pageable_device_local_memory ===
8517   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8518   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8519 
8520   //=== VK_KHR_maintenance4 ===
8521   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8522   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion   = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8523 
8524   //=== VK_ARM_shader_core_properties ===
8525   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8526   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8527 
8528   //=== VK_KHR_shader_subgroup_rotate ===
8529   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateExtensionName = VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME;
8530   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateSpecVersion   = VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION;
8531 
8532   //=== VK_ARM_scheduling_controls ===
8533   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8534   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8535 
8536   //=== VK_EXT_image_sliced_view_of_3d ===
8537   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8538   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8539 
8540   //=== VK_VALVE_descriptor_set_host_mapping ===
8541   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8542   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8543 
8544   //=== VK_EXT_depth_clamp_zero_one ===
8545   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8547 
8548   //=== VK_EXT_non_seamless_cube_map ===
8549   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8550   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8551 
8552   //=== VK_ARM_render_pass_striped ===
8553   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8554   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8555 
8556   //=== VK_QCOM_fragment_density_map_offset ===
8557   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8558   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8559 
8560   //=== VK_NV_copy_memory_indirect ===
8561   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8562   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8563 
8564   //=== VK_NV_memory_decompression ===
8565   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8566   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8567 
8568   //=== VK_NV_device_generated_commands_compute ===
8569   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8570   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8571 
8572   //=== VK_NV_linear_color_attachment ===
8573   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8574   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8575 
8576   //=== VK_GOOGLE_surfaceless_query ===
8577   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8578   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8579 
8580   //=== VK_KHR_shader_maximal_reconvergence ===
8581   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceExtensionName = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME;
8582   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceSpecVersion   = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION;
8583 
8584   //=== VK_EXT_image_compression_control_swapchain ===
8585   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8586   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8587 
8588   //=== VK_QCOM_image_processing ===
8589   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8590   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8591 
8592   //=== VK_EXT_nested_command_buffer ===
8593   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8594   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8595 
8596   //=== VK_EXT_external_memory_acquire_unmodified ===
8597   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8598   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8599 
8600   //=== VK_EXT_extended_dynamic_state3 ===
8601   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8602   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8603 
8604   //=== VK_EXT_subpass_merge_feedback ===
8605   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8606   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8607 
8608   //=== VK_LUNARG_direct_driver_loading ===
8609   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8610   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8611 
8612   //=== VK_EXT_shader_module_identifier ===
8613   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8614   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8615 
8616   //=== VK_EXT_rasterization_order_attachment_access ===
8617   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8618   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8619 
8620   //=== VK_NV_optical_flow ===
8621   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8622   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8623 
8624   //=== VK_EXT_legacy_dithering ===
8625   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8626   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8627 
8628   //=== VK_EXT_pipeline_protected_access ===
8629   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8630   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8631 
8632 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8633   //=== VK_ANDROID_external_format_resolve ===
8634   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8635   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8636 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8637 
8638   //=== VK_KHR_maintenance5 ===
8639   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8640   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8641 
8642   //=== VK_AMD_anti_lag ===
8643   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagExtensionName = VK_AMD_ANTI_LAG_EXTENSION_NAME;
8644   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagSpecVersion   = VK_AMD_ANTI_LAG_SPEC_VERSION;
8645 
8646   //=== VK_KHR_ray_tracing_position_fetch ===
8647   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8648   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8649 
8650   //=== VK_EXT_shader_object ===
8651   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8652   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8653 
8654   //=== VK_KHR_pipeline_binary ===
8655   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinaryExtensionName = VK_KHR_PIPELINE_BINARY_EXTENSION_NAME;
8656   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinarySpecVersion   = VK_KHR_PIPELINE_BINARY_SPEC_VERSION;
8657 
8658   //=== VK_QCOM_tile_properties ===
8659   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8660   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8661 
8662   //=== VK_SEC_amigo_profiling ===
8663   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8664   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8665 
8666   //=== VK_QCOM_multiview_per_view_viewports ===
8667   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8668   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8669 
8670   //=== VK_NV_ray_tracing_invocation_reorder ===
8671   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8672   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8673 
8674   //=== VK_NV_extended_sparse_address_space ===
8675   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8676   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8677 
8678   //=== VK_EXT_mutable_descriptor_type ===
8679   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8680   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8681 
8682   //=== VK_EXT_legacy_vertex_attributes ===
8683   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesExtensionName = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME;
8684   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesSpecVersion   = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION;
8685 
8686   //=== VK_EXT_layer_settings ===
8687   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8688   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8689 
8690   //=== VK_ARM_shader_core_builtins ===
8691   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8692   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8693 
8694   //=== VK_EXT_pipeline_library_group_handles ===
8695   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8696   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8697 
8698   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8699   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8700   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8701 
8702   //=== VK_NV_low_latency2 ===
8703   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8704   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8705 
8706   //=== VK_KHR_cooperative_matrix ===
8707   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8708   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8709 
8710   //=== VK_QCOM_multiview_per_view_render_areas ===
8711   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8712   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8713 
8714   //=== VK_KHR_compute_shader_derivatives ===
8715   VULKAN_HPP_CONSTEXPR_INLINE auto KHRComputeShaderDerivativesExtensionName = VK_KHR_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
8716   VULKAN_HPP_CONSTEXPR_INLINE auto KHRComputeShaderDerivativesSpecVersion   = VK_KHR_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
8717 
8718   //=== VK_KHR_video_decode_av1 ===
8719   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1ExtensionName = VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME;
8720   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1SpecVersion   = VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION;
8721 
8722   //=== VK_KHR_video_encode_av1 ===
8723   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeAv1ExtensionName = VK_KHR_VIDEO_ENCODE_AV1_EXTENSION_NAME;
8724   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeAv1SpecVersion   = VK_KHR_VIDEO_ENCODE_AV1_SPEC_VERSION;
8725 
8726   //=== VK_KHR_video_maintenance1 ===
8727   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8728   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8729 
8730   //=== VK_NV_per_stage_descriptor_set ===
8731   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8732   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8733 
8734   //=== VK_QCOM_image_processing2 ===
8735   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8736   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8737 
8738   //=== VK_QCOM_filter_cubic_weights ===
8739   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8740   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8741 
8742   //=== VK_QCOM_ycbcr_degamma ===
8743   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8744   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8745 
8746   //=== VK_QCOM_filter_cubic_clamp ===
8747   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8748   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8749 
8750   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8751   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8752   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8753 
8754   //=== VK_KHR_vertex_attribute_divisor ===
8755   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8756   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8757 
8758   //=== VK_KHR_load_store_op_none ===
8759   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneExtensionName = VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8760   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneSpecVersion   = VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION;
8761 
8762   //=== VK_KHR_shader_float_controls2 ===
8763   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2ExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME;
8764   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2SpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION;
8765 
8766 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8767   //=== VK_QNX_external_memory_screen_buffer ===
8768   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8769   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8770 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8771 
8772   //=== VK_MSFT_layered_driver ===
8773   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8774   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8775 
8776   //=== VK_KHR_index_type_uint8 ===
8777   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8ExtensionName = VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME;
8778   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8SpecVersion   = VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION;
8779 
8780   //=== VK_KHR_line_rasterization ===
8781   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationExtensionName = VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME;
8782   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationSpecVersion   = VK_KHR_LINE_RASTERIZATION_SPEC_VERSION;
8783 
8784   //=== VK_KHR_calibrated_timestamps ===
8785   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8786   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8787 
8788   //=== VK_KHR_shader_expect_assume ===
8789   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeExtensionName = VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME;
8790   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeSpecVersion   = VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION;
8791 
8792   //=== VK_KHR_maintenance6 ===
8793   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8794   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8795 
8796   //=== VK_NV_descriptor_pool_overallocation ===
8797   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8798   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8799 
8800   //=== VK_NV_display_stereo ===
8801   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplayStereoExtensionName = VK_NV_DISPLAY_STEREO_EXTENSION_NAME;
8802   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplayStereoSpecVersion   = VK_NV_DISPLAY_STEREO_SPEC_VERSION;
8803 
8804   //=== VK_KHR_video_encode_quantization_map ===
8805   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQuantizationMapExtensionName = VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_EXTENSION_NAME;
8806   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQuantizationMapSpecVersion   = VK_KHR_VIDEO_ENCODE_QUANTIZATION_MAP_SPEC_VERSION;
8807 
8808   //=== VK_NV_raw_access_chains ===
8809   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsExtensionName = VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME;
8810   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsSpecVersion   = VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION;
8811 
8812   //=== VK_KHR_shader_relaxed_extended_instruction ===
8813   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionExtensionName = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME;
8814   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionSpecVersion   = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION;
8815 
8816   //=== VK_NV_command_buffer_inheritance ===
8817   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceExtensionName = VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME;
8818   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceSpecVersion   = VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION;
8819 
8820   //=== VK_KHR_maintenance7 ===
8821   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7ExtensionName = VK_KHR_MAINTENANCE_7_EXTENSION_NAME;
8822   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7SpecVersion   = VK_KHR_MAINTENANCE_7_SPEC_VERSION;
8823 
8824   //=== VK_NV_shader_atomic_float16_vector ===
8825   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorExtensionName = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME;
8826   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorSpecVersion   = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION;
8827 
8828   //=== VK_EXT_shader_replicated_composites ===
8829   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesExtensionName = VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME;
8830   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesSpecVersion   = VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION;
8831 
8832   //=== VK_NV_ray_tracing_validation ===
8833   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationExtensionName = VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME;
8834   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationSpecVersion   = VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION;
8835 
8836   //=== VK_EXT_device_generated_commands ===
8837   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceGeneratedCommandsExtensionName = VK_EXT_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8838   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceGeneratedCommandsSpecVersion   = VK_EXT_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8839 
8840   //=== VK_MESA_image_alignment_control ===
8841   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlExtensionName = VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME;
8842   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlSpecVersion   = VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION;
8843 
8844   //=== VK_EXT_depth_clamp_control ===
8845   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlExtensionName = VK_EXT_DEPTH_CLAMP_CONTROL_EXTENSION_NAME;
8846   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampControlSpecVersion   = VK_EXT_DEPTH_CLAMP_CONTROL_SPEC_VERSION;
8847 
8848   //=== VK_HUAWEI_hdr_vivid ===
8849   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIHdrVividExtensionName = VK_HUAWEI_HDR_VIVID_EXTENSION_NAME;
8850   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIHdrVividSpecVersion   = VK_HUAWEI_HDR_VIVID_SPEC_VERSION;
8851 
8852   //=== VK_NV_cooperative_matrix2 ===
8853   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrix2ExtensionName = VK_NV_COOPERATIVE_MATRIX_2_EXTENSION_NAME;
8854   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrix2SpecVersion   = VK_NV_COOPERATIVE_MATRIX_2_SPEC_VERSION;
8855 
8856   //=== VK_EXT_vertex_attribute_robustness ===
8857   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeRobustnessExtensionName = VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_EXTENSION_NAME;
8858   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeRobustnessSpecVersion   = VK_EXT_VERTEX_ATTRIBUTE_ROBUSTNESS_SPEC_VERSION;
8859 
8860 }  // namespace VULKAN_HPP_NAMESPACE
8861 
8862 // clang-format off
8863 #include <vulkan/vulkan_handles.hpp>
8864 #include <vulkan/vulkan_structs.hpp>
8865 #include <vulkan/vulkan_funcs.hpp>
8866 
8867 // clang-format on
8868 
8869 namespace VULKAN_HPP_NAMESPACE
8870 {
8871 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8872 
8873   //=======================
8874   //=== STRUCTS EXTENDS ===
8875   //=======================
8876 
8877   //=== VK_VERSION_1_0 ===
8878   template <>
8879   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
8880   {
8881     enum
8882     {
8883       value = true
8884     };
8885   };
8886 
8887   template <>
8888   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfo>
8889   {
8890     enum
8891     {
8892       value = true
8893     };
8894   };
8895 
8896   template <>
8897   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfo>
8898   {
8899     enum
8900     {
8901       value = true
8902     };
8903   };
8904 
8905   template <>
8906   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfo>
8907   {
8908     enum
8909     {
8910       value = true
8911     };
8912   };
8913 
8914   template <>
8915   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfo>
8916   {
8917     enum
8918     {
8919       value = true
8920     };
8921   };
8922 
8923   template <>
8924   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
8925   {
8926     enum
8927     {
8928       value = true
8929     };
8930   };
8931 
8932   template <>
8933   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
8934   {
8935     enum
8936     {
8937       value = true
8938     };
8939   };
8940 
8941   template <>
8942   struct StructExtends<PipelineLayoutCreateInfo, IndirectCommandsLayoutCreateInfoEXT>
8943   {
8944     enum
8945     {
8946       value = true
8947     };
8948   };
8949 
8950   //=== VK_VERSION_1_1 ===
8951   template <>
8952   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8953   {
8954     enum
8955     {
8956       value = true
8957     };
8958   };
8959 
8960   template <>
8961   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
8962   {
8963     enum
8964     {
8965       value = true
8966     };
8967   };
8968 
8969   template <>
8970   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
8971   {
8972     enum
8973     {
8974       value = true
8975     };
8976   };
8977 
8978   template <>
8979   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
8980   {
8981     enum
8982     {
8983       value = true
8984     };
8985   };
8986 
8987   template <>
8988   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
8989   {
8990     enum
8991     {
8992       value = true
8993     };
8994   };
8995 
8996   template <>
8997   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
8998   {
8999     enum
9000     {
9001       value = true
9002     };
9003   };
9004 
9005   template <>
9006   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
9007   {
9008     enum
9009     {
9010       value = true
9011     };
9012   };
9013 
9014   template <>
9015   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
9016   {
9017     enum
9018     {
9019       value = true
9020     };
9021   };
9022 
9023   template <>
9024   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
9025   {
9026     enum
9027     {
9028       value = true
9029     };
9030   };
9031 
9032   template <>
9033   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
9034   {
9035     enum
9036     {
9037       value = true
9038     };
9039   };
9040 
9041   template <>
9042   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
9043   {
9044     enum
9045     {
9046       value = true
9047     };
9048   };
9049 
9050   template <>
9051   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
9052   {
9053     enum
9054     {
9055       value = true
9056     };
9057   };
9058 
9059   template <>
9060   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
9061   {
9062     enum
9063     {
9064       value = true
9065     };
9066   };
9067 
9068   template <>
9069   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
9070   {
9071     enum
9072     {
9073       value = true
9074     };
9075   };
9076 
9077   template <>
9078   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
9079   {
9080     enum
9081     {
9082       value = true
9083     };
9084   };
9085 
9086   template <>
9087   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
9088   {
9089     enum
9090     {
9091       value = true
9092     };
9093   };
9094 
9095   template <>
9096   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
9097   {
9098     enum
9099     {
9100       value = true
9101     };
9102   };
9103 
9104   template <>
9105   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
9106   {
9107     enum
9108     {
9109       value = true
9110     };
9111   };
9112 
9113   template <>
9114   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
9115   {
9116     enum
9117     {
9118       value = true
9119     };
9120   };
9121 
9122   template <>
9123   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
9124   {
9125     enum
9126     {
9127       value = true
9128     };
9129   };
9130 
9131   template <>
9132   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
9133   {
9134     enum
9135     {
9136       value = true
9137     };
9138   };
9139 
9140   template <>
9141   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
9142   {
9143     enum
9144     {
9145       value = true
9146     };
9147   };
9148 
9149   template <>
9150   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
9151   {
9152     enum
9153     {
9154       value = true
9155     };
9156   };
9157 
9158   template <>
9159   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
9160   {
9161     enum
9162     {
9163       value = true
9164     };
9165   };
9166 
9167   template <>
9168   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
9169   {
9170     enum
9171     {
9172       value = true
9173     };
9174   };
9175 
9176   template <>
9177   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
9178   {
9179     enum
9180     {
9181       value = true
9182     };
9183   };
9184 
9185   template <>
9186   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
9187   {
9188     enum
9189     {
9190       value = true
9191     };
9192   };
9193 
9194   template <>
9195   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
9196   {
9197     enum
9198     {
9199       value = true
9200     };
9201   };
9202 
9203   template <>
9204   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
9205   {
9206     enum
9207     {
9208       value = true
9209     };
9210   };
9211 
9212   template <>
9213   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
9214   {
9215     enum
9216     {
9217       value = true
9218     };
9219   };
9220 
9221   template <>
9222   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
9223   {
9224     enum
9225     {
9226       value = true
9227     };
9228   };
9229 
9230   template <>
9231   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
9232   {
9233     enum
9234     {
9235       value = true
9236     };
9237   };
9238 
9239   template <>
9240   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
9241   {
9242     enum
9243     {
9244       value = true
9245     };
9246   };
9247 
9248   template <>
9249   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
9250   {
9251     enum
9252     {
9253       value = true
9254     };
9255   };
9256 
9257   template <>
9258   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
9259   {
9260     enum
9261     {
9262       value = true
9263     };
9264   };
9265 
9266   template <>
9267   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9268   {
9269     enum
9270     {
9271       value = true
9272     };
9273   };
9274 
9275   template <>
9276   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9277   {
9278     enum
9279     {
9280       value = true
9281     };
9282   };
9283 
9284   template <>
9285   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9286   {
9287     enum
9288     {
9289       value = true
9290     };
9291   };
9292 
9293   template <>
9294   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9295   {
9296     enum
9297     {
9298       value = true
9299     };
9300   };
9301 
9302   template <>
9303   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9304   {
9305     enum
9306     {
9307       value = true
9308     };
9309   };
9310 
9311   template <>
9312   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9313   {
9314     enum
9315     {
9316       value = true
9317     };
9318   };
9319 
9320   template <>
9321   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9322   {
9323     enum
9324     {
9325       value = true
9326     };
9327   };
9328 
9329   template <>
9330   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9331   {
9332     enum
9333     {
9334       value = true
9335     };
9336   };
9337 
9338   template <>
9339   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9340   {
9341     enum
9342     {
9343       value = true
9344     };
9345   };
9346 
9347   template <>
9348   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9349   {
9350     enum
9351     {
9352       value = true
9353     };
9354   };
9355 
9356   template <>
9357   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9358   {
9359     enum
9360     {
9361       value = true
9362     };
9363   };
9364 
9365   template <>
9366   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9367   {
9368     enum
9369     {
9370       value = true
9371     };
9372   };
9373 
9374   //=== VK_VERSION_1_2 ===
9375   template <>
9376   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9377   {
9378     enum
9379     {
9380       value = true
9381     };
9382   };
9383 
9384   template <>
9385   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9386   {
9387     enum
9388     {
9389       value = true
9390     };
9391   };
9392 
9393   template <>
9394   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9395   {
9396     enum
9397     {
9398       value = true
9399     };
9400   };
9401 
9402   template <>
9403   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9404   {
9405     enum
9406     {
9407       value = true
9408     };
9409   };
9410 
9411   template <>
9412   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9413   {
9414     enum
9415     {
9416       value = true
9417     };
9418   };
9419 
9420   template <>
9421   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9422   {
9423     enum
9424     {
9425       value = true
9426     };
9427   };
9428 
9429   template <>
9430   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9431   {
9432     enum
9433     {
9434       value = true
9435     };
9436   };
9437 
9438   template <>
9439   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9440   {
9441     enum
9442     {
9443       value = true
9444     };
9445   };
9446 
9447   template <>
9448   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9449   {
9450     enum
9451     {
9452       value = true
9453     };
9454   };
9455 
9456   template <>
9457   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9458   {
9459     enum
9460     {
9461       value = true
9462     };
9463   };
9464 
9465   template <>
9466   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9467   {
9468     enum
9469     {
9470       value = true
9471     };
9472   };
9473 
9474   template <>
9475   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9476   {
9477     enum
9478     {
9479       value = true
9480     };
9481   };
9482 
9483   template <>
9484   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9485   {
9486     enum
9487     {
9488       value = true
9489     };
9490   };
9491 
9492   template <>
9493   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9494   {
9495     enum
9496     {
9497       value = true
9498     };
9499   };
9500 
9501   template <>
9502   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9503   {
9504     enum
9505     {
9506       value = true
9507     };
9508   };
9509 
9510   template <>
9511   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9512   {
9513     enum
9514     {
9515       value = true
9516     };
9517   };
9518 
9519   template <>
9520   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9521   {
9522     enum
9523     {
9524       value = true
9525     };
9526   };
9527 
9528   template <>
9529   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9530   {
9531     enum
9532     {
9533       value = true
9534     };
9535   };
9536 
9537   template <>
9538   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9539   {
9540     enum
9541     {
9542       value = true
9543     };
9544   };
9545 
9546   template <>
9547   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9548   {
9549     enum
9550     {
9551       value = true
9552     };
9553   };
9554 
9555   template <>
9556   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9557   {
9558     enum
9559     {
9560       value = true
9561     };
9562   };
9563 
9564   template <>
9565   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9566   {
9567     enum
9568     {
9569       value = true
9570     };
9571   };
9572 
9573   template <>
9574   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9575   {
9576     enum
9577     {
9578       value = true
9579     };
9580   };
9581 
9582   template <>
9583   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9584   {
9585     enum
9586     {
9587       value = true
9588     };
9589   };
9590 
9591   template <>
9592   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9593   {
9594     enum
9595     {
9596       value = true
9597     };
9598   };
9599 
9600   template <>
9601   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9602   {
9603     enum
9604     {
9605       value = true
9606     };
9607   };
9608 
9609   template <>
9610   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9611   {
9612     enum
9613     {
9614       value = true
9615     };
9616   };
9617 
9618   template <>
9619   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9620   {
9621     enum
9622     {
9623       value = true
9624     };
9625   };
9626 
9627   template <>
9628   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9629   {
9630     enum
9631     {
9632       value = true
9633     };
9634   };
9635 
9636   template <>
9637   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9638   {
9639     enum
9640     {
9641       value = true
9642     };
9643   };
9644 
9645   template <>
9646   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9647   {
9648     enum
9649     {
9650       value = true
9651     };
9652   };
9653 
9654   template <>
9655   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9656   {
9657     enum
9658     {
9659       value = true
9660     };
9661   };
9662 
9663   template <>
9664   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9665   {
9666     enum
9667     {
9668       value = true
9669     };
9670   };
9671 
9672   template <>
9673   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9674   {
9675     enum
9676     {
9677       value = true
9678     };
9679   };
9680 
9681   template <>
9682   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9683   {
9684     enum
9685     {
9686       value = true
9687     };
9688   };
9689 
9690   template <>
9691   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9692   {
9693     enum
9694     {
9695       value = true
9696     };
9697   };
9698 
9699   template <>
9700   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9701   {
9702     enum
9703     {
9704       value = true
9705     };
9706   };
9707 
9708   template <>
9709   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9710   {
9711     enum
9712     {
9713       value = true
9714     };
9715   };
9716 
9717   template <>
9718   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9719   {
9720     enum
9721     {
9722       value = true
9723     };
9724   };
9725 
9726   template <>
9727   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9728   {
9729     enum
9730     {
9731       value = true
9732     };
9733   };
9734 
9735   template <>
9736   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9737   {
9738     enum
9739     {
9740       value = true
9741     };
9742   };
9743 
9744   template <>
9745   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9746   {
9747     enum
9748     {
9749       value = true
9750     };
9751   };
9752 
9753   template <>
9754   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9755   {
9756     enum
9757     {
9758       value = true
9759     };
9760   };
9761 
9762   template <>
9763   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9764   {
9765     enum
9766     {
9767       value = true
9768     };
9769   };
9770 
9771   template <>
9772   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9773   {
9774     enum
9775     {
9776       value = true
9777     };
9778   };
9779 
9780   template <>
9781   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9782   {
9783     enum
9784     {
9785       value = true
9786     };
9787   };
9788 
9789   template <>
9790   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9791   {
9792     enum
9793     {
9794       value = true
9795     };
9796   };
9797 
9798   template <>
9799   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9800   {
9801     enum
9802     {
9803       value = true
9804     };
9805   };
9806 
9807   template <>
9808   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9809   {
9810     enum
9811     {
9812       value = true
9813     };
9814   };
9815 
9816   template <>
9817   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9818   {
9819     enum
9820     {
9821       value = true
9822     };
9823   };
9824 
9825   template <>
9826   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9827   {
9828     enum
9829     {
9830       value = true
9831     };
9832   };
9833 
9834   template <>
9835   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9836   {
9837     enum
9838     {
9839       value = true
9840     };
9841   };
9842 
9843   template <>
9844   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9845   {
9846     enum
9847     {
9848       value = true
9849     };
9850   };
9851 
9852   template <>
9853   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9854   {
9855     enum
9856     {
9857       value = true
9858     };
9859   };
9860 
9861   template <>
9862   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9863   {
9864     enum
9865     {
9866       value = true
9867     };
9868   };
9869 
9870   template <>
9871   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
9872   {
9873     enum
9874     {
9875       value = true
9876     };
9877   };
9878 
9879   template <>
9880   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
9881   {
9882     enum
9883     {
9884       value = true
9885     };
9886   };
9887 
9888   template <>
9889   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
9890   {
9891     enum
9892     {
9893       value = true
9894     };
9895   };
9896 
9897   //=== VK_VERSION_1_3 ===
9898   template <>
9899   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
9900   {
9901     enum
9902     {
9903       value = true
9904     };
9905   };
9906 
9907   template <>
9908   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
9909   {
9910     enum
9911     {
9912       value = true
9913     };
9914   };
9915 
9916   template <>
9917   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
9918   {
9919     enum
9920     {
9921       value = true
9922     };
9923   };
9924 
9925   template <>
9926   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
9927   {
9928     enum
9929     {
9930       value = true
9931     };
9932   };
9933 
9934   template <>
9935   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
9936   {
9937     enum
9938     {
9939       value = true
9940     };
9941   };
9942 
9943   template <>
9944   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
9945   {
9946     enum
9947     {
9948       value = true
9949     };
9950   };
9951 
9952   template <>
9953   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
9954   {
9955     enum
9956     {
9957       value = true
9958     };
9959   };
9960 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
9961   template <>
9962   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
9963   {
9964     enum
9965     {
9966       value = true
9967     };
9968   };
9969 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
9970   template <>
9971   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
9972   {
9973     enum
9974     {
9975       value = true
9976     };
9977   };
9978 
9979   template <>
9980   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
9981   {
9982     enum
9983     {
9984       value = true
9985     };
9986   };
9987 
9988   template <>
9989   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
9990   {
9991     enum
9992     {
9993       value = true
9994     };
9995   };
9996 
9997   template <>
9998   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
9999   {
10000     enum
10001     {
10002       value = true
10003     };
10004   };
10005 
10006   template <>
10007   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
10008   {
10009     enum
10010     {
10011       value = true
10012     };
10013   };
10014 
10015   template <>
10016   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
10017   {
10018     enum
10019     {
10020       value = true
10021     };
10022   };
10023 
10024   template <>
10025   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
10026   {
10027     enum
10028     {
10029       value = true
10030     };
10031   };
10032 
10033   template <>
10034   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
10035   {
10036     enum
10037     {
10038       value = true
10039     };
10040   };
10041 
10042   template <>
10043   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
10044   {
10045     enum
10046     {
10047       value = true
10048     };
10049   };
10050 
10051   template <>
10052   struct StructExtends<MemoryBarrier2, SubpassDependency2>
10053   {
10054     enum
10055     {
10056       value = true
10057     };
10058   };
10059 
10060   template <>
10061   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
10062   {
10063     enum
10064     {
10065       value = true
10066     };
10067   };
10068 
10069   template <>
10070   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
10071   {
10072     enum
10073     {
10074       value = true
10075     };
10076   };
10077 
10078   template <>
10079   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
10080   {
10081     enum
10082     {
10083       value = true
10084     };
10085   };
10086 
10087   template <>
10088   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
10089   {
10090     enum
10091     {
10092       value = true
10093     };
10094   };
10095 
10096   template <>
10097   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
10098   {
10099     enum
10100     {
10101       value = true
10102     };
10103   };
10104 
10105   template <>
10106   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
10107   {
10108     enum
10109     {
10110       value = true
10111     };
10112   };
10113 
10114   template <>
10115   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
10116   {
10117     enum
10118     {
10119       value = true
10120     };
10121   };
10122 
10123   template <>
10124   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
10125   {
10126     enum
10127     {
10128       value = true
10129     };
10130   };
10131 
10132   template <>
10133   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
10134   {
10135     enum
10136     {
10137       value = true
10138     };
10139   };
10140 
10141   template <>
10142   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
10143   {
10144     enum
10145     {
10146       value = true
10147     };
10148   };
10149 
10150   template <>
10151   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
10152   {
10153     enum
10154     {
10155       value = true
10156     };
10157   };
10158 
10159   template <>
10160   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
10161   {
10162     enum
10163     {
10164       value = true
10165     };
10166   };
10167 
10168   template <>
10169   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
10170   {
10171     enum
10172     {
10173       value = true
10174     };
10175   };
10176 
10177   template <>
10178   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
10179   {
10180     enum
10181     {
10182       value = true
10183     };
10184   };
10185 
10186   template <>
10187   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
10188   {
10189     enum
10190     {
10191       value = true
10192     };
10193   };
10194 
10195   template <>
10196   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
10197   {
10198     enum
10199     {
10200       value = true
10201     };
10202   };
10203 
10204   template <>
10205   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
10206   {
10207     enum
10208     {
10209       value = true
10210     };
10211   };
10212 
10213   template <>
10214   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
10215   {
10216     enum
10217     {
10218       value = true
10219     };
10220   };
10221 
10222   template <>
10223   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
10224   {
10225     enum
10226     {
10227       value = true
10228     };
10229   };
10230 
10231   template <>
10232   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
10233   {
10234     enum
10235     {
10236       value = true
10237     };
10238   };
10239 
10240   template <>
10241   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
10242   {
10243     enum
10244     {
10245       value = true
10246     };
10247   };
10248 
10249   template <>
10250   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
10251   {
10252     enum
10253     {
10254       value = true
10255     };
10256   };
10257 
10258   template <>
10259   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
10260   {
10261     enum
10262     {
10263       value = true
10264     };
10265   };
10266 
10267   template <>
10268   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
10269   {
10270     enum
10271     {
10272       value = true
10273     };
10274   };
10275 
10276   template <>
10277   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10278   {
10279     enum
10280     {
10281       value = true
10282     };
10283   };
10284 
10285   template <>
10286   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10287   {
10288     enum
10289     {
10290       value = true
10291     };
10292   };
10293 
10294   template <>
10295   struct StructExtends<FormatProperties3, FormatProperties2>
10296   {
10297     enum
10298     {
10299       value = true
10300     };
10301   };
10302 
10303   template <>
10304   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10305   {
10306     enum
10307     {
10308       value = true
10309     };
10310   };
10311 
10312   template <>
10313   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10314   {
10315     enum
10316     {
10317       value = true
10318     };
10319   };
10320 
10321   template <>
10322   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10323   {
10324     enum
10325     {
10326       value = true
10327     };
10328   };
10329 
10330   //=== VK_VERSION_1_4 ===
10331   template <>
10332   struct StructExtends<PhysicalDeviceVulkan14Features, PhysicalDeviceFeatures2>
10333   {
10334     enum
10335     {
10336       value = true
10337     };
10338   };
10339 
10340   template <>
10341   struct StructExtends<PhysicalDeviceVulkan14Features, DeviceCreateInfo>
10342   {
10343     enum
10344     {
10345       value = true
10346     };
10347   };
10348 
10349   template <>
10350   struct StructExtends<PhysicalDeviceVulkan14Properties, PhysicalDeviceProperties2>
10351   {
10352     enum
10353     {
10354       value = true
10355     };
10356   };
10357 
10358   template <>
10359   struct StructExtends<DeviceQueueGlobalPriorityCreateInfo, DeviceQueueCreateInfo>
10360   {
10361     enum
10362     {
10363       value = true
10364     };
10365   };
10366 
10367   template <>
10368   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, PhysicalDeviceFeatures2>
10369   {
10370     enum
10371     {
10372       value = true
10373     };
10374   };
10375 
10376   template <>
10377   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, DeviceCreateInfo>
10378   {
10379     enum
10380     {
10381       value = true
10382     };
10383   };
10384 
10385   template <>
10386   struct StructExtends<QueueFamilyGlobalPriorityProperties, QueueFamilyProperties2>
10387   {
10388     enum
10389     {
10390       value = true
10391     };
10392   };
10393 
10394   template <>
10395   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, PhysicalDeviceFeatures2>
10396   {
10397     enum
10398     {
10399       value = true
10400     };
10401   };
10402 
10403   template <>
10404   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, DeviceCreateInfo>
10405   {
10406     enum
10407     {
10408       value = true
10409     };
10410   };
10411 
10412   template <>
10413   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, PhysicalDeviceFeatures2>
10414   {
10415     enum
10416     {
10417       value = true
10418     };
10419   };
10420 
10421   template <>
10422   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, DeviceCreateInfo>
10423   {
10424     enum
10425     {
10426       value = true
10427     };
10428   };
10429 
10430   template <>
10431   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, PhysicalDeviceFeatures2>
10432   {
10433     enum
10434     {
10435       value = true
10436     };
10437   };
10438 
10439   template <>
10440   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, DeviceCreateInfo>
10441   {
10442     enum
10443     {
10444       value = true
10445     };
10446   };
10447 
10448   template <>
10449   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, PhysicalDeviceFeatures2>
10450   {
10451     enum
10452     {
10453       value = true
10454     };
10455   };
10456 
10457   template <>
10458   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, DeviceCreateInfo>
10459   {
10460     enum
10461     {
10462       value = true
10463     };
10464   };
10465 
10466   template <>
10467   struct StructExtends<PhysicalDeviceLineRasterizationProperties, PhysicalDeviceProperties2>
10468   {
10469     enum
10470     {
10471       value = true
10472     };
10473   };
10474 
10475   template <>
10476   struct StructExtends<PipelineRasterizationLineStateCreateInfo, PipelineRasterizationStateCreateInfo>
10477   {
10478     enum
10479     {
10480       value = true
10481     };
10482   };
10483 
10484   template <>
10485   struct StructExtends<PhysicalDeviceVertexAttributeDivisorProperties, PhysicalDeviceProperties2>
10486   {
10487     enum
10488     {
10489       value = true
10490     };
10491   };
10492 
10493   template <>
10494   struct StructExtends<PipelineVertexInputDivisorStateCreateInfo, PipelineVertexInputStateCreateInfo>
10495   {
10496     enum
10497     {
10498       value = true
10499     };
10500   };
10501 
10502   template <>
10503   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, PhysicalDeviceFeatures2>
10504   {
10505     enum
10506     {
10507       value = true
10508     };
10509   };
10510 
10511   template <>
10512   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, DeviceCreateInfo>
10513   {
10514     enum
10515     {
10516       value = true
10517     };
10518   };
10519 
10520   template <>
10521   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, PhysicalDeviceFeatures2>
10522   {
10523     enum
10524     {
10525       value = true
10526     };
10527   };
10528 
10529   template <>
10530   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, DeviceCreateInfo>
10531   {
10532     enum
10533     {
10534       value = true
10535     };
10536   };
10537 
10538   template <>
10539   struct StructExtends<PhysicalDeviceMaintenance5Features, PhysicalDeviceFeatures2>
10540   {
10541     enum
10542     {
10543       value = true
10544     };
10545   };
10546 
10547   template <>
10548   struct StructExtends<PhysicalDeviceMaintenance5Features, DeviceCreateInfo>
10549   {
10550     enum
10551     {
10552       value = true
10553     };
10554   };
10555 
10556   template <>
10557   struct StructExtends<PhysicalDeviceMaintenance5Properties, PhysicalDeviceProperties2>
10558   {
10559     enum
10560     {
10561       value = true
10562     };
10563   };
10564 
10565   template <>
10566   struct StructExtends<PipelineCreateFlags2CreateInfo, ComputePipelineCreateInfo>
10567   {
10568     enum
10569     {
10570       value = true
10571     };
10572   };
10573 
10574   template <>
10575   struct StructExtends<PipelineCreateFlags2CreateInfo, GraphicsPipelineCreateInfo>
10576   {
10577     enum
10578     {
10579       value = true
10580     };
10581   };
10582 
10583   template <>
10584   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoNV>
10585   {
10586     enum
10587     {
10588       value = true
10589     };
10590   };
10591 
10592   template <>
10593   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoKHR>
10594   {
10595     enum
10596     {
10597       value = true
10598     };
10599   };
10600 
10601   template <>
10602   struct StructExtends<BufferUsageFlags2CreateInfo, BufferViewCreateInfo>
10603   {
10604     enum
10605     {
10606       value = true
10607     };
10608   };
10609 
10610   template <>
10611   struct StructExtends<BufferUsageFlags2CreateInfo, BufferCreateInfo>
10612   {
10613     enum
10614     {
10615       value = true
10616     };
10617   };
10618 
10619   template <>
10620   struct StructExtends<BufferUsageFlags2CreateInfo, PhysicalDeviceExternalBufferInfo>
10621   {
10622     enum
10623     {
10624       value = true
10625     };
10626   };
10627 
10628   template <>
10629   struct StructExtends<BufferUsageFlags2CreateInfo, DescriptorBufferBindingInfoEXT>
10630   {
10631     enum
10632     {
10633       value = true
10634     };
10635   };
10636 
10637   template <>
10638   struct StructExtends<PhysicalDevicePushDescriptorProperties, PhysicalDeviceProperties2>
10639   {
10640     enum
10641     {
10642       value = true
10643     };
10644   };
10645 
10646   template <>
10647   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, PhysicalDeviceFeatures2>
10648   {
10649     enum
10650     {
10651       value = true
10652     };
10653   };
10654 
10655   template <>
10656   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, DeviceCreateInfo>
10657   {
10658     enum
10659     {
10660       value = true
10661     };
10662   };
10663 
10664   template <>
10665   struct StructExtends<RenderingAttachmentLocationInfo, GraphicsPipelineCreateInfo>
10666   {
10667     enum
10668     {
10669       value = true
10670     };
10671   };
10672 
10673   template <>
10674   struct StructExtends<RenderingAttachmentLocationInfo, CommandBufferInheritanceInfo>
10675   {
10676     enum
10677     {
10678       value = true
10679     };
10680   };
10681 
10682   template <>
10683   struct StructExtends<RenderingInputAttachmentIndexInfo, GraphicsPipelineCreateInfo>
10684   {
10685     enum
10686     {
10687       value = true
10688     };
10689   };
10690 
10691   template <>
10692   struct StructExtends<RenderingInputAttachmentIndexInfo, CommandBufferInheritanceInfo>
10693   {
10694     enum
10695     {
10696       value = true
10697     };
10698   };
10699 
10700   template <>
10701   struct StructExtends<PhysicalDeviceMaintenance6Features, PhysicalDeviceFeatures2>
10702   {
10703     enum
10704     {
10705       value = true
10706     };
10707   };
10708 
10709   template <>
10710   struct StructExtends<PhysicalDeviceMaintenance6Features, DeviceCreateInfo>
10711   {
10712     enum
10713     {
10714       value = true
10715     };
10716   };
10717 
10718   template <>
10719   struct StructExtends<PhysicalDeviceMaintenance6Properties, PhysicalDeviceProperties2>
10720   {
10721     enum
10722     {
10723       value = true
10724     };
10725   };
10726 
10727   template <>
10728   struct StructExtends<BindMemoryStatus, BindBufferMemoryInfo>
10729   {
10730     enum
10731     {
10732       value = true
10733     };
10734   };
10735 
10736   template <>
10737   struct StructExtends<BindMemoryStatus, BindImageMemoryInfo>
10738   {
10739     enum
10740     {
10741       value = true
10742     };
10743   };
10744 
10745   template <>
10746   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, PhysicalDeviceFeatures2>
10747   {
10748     enum
10749     {
10750       value = true
10751     };
10752   };
10753 
10754   template <>
10755   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, DeviceCreateInfo>
10756   {
10757     enum
10758     {
10759       value = true
10760     };
10761   };
10762 
10763   template <>
10764   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, PhysicalDeviceFeatures2>
10765   {
10766     enum
10767     {
10768       value = true
10769     };
10770   };
10771 
10772   template <>
10773   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, DeviceCreateInfo>
10774   {
10775     enum
10776     {
10777       value = true
10778     };
10779   };
10780 
10781   template <>
10782   struct StructExtends<PhysicalDevicePipelineRobustnessProperties, PhysicalDeviceProperties2>
10783   {
10784     enum
10785     {
10786       value = true
10787     };
10788   };
10789 
10790   template <>
10791   struct StructExtends<PipelineRobustnessCreateInfo, GraphicsPipelineCreateInfo>
10792   {
10793     enum
10794     {
10795       value = true
10796     };
10797   };
10798 
10799   template <>
10800   struct StructExtends<PipelineRobustnessCreateInfo, ComputePipelineCreateInfo>
10801   {
10802     enum
10803     {
10804       value = true
10805     };
10806   };
10807 
10808   template <>
10809   struct StructExtends<PipelineRobustnessCreateInfo, PipelineShaderStageCreateInfo>
10810   {
10811     enum
10812     {
10813       value = true
10814     };
10815   };
10816 
10817   template <>
10818   struct StructExtends<PipelineRobustnessCreateInfo, RayTracingPipelineCreateInfoKHR>
10819   {
10820     enum
10821     {
10822       value = true
10823     };
10824   };
10825 
10826   template <>
10827   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, PhysicalDeviceFeatures2>
10828   {
10829     enum
10830     {
10831       value = true
10832     };
10833   };
10834 
10835   template <>
10836   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, DeviceCreateInfo>
10837   {
10838     enum
10839     {
10840       value = true
10841     };
10842   };
10843 
10844   template <>
10845   struct StructExtends<PhysicalDeviceHostImageCopyProperties, PhysicalDeviceProperties2>
10846   {
10847     enum
10848     {
10849       value = true
10850     };
10851   };
10852 
10853   template <>
10854   struct StructExtends<SubresourceHostMemcpySize, SubresourceLayout2>
10855   {
10856     enum
10857     {
10858       value = true
10859     };
10860   };
10861 
10862   template <>
10863   struct StructExtends<HostImageCopyDevicePerformanceQuery, ImageFormatProperties2>
10864   {
10865     enum
10866     {
10867       value = true
10868     };
10869   };
10870 
10871   //=== VK_KHR_swapchain ===
10872   template <>
10873   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
10874   {
10875     enum
10876     {
10877       value = true
10878     };
10879   };
10880 
10881   template <>
10882   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
10883   {
10884     enum
10885     {
10886       value = true
10887     };
10888   };
10889 
10890   template <>
10891   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
10892   {
10893     enum
10894     {
10895       value = true
10896     };
10897   };
10898 
10899   template <>
10900   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
10901   {
10902     enum
10903     {
10904       value = true
10905     };
10906   };
10907 
10908   //=== VK_KHR_display_swapchain ===
10909   template <>
10910   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
10911   {
10912     enum
10913     {
10914       value = true
10915     };
10916   };
10917 
10918   //=== VK_EXT_debug_report ===
10919   template <>
10920   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
10921   {
10922     enum
10923     {
10924       value = true
10925     };
10926   };
10927 
10928   //=== VK_AMD_rasterization_order ===
10929   template <>
10930   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
10931   {
10932     enum
10933     {
10934       value = true
10935     };
10936   };
10937 
10938   //=== VK_KHR_video_queue ===
10939   template <>
10940   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
10941   {
10942     enum
10943     {
10944       value = true
10945     };
10946   };
10947 
10948   template <>
10949   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
10950   {
10951     enum
10952     {
10953       value = true
10954     };
10955   };
10956 
10957   template <>
10958   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
10959   {
10960     enum
10961     {
10962       value = true
10963     };
10964   };
10965 
10966   template <>
10967   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
10968   {
10969     enum
10970     {
10971       value = true
10972     };
10973   };
10974 
10975   template <>
10976   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
10977   {
10978     enum
10979     {
10980       value = true
10981     };
10982   };
10983 
10984   template <>
10985   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
10986   {
10987     enum
10988     {
10989       value = true
10990     };
10991   };
10992 
10993   template <>
10994   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
10995   {
10996     enum
10997     {
10998       value = true
10999     };
11000   };
11001 
11002   //=== VK_KHR_video_decode_queue ===
11003   template <>
11004   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
11005   {
11006     enum
11007     {
11008       value = true
11009     };
11010   };
11011 
11012   template <>
11013   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
11014   {
11015     enum
11016     {
11017       value = true
11018     };
11019   };
11020 
11021   template <>
11022   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
11023   {
11024     enum
11025     {
11026       value = true
11027     };
11028   };
11029 
11030   //=== VK_NV_dedicated_allocation ===
11031   template <>
11032   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
11033   {
11034     enum
11035     {
11036       value = true
11037     };
11038   };
11039 
11040   template <>
11041   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
11042   {
11043     enum
11044     {
11045       value = true
11046     };
11047   };
11048 
11049   template <>
11050   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
11051   {
11052     enum
11053     {
11054       value = true
11055     };
11056   };
11057 
11058   //=== VK_EXT_transform_feedback ===
11059   template <>
11060   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
11061   {
11062     enum
11063     {
11064       value = true
11065     };
11066   };
11067 
11068   template <>
11069   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
11070   {
11071     enum
11072     {
11073       value = true
11074     };
11075   };
11076 
11077   template <>
11078   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
11079   {
11080     enum
11081     {
11082       value = true
11083     };
11084   };
11085 
11086   template <>
11087   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11088   {
11089     enum
11090     {
11091       value = true
11092     };
11093   };
11094 
11095   //=== VK_NVX_binary_import ===
11096   template <>
11097   struct StructExtends<CuModuleTexturingModeCreateInfoNVX, CuModuleCreateInfoNVX>
11098   {
11099     enum
11100     {
11101       value = true
11102     };
11103   };
11104 
11105   //=== VK_KHR_video_encode_h264 ===
11106   template <>
11107   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
11108   {
11109     enum
11110     {
11111       value = true
11112     };
11113   };
11114 
11115   template <>
11116   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
11117   {
11118     enum
11119     {
11120       value = true
11121     };
11122   };
11123 
11124   template <>
11125   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
11126   {
11127     enum
11128     {
11129       value = true
11130     };
11131   };
11132 
11133   template <>
11134   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11135   {
11136     enum
11137     {
11138       value = true
11139     };
11140   };
11141 
11142   template <>
11143   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11144   {
11145     enum
11146     {
11147       value = true
11148     };
11149   };
11150 
11151   template <>
11152   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
11153   {
11154     enum
11155     {
11156       value = true
11157     };
11158   };
11159 
11160   template <>
11161   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
11162   {
11163     enum
11164     {
11165       value = true
11166     };
11167   };
11168 
11169   template <>
11170   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
11171   {
11172     enum
11173     {
11174       value = true
11175     };
11176   };
11177 
11178   template <>
11179   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11180   {
11181     enum
11182     {
11183       value = true
11184     };
11185   };
11186 
11187   template <>
11188   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11189   {
11190     enum
11191     {
11192       value = true
11193     };
11194   };
11195 
11196   template <>
11197   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11198   {
11199     enum
11200     {
11201       value = true
11202     };
11203   };
11204 
11205   template <>
11206   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
11207   {
11208     enum
11209     {
11210       value = true
11211     };
11212   };
11213 
11214   template <>
11215   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
11216   {
11217     enum
11218     {
11219       value = true
11220     };
11221   };
11222 
11223   template <>
11224   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11225   {
11226     enum
11227     {
11228       value = true
11229     };
11230   };
11231 
11232   template <>
11233   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11234   {
11235     enum
11236     {
11237       value = true
11238     };
11239   };
11240 
11241   //=== VK_KHR_video_encode_h265 ===
11242   template <>
11243   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11244   {
11245     enum
11246     {
11247       value = true
11248     };
11249   };
11250 
11251   template <>
11252   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
11253   {
11254     enum
11255     {
11256       value = true
11257     };
11258   };
11259 
11260   template <>
11261   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
11262   {
11263     enum
11264     {
11265       value = true
11266     };
11267   };
11268 
11269   template <>
11270   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11271   {
11272     enum
11273     {
11274       value = true
11275     };
11276   };
11277 
11278   template <>
11279   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11280   {
11281     enum
11282     {
11283       value = true
11284     };
11285   };
11286 
11287   template <>
11288   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
11289   {
11290     enum
11291     {
11292       value = true
11293     };
11294   };
11295 
11296   template <>
11297   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
11298   {
11299     enum
11300     {
11301       value = true
11302     };
11303   };
11304 
11305   template <>
11306   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
11307   {
11308     enum
11309     {
11310       value = true
11311     };
11312   };
11313 
11314   template <>
11315   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11316   {
11317     enum
11318     {
11319       value = true
11320     };
11321   };
11322 
11323   template <>
11324   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11325   {
11326     enum
11327     {
11328       value = true
11329     };
11330   };
11331 
11332   template <>
11333   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11334   {
11335     enum
11336     {
11337       value = true
11338     };
11339   };
11340 
11341   template <>
11342   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
11343   {
11344     enum
11345     {
11346       value = true
11347     };
11348   };
11349 
11350   template <>
11351   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
11352   {
11353     enum
11354     {
11355       value = true
11356     };
11357   };
11358 
11359   template <>
11360   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11361   {
11362     enum
11363     {
11364       value = true
11365     };
11366   };
11367 
11368   template <>
11369   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11370   {
11371     enum
11372     {
11373       value = true
11374     };
11375   };
11376 
11377   //=== VK_KHR_video_decode_h264 ===
11378   template <>
11379   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11380   {
11381     enum
11382     {
11383       value = true
11384     };
11385   };
11386 
11387   template <>
11388   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11389   {
11390     enum
11391     {
11392       value = true
11393     };
11394   };
11395 
11396   template <>
11397   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
11398   {
11399     enum
11400     {
11401       value = true
11402     };
11403   };
11404 
11405   template <>
11406   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11407   {
11408     enum
11409     {
11410       value = true
11411     };
11412   };
11413 
11414   template <>
11415   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11416   {
11417     enum
11418     {
11419       value = true
11420     };
11421   };
11422 
11423   template <>
11424   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
11425   {
11426     enum
11427     {
11428       value = true
11429     };
11430   };
11431 
11432   template <>
11433   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11434   {
11435     enum
11436     {
11437       value = true
11438     };
11439   };
11440 
11441   //=== VK_AMD_texture_gather_bias_lod ===
11442   template <>
11443   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
11444   {
11445     enum
11446     {
11447       value = true
11448     };
11449   };
11450 
11451   //=== VK_NV_corner_sampled_image ===
11452   template <>
11453   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
11454   {
11455     enum
11456     {
11457       value = true
11458     };
11459   };
11460 
11461   template <>
11462   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
11463   {
11464     enum
11465     {
11466       value = true
11467     };
11468   };
11469 
11470   //=== VK_NV_external_memory ===
11471   template <>
11472   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
11473   {
11474     enum
11475     {
11476       value = true
11477     };
11478   };
11479 
11480   template <>
11481   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
11482   {
11483     enum
11484     {
11485       value = true
11486     };
11487   };
11488 
11489 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11490   //=== VK_NV_external_memory_win32 ===
11491   template <>
11492   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11493   {
11494     enum
11495     {
11496       value = true
11497     };
11498   };
11499 
11500   template <>
11501   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11502   {
11503     enum
11504     {
11505       value = true
11506     };
11507   };
11508 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11509 
11510 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11511   //=== VK_NV_win32_keyed_mutex ===
11512   template <>
11513   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
11514   {
11515     enum
11516     {
11517       value = true
11518     };
11519   };
11520 
11521   template <>
11522   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
11523   {
11524     enum
11525     {
11526       value = true
11527     };
11528   };
11529 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11530 
11531   //=== VK_EXT_validation_flags ===
11532   template <>
11533   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
11534   {
11535     enum
11536     {
11537       value = true
11538     };
11539   };
11540 
11541   //=== VK_EXT_astc_decode_mode ===
11542   template <>
11543   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
11544   {
11545     enum
11546     {
11547       value = true
11548     };
11549   };
11550 
11551   template <>
11552   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
11553   {
11554     enum
11555     {
11556       value = true
11557     };
11558   };
11559 
11560   template <>
11561   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
11562   {
11563     enum
11564     {
11565       value = true
11566     };
11567   };
11568 
11569 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11570   //=== VK_KHR_external_memory_win32 ===
11571   template <>
11572   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11573   {
11574     enum
11575     {
11576       value = true
11577     };
11578   };
11579 
11580   template <>
11581   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11582   {
11583     enum
11584     {
11585       value = true
11586     };
11587   };
11588 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11589 
11590   //=== VK_KHR_external_memory_fd ===
11591   template <>
11592   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
11593   {
11594     enum
11595     {
11596       value = true
11597     };
11598   };
11599 
11600 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11601   //=== VK_KHR_win32_keyed_mutex ===
11602   template <>
11603   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
11604   {
11605     enum
11606     {
11607       value = true
11608     };
11609   };
11610 
11611   template <>
11612   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
11613   {
11614     enum
11615     {
11616       value = true
11617     };
11618   };
11619 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11620 
11621 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11622   //=== VK_KHR_external_semaphore_win32 ===
11623   template <>
11624   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
11625   {
11626     enum
11627     {
11628       value = true
11629     };
11630   };
11631 
11632   template <>
11633   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
11634   {
11635     enum
11636     {
11637       value = true
11638     };
11639   };
11640 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11641 
11642   //=== VK_EXT_conditional_rendering ===
11643   template <>
11644   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
11645   {
11646     enum
11647     {
11648       value = true
11649     };
11650   };
11651 
11652   template <>
11653   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
11654   {
11655     enum
11656     {
11657       value = true
11658     };
11659   };
11660 
11661   template <>
11662   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
11663   {
11664     enum
11665     {
11666       value = true
11667     };
11668   };
11669 
11670   //=== VK_KHR_incremental_present ===
11671   template <>
11672   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
11673   {
11674     enum
11675     {
11676       value = true
11677     };
11678   };
11679 
11680   //=== VK_NV_clip_space_w_scaling ===
11681   template <>
11682   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
11683   {
11684     enum
11685     {
11686       value = true
11687     };
11688   };
11689 
11690   //=== VK_EXT_display_control ===
11691   template <>
11692   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11693   {
11694     enum
11695     {
11696       value = true
11697     };
11698   };
11699 
11700   //=== VK_GOOGLE_display_timing ===
11701   template <>
11702   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11703   {
11704     enum
11705     {
11706       value = true
11707     };
11708   };
11709 
11710   //=== VK_NVX_multiview_per_view_attributes ===
11711   template <>
11712   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11713   {
11714     enum
11715     {
11716       value = true
11717     };
11718   };
11719 
11720   template <>
11721   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
11722   {
11723     enum
11724     {
11725       value = true
11726     };
11727   };
11728 
11729   template <>
11730   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
11731   {
11732     enum
11733     {
11734       value = true
11735     };
11736   };
11737 
11738   template <>
11739   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
11740   {
11741     enum
11742     {
11743       value = true
11744     };
11745   };
11746 
11747   //=== VK_NV_viewport_swizzle ===
11748   template <>
11749   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11750   {
11751     enum
11752     {
11753       value = true
11754     };
11755   };
11756 
11757   //=== VK_EXT_discard_rectangles ===
11758   template <>
11759   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11760   {
11761     enum
11762     {
11763       value = true
11764     };
11765   };
11766 
11767   template <>
11768   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11769   {
11770     enum
11771     {
11772       value = true
11773     };
11774   };
11775 
11776   //=== VK_EXT_conservative_rasterization ===
11777   template <>
11778   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11779   {
11780     enum
11781     {
11782       value = true
11783     };
11784   };
11785 
11786   template <>
11787   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11788   {
11789     enum
11790     {
11791       value = true
11792     };
11793   };
11794 
11795   //=== VK_EXT_depth_clip_enable ===
11796   template <>
11797   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11798   {
11799     enum
11800     {
11801       value = true
11802     };
11803   };
11804 
11805   template <>
11806   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11807   {
11808     enum
11809     {
11810       value = true
11811     };
11812   };
11813 
11814   template <>
11815   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11816   {
11817     enum
11818     {
11819       value = true
11820     };
11821   };
11822 
11823   //=== VK_IMG_relaxed_line_rasterization ===
11824   template <>
11825   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11826   {
11827     enum
11828     {
11829       value = true
11830     };
11831   };
11832 
11833   template <>
11834   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11835   {
11836     enum
11837     {
11838       value = true
11839     };
11840   };
11841 
11842   //=== VK_KHR_shared_presentable_image ===
11843   template <>
11844   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11845   {
11846     enum
11847     {
11848       value = true
11849     };
11850   };
11851 
11852 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11853   //=== VK_KHR_external_fence_win32 ===
11854   template <>
11855   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11856   {
11857     enum
11858     {
11859       value = true
11860     };
11861   };
11862 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11863 
11864   //=== VK_KHR_performance_query ===
11865   template <>
11866   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
11867   {
11868     enum
11869     {
11870       value = true
11871     };
11872   };
11873 
11874   template <>
11875   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
11876   {
11877     enum
11878     {
11879       value = true
11880     };
11881   };
11882 
11883   template <>
11884   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
11885   {
11886     enum
11887     {
11888       value = true
11889     };
11890   };
11891 
11892   template <>
11893   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
11894   {
11895     enum
11896     {
11897       value = true
11898     };
11899   };
11900 
11901   template <>
11902   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
11903   {
11904     enum
11905     {
11906       value = true
11907     };
11908   };
11909 
11910   template <>
11911   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
11912   {
11913     enum
11914     {
11915       value = true
11916     };
11917   };
11918 
11919   //=== VK_EXT_debug_utils ===
11920   template <>
11921   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
11922   {
11923     enum
11924     {
11925       value = true
11926     };
11927   };
11928 
11929   template <>
11930   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
11931   {
11932     enum
11933     {
11934       value = true
11935     };
11936   };
11937 
11938 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
11939   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
11940   template <>
11941   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
11942   {
11943     enum
11944     {
11945       value = true
11946     };
11947   };
11948 
11949   template <>
11950   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
11951   {
11952     enum
11953     {
11954       value = true
11955     };
11956   };
11957 
11958   template <>
11959   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
11960   {
11961     enum
11962     {
11963       value = true
11964     };
11965   };
11966 
11967   template <>
11968   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
11969   {
11970     enum
11971     {
11972       value = true
11973     };
11974   };
11975 
11976   template <>
11977   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
11978   {
11979     enum
11980     {
11981       value = true
11982     };
11983   };
11984 
11985   template <>
11986   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
11987   {
11988     enum
11989     {
11990       value = true
11991     };
11992   };
11993 
11994   template <>
11995   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
11996   {
11997     enum
11998     {
11999       value = true
12000     };
12001   };
12002 
12003   template <>
12004   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
12005   {
12006     enum
12007     {
12008       value = true
12009     };
12010   };
12011 
12012   template <>
12013   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
12014   {
12015     enum
12016     {
12017       value = true
12018     };
12019   };
12020 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
12021 
12022 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12023   //=== VK_AMDX_shader_enqueue ===
12024   template <>
12025   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
12026   {
12027     enum
12028     {
12029       value = true
12030     };
12031   };
12032 
12033   template <>
12034   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
12035   {
12036     enum
12037     {
12038       value = true
12039     };
12040   };
12041 
12042   template <>
12043   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
12044   {
12045     enum
12046     {
12047       value = true
12048     };
12049   };
12050 
12051   template <>
12052   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
12053   {
12054     enum
12055     {
12056       value = true
12057     };
12058   };
12059 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12060 
12061   //=== VK_AMD_mixed_attachment_samples ===
12062   template <>
12063   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
12064   {
12065     enum
12066     {
12067       value = true
12068     };
12069   };
12070 
12071   template <>
12072   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
12073   {
12074     enum
12075     {
12076       value = true
12077     };
12078   };
12079 
12080   //=== VK_EXT_sample_locations ===
12081   template <>
12082   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
12083   {
12084     enum
12085     {
12086       value = true
12087     };
12088   };
12089 
12090   template <>
12091   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
12092   {
12093     enum
12094     {
12095       value = true
12096     };
12097   };
12098 
12099   template <>
12100   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
12101   {
12102     enum
12103     {
12104       value = true
12105     };
12106   };
12107 
12108   template <>
12109   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
12110   {
12111     enum
12112     {
12113       value = true
12114     };
12115   };
12116 
12117   template <>
12118   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
12119   {
12120     enum
12121     {
12122       value = true
12123     };
12124   };
12125 
12126   //=== VK_EXT_blend_operation_advanced ===
12127   template <>
12128   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
12129   {
12130     enum
12131     {
12132       value = true
12133     };
12134   };
12135 
12136   template <>
12137   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
12138   {
12139     enum
12140     {
12141       value = true
12142     };
12143   };
12144 
12145   template <>
12146   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
12147   {
12148     enum
12149     {
12150       value = true
12151     };
12152   };
12153 
12154   template <>
12155   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
12156   {
12157     enum
12158     {
12159       value = true
12160     };
12161   };
12162 
12163   //=== VK_NV_fragment_coverage_to_color ===
12164   template <>
12165   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12166   {
12167     enum
12168     {
12169       value = true
12170     };
12171   };
12172 
12173   //=== VK_KHR_acceleration_structure ===
12174   template <>
12175   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
12176   {
12177     enum
12178     {
12179       value = true
12180     };
12181   };
12182 
12183   template <>
12184   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
12185   {
12186     enum
12187     {
12188       value = true
12189     };
12190   };
12191 
12192   template <>
12193   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
12194   {
12195     enum
12196     {
12197       value = true
12198     };
12199   };
12200 
12201   template <>
12202   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
12203   {
12204     enum
12205     {
12206       value = true
12207     };
12208   };
12209 
12210   //=== VK_KHR_ray_tracing_pipeline ===
12211   template <>
12212   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
12213   {
12214     enum
12215     {
12216       value = true
12217     };
12218   };
12219 
12220   template <>
12221   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
12222   {
12223     enum
12224     {
12225       value = true
12226     };
12227   };
12228 
12229   template <>
12230   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
12231   {
12232     enum
12233     {
12234       value = true
12235     };
12236   };
12237 
12238   //=== VK_KHR_ray_query ===
12239   template <>
12240   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
12241   {
12242     enum
12243     {
12244       value = true
12245     };
12246   };
12247 
12248   template <>
12249   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
12250   {
12251     enum
12252     {
12253       value = true
12254     };
12255   };
12256 
12257   //=== VK_NV_framebuffer_mixed_samples ===
12258   template <>
12259   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12260   {
12261     enum
12262     {
12263       value = true
12264     };
12265   };
12266 
12267   //=== VK_NV_shader_sm_builtins ===
12268   template <>
12269   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
12270   {
12271     enum
12272     {
12273       value = true
12274     };
12275   };
12276 
12277   template <>
12278   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
12279   {
12280     enum
12281     {
12282       value = true
12283     };
12284   };
12285 
12286   template <>
12287   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
12288   {
12289     enum
12290     {
12291       value = true
12292     };
12293   };
12294 
12295   //=== VK_EXT_image_drm_format_modifier ===
12296   template <>
12297   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
12298   {
12299     enum
12300     {
12301       value = true
12302     };
12303   };
12304 
12305   template <>
12306   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
12307   {
12308     enum
12309     {
12310       value = true
12311     };
12312   };
12313 
12314   template <>
12315   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
12316   {
12317     enum
12318     {
12319       value = true
12320     };
12321   };
12322 
12323   template <>
12324   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
12325   {
12326     enum
12327     {
12328       value = true
12329     };
12330   };
12331 
12332   template <>
12333   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
12334   {
12335     enum
12336     {
12337       value = true
12338     };
12339   };
12340 
12341   //=== VK_EXT_validation_cache ===
12342   template <>
12343   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
12344   {
12345     enum
12346     {
12347       value = true
12348     };
12349   };
12350 
12351   template <>
12352   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
12353   {
12354     enum
12355     {
12356       value = true
12357     };
12358   };
12359 
12360 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12361   //=== VK_KHR_portability_subset ===
12362   template <>
12363   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
12364   {
12365     enum
12366     {
12367       value = true
12368     };
12369   };
12370 
12371   template <>
12372   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
12373   {
12374     enum
12375     {
12376       value = true
12377     };
12378   };
12379 
12380   template <>
12381   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
12382   {
12383     enum
12384     {
12385       value = true
12386     };
12387   };
12388 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12389 
12390   //=== VK_NV_shading_rate_image ===
12391   template <>
12392   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
12393   {
12394     enum
12395     {
12396       value = true
12397     };
12398   };
12399 
12400   template <>
12401   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
12402   {
12403     enum
12404     {
12405       value = true
12406     };
12407   };
12408 
12409   template <>
12410   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
12411   {
12412     enum
12413     {
12414       value = true
12415     };
12416   };
12417 
12418   template <>
12419   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
12420   {
12421     enum
12422     {
12423       value = true
12424     };
12425   };
12426 
12427   template <>
12428   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
12429   {
12430     enum
12431     {
12432       value = true
12433     };
12434   };
12435 
12436   //=== VK_NV_ray_tracing ===
12437   template <>
12438   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
12439   {
12440     enum
12441     {
12442       value = true
12443     };
12444   };
12445 
12446   template <>
12447   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
12448   {
12449     enum
12450     {
12451       value = true
12452     };
12453   };
12454 
12455   //=== VK_NV_representative_fragment_test ===
12456   template <>
12457   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
12458   {
12459     enum
12460     {
12461       value = true
12462     };
12463   };
12464 
12465   template <>
12466   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
12467   {
12468     enum
12469     {
12470       value = true
12471     };
12472   };
12473 
12474   template <>
12475   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
12476   {
12477     enum
12478     {
12479       value = true
12480     };
12481   };
12482 
12483   //=== VK_EXT_filter_cubic ===
12484   template <>
12485   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
12486   {
12487     enum
12488     {
12489       value = true
12490     };
12491   };
12492 
12493   template <>
12494   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
12495   {
12496     enum
12497     {
12498       value = true
12499     };
12500   };
12501 
12502   //=== VK_EXT_external_memory_host ===
12503   template <>
12504   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
12505   {
12506     enum
12507     {
12508       value = true
12509     };
12510   };
12511 
12512   template <>
12513   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
12514   {
12515     enum
12516     {
12517       value = true
12518     };
12519   };
12520 
12521   //=== VK_KHR_shader_clock ===
12522   template <>
12523   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
12524   {
12525     enum
12526     {
12527       value = true
12528     };
12529   };
12530 
12531   template <>
12532   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
12533   {
12534     enum
12535     {
12536       value = true
12537     };
12538   };
12539 
12540   //=== VK_AMD_pipeline_compiler_control ===
12541   template <>
12542   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
12543   {
12544     enum
12545     {
12546       value = true
12547     };
12548   };
12549 
12550   template <>
12551   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
12552   {
12553     enum
12554     {
12555       value = true
12556     };
12557   };
12558 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12559   template <>
12560   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
12561   {
12562     enum
12563     {
12564       value = true
12565     };
12566   };
12567 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12568 
12569   //=== VK_AMD_shader_core_properties ===
12570   template <>
12571   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
12572   {
12573     enum
12574     {
12575       value = true
12576     };
12577   };
12578 
12579   //=== VK_KHR_video_decode_h265 ===
12580   template <>
12581   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
12582   {
12583     enum
12584     {
12585       value = true
12586     };
12587   };
12588 
12589   template <>
12590   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
12591   {
12592     enum
12593     {
12594       value = true
12595     };
12596   };
12597 
12598   template <>
12599   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
12600   {
12601     enum
12602     {
12603       value = true
12604     };
12605   };
12606 
12607   template <>
12608   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
12609   {
12610     enum
12611     {
12612       value = true
12613     };
12614   };
12615 
12616   template <>
12617   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
12618   {
12619     enum
12620     {
12621       value = true
12622     };
12623   };
12624 
12625   template <>
12626   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
12627   {
12628     enum
12629     {
12630       value = true
12631     };
12632   };
12633 
12634   template <>
12635   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
12636   {
12637     enum
12638     {
12639       value = true
12640     };
12641   };
12642 
12643   //=== VK_AMD_memory_overallocation_behavior ===
12644   template <>
12645   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
12646   {
12647     enum
12648     {
12649       value = true
12650     };
12651   };
12652 
12653   //=== VK_EXT_vertex_attribute_divisor ===
12654   template <>
12655   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
12656   {
12657     enum
12658     {
12659       value = true
12660     };
12661   };
12662 
12663 #  if defined( VK_USE_PLATFORM_GGP )
12664   //=== VK_GGP_frame_token ===
12665   template <>
12666   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
12667   {
12668     enum
12669     {
12670       value = true
12671     };
12672   };
12673 #  endif /*VK_USE_PLATFORM_GGP*/
12674 
12675   //=== VK_NV_mesh_shader ===
12676   template <>
12677   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
12678   {
12679     enum
12680     {
12681       value = true
12682     };
12683   };
12684 
12685   template <>
12686   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12687   {
12688     enum
12689     {
12690       value = true
12691     };
12692   };
12693 
12694   template <>
12695   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12696   {
12697     enum
12698     {
12699       value = true
12700     };
12701   };
12702 
12703   //=== VK_NV_shader_image_footprint ===
12704   template <>
12705   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12706   {
12707     enum
12708     {
12709       value = true
12710     };
12711   };
12712 
12713   template <>
12714   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12715   {
12716     enum
12717     {
12718       value = true
12719     };
12720   };
12721 
12722   //=== VK_NV_scissor_exclusive ===
12723   template <>
12724   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12725   {
12726     enum
12727     {
12728       value = true
12729     };
12730   };
12731 
12732   template <>
12733   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12734   {
12735     enum
12736     {
12737       value = true
12738     };
12739   };
12740 
12741   template <>
12742   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12743   {
12744     enum
12745     {
12746       value = true
12747     };
12748   };
12749 
12750   //=== VK_NV_device_diagnostic_checkpoints ===
12751   template <>
12752   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12753   {
12754     enum
12755     {
12756       value = true
12757     };
12758   };
12759 
12760   template <>
12761   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
12762   {
12763     enum
12764     {
12765       value = true
12766     };
12767   };
12768 
12769   //=== VK_INTEL_shader_integer_functions2 ===
12770   template <>
12771   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12772   {
12773     enum
12774     {
12775       value = true
12776     };
12777   };
12778 
12779   template <>
12780   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12781   {
12782     enum
12783     {
12784       value = true
12785     };
12786   };
12787 
12788   //=== VK_INTEL_performance_query ===
12789   template <>
12790   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12791   {
12792     enum
12793     {
12794       value = true
12795     };
12796   };
12797 
12798   //=== VK_EXT_pci_bus_info ===
12799   template <>
12800   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12801   {
12802     enum
12803     {
12804       value = true
12805     };
12806   };
12807 
12808   //=== VK_AMD_display_native_hdr ===
12809   template <>
12810   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12811   {
12812     enum
12813     {
12814       value = true
12815     };
12816   };
12817 
12818   template <>
12819   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12820   {
12821     enum
12822     {
12823       value = true
12824     };
12825   };
12826 
12827   //=== VK_EXT_fragment_density_map ===
12828   template <>
12829   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12830   {
12831     enum
12832     {
12833       value = true
12834     };
12835   };
12836 
12837   template <>
12838   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12839   {
12840     enum
12841     {
12842       value = true
12843     };
12844   };
12845 
12846   template <>
12847   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12848   {
12849     enum
12850     {
12851       value = true
12852     };
12853   };
12854 
12855   template <>
12856   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12857   {
12858     enum
12859     {
12860       value = true
12861     };
12862   };
12863 
12864   template <>
12865   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
12866   {
12867     enum
12868     {
12869       value = true
12870     };
12871   };
12872 
12873   template <>
12874   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
12875   {
12876     enum
12877     {
12878       value = true
12879     };
12880   };
12881 
12882   //=== VK_KHR_fragment_shading_rate ===
12883   template <>
12884   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
12885   {
12886     enum
12887     {
12888       value = true
12889     };
12890   };
12891 
12892   template <>
12893   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
12894   {
12895     enum
12896     {
12897       value = true
12898     };
12899   };
12900 
12901   template <>
12902   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
12903   {
12904     enum
12905     {
12906       value = true
12907     };
12908   };
12909 
12910   template <>
12911   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
12912   {
12913     enum
12914     {
12915       value = true
12916     };
12917   };
12918 
12919   template <>
12920   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
12921   {
12922     enum
12923     {
12924       value = true
12925     };
12926   };
12927 
12928   template <>
12929   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
12930   {
12931     enum
12932     {
12933       value = true
12934     };
12935   };
12936 
12937   //=== VK_AMD_shader_core_properties2 ===
12938   template <>
12939   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
12940   {
12941     enum
12942     {
12943       value = true
12944     };
12945   };
12946 
12947   //=== VK_AMD_device_coherent_memory ===
12948   template <>
12949   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
12950   {
12951     enum
12952     {
12953       value = true
12954     };
12955   };
12956 
12957   template <>
12958   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
12959   {
12960     enum
12961     {
12962       value = true
12963     };
12964   };
12965 
12966   //=== VK_EXT_shader_image_atomic_int64 ===
12967   template <>
12968   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
12969   {
12970     enum
12971     {
12972       value = true
12973     };
12974   };
12975 
12976   template <>
12977   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
12978   {
12979     enum
12980     {
12981       value = true
12982     };
12983   };
12984 
12985   //=== VK_KHR_shader_quad_control ===
12986   template <>
12987   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, PhysicalDeviceFeatures2>
12988   {
12989     enum
12990     {
12991       value = true
12992     };
12993   };
12994 
12995   template <>
12996   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, DeviceCreateInfo>
12997   {
12998     enum
12999     {
13000       value = true
13001     };
13002   };
13003 
13004   //=== VK_EXT_memory_budget ===
13005   template <>
13006   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
13007   {
13008     enum
13009     {
13010       value = true
13011     };
13012   };
13013 
13014   //=== VK_EXT_memory_priority ===
13015   template <>
13016   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
13017   {
13018     enum
13019     {
13020       value = true
13021     };
13022   };
13023 
13024   template <>
13025   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
13026   {
13027     enum
13028     {
13029       value = true
13030     };
13031   };
13032 
13033   template <>
13034   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
13035   {
13036     enum
13037     {
13038       value = true
13039     };
13040   };
13041 
13042   //=== VK_KHR_surface_protected_capabilities ===
13043   template <>
13044   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
13045   {
13046     enum
13047     {
13048       value = true
13049     };
13050   };
13051 
13052   //=== VK_NV_dedicated_allocation_image_aliasing ===
13053   template <>
13054   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
13055   {
13056     enum
13057     {
13058       value = true
13059     };
13060   };
13061 
13062   template <>
13063   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
13064   {
13065     enum
13066     {
13067       value = true
13068     };
13069   };
13070 
13071   //=== VK_EXT_buffer_device_address ===
13072   template <>
13073   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
13074   {
13075     enum
13076     {
13077       value = true
13078     };
13079   };
13080 
13081   template <>
13082   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
13083   {
13084     enum
13085     {
13086       value = true
13087     };
13088   };
13089 
13090   template <>
13091   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
13092   {
13093     enum
13094     {
13095       value = true
13096     };
13097   };
13098 
13099   //=== VK_EXT_validation_features ===
13100   template <>
13101   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
13102   {
13103     enum
13104     {
13105       value = true
13106     };
13107   };
13108 
13109   template <>
13110   struct StructExtends<ValidationFeaturesEXT, ShaderModuleCreateInfo>
13111   {
13112     enum
13113     {
13114       value = true
13115     };
13116   };
13117 
13118   template <>
13119   struct StructExtends<ValidationFeaturesEXT, ShaderCreateInfoEXT>
13120   {
13121     enum
13122     {
13123       value = true
13124     };
13125   };
13126 
13127   //=== VK_KHR_present_wait ===
13128   template <>
13129   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
13130   {
13131     enum
13132     {
13133       value = true
13134     };
13135   };
13136 
13137   template <>
13138   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
13139   {
13140     enum
13141     {
13142       value = true
13143     };
13144   };
13145 
13146   //=== VK_NV_cooperative_matrix ===
13147   template <>
13148   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
13149   {
13150     enum
13151     {
13152       value = true
13153     };
13154   };
13155 
13156   template <>
13157   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
13158   {
13159     enum
13160     {
13161       value = true
13162     };
13163   };
13164 
13165   template <>
13166   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
13167   {
13168     enum
13169     {
13170       value = true
13171     };
13172   };
13173 
13174   //=== VK_NV_coverage_reduction_mode ===
13175   template <>
13176   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
13177   {
13178     enum
13179     {
13180       value = true
13181     };
13182   };
13183 
13184   template <>
13185   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
13186   {
13187     enum
13188     {
13189       value = true
13190     };
13191   };
13192 
13193   template <>
13194   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
13195   {
13196     enum
13197     {
13198       value = true
13199     };
13200   };
13201 
13202   //=== VK_EXT_fragment_shader_interlock ===
13203   template <>
13204   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
13205   {
13206     enum
13207     {
13208       value = true
13209     };
13210   };
13211 
13212   template <>
13213   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
13214   {
13215     enum
13216     {
13217       value = true
13218     };
13219   };
13220 
13221   //=== VK_EXT_ycbcr_image_arrays ===
13222   template <>
13223   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
13224   {
13225     enum
13226     {
13227       value = true
13228     };
13229   };
13230 
13231   template <>
13232   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
13233   {
13234     enum
13235     {
13236       value = true
13237     };
13238   };
13239 
13240   //=== VK_EXT_provoking_vertex ===
13241   template <>
13242   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
13243   {
13244     enum
13245     {
13246       value = true
13247     };
13248   };
13249 
13250   template <>
13251   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
13252   {
13253     enum
13254     {
13255       value = true
13256     };
13257   };
13258 
13259   template <>
13260   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
13261   {
13262     enum
13263     {
13264       value = true
13265     };
13266   };
13267 
13268   template <>
13269   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
13270   {
13271     enum
13272     {
13273       value = true
13274     };
13275   };
13276 
13277 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
13278   //=== VK_EXT_full_screen_exclusive ===
13279   template <>
13280   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13281   {
13282     enum
13283     {
13284       value = true
13285     };
13286   };
13287 
13288   template <>
13289   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
13290   {
13291     enum
13292     {
13293       value = true
13294     };
13295   };
13296 
13297   template <>
13298   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
13299   {
13300     enum
13301     {
13302       value = true
13303     };
13304   };
13305 
13306   template <>
13307   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13308   {
13309     enum
13310     {
13311       value = true
13312     };
13313   };
13314 
13315   template <>
13316   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
13317   {
13318     enum
13319     {
13320       value = true
13321     };
13322   };
13323 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
13324 
13325   //=== VK_EXT_shader_atomic_float ===
13326   template <>
13327   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
13328   {
13329     enum
13330     {
13331       value = true
13332     };
13333   };
13334 
13335   template <>
13336   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
13337   {
13338     enum
13339     {
13340       value = true
13341     };
13342   };
13343 
13344   //=== VK_EXT_extended_dynamic_state ===
13345   template <>
13346   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
13347   {
13348     enum
13349     {
13350       value = true
13351     };
13352   };
13353 
13354   template <>
13355   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
13356   {
13357     enum
13358     {
13359       value = true
13360     };
13361   };
13362 
13363   //=== VK_KHR_pipeline_executable_properties ===
13364   template <>
13365   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
13366   {
13367     enum
13368     {
13369       value = true
13370     };
13371   };
13372 
13373   template <>
13374   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
13375   {
13376     enum
13377     {
13378       value = true
13379     };
13380   };
13381 
13382   //=== VK_EXT_map_memory_placed ===
13383   template <>
13384   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, PhysicalDeviceFeatures2>
13385   {
13386     enum
13387     {
13388       value = true
13389     };
13390   };
13391 
13392   template <>
13393   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, DeviceCreateInfo>
13394   {
13395     enum
13396     {
13397       value = true
13398     };
13399   };
13400 
13401   template <>
13402   struct StructExtends<PhysicalDeviceMapMemoryPlacedPropertiesEXT, PhysicalDeviceProperties2>
13403   {
13404     enum
13405     {
13406       value = true
13407     };
13408   };
13409 
13410   template <>
13411   struct StructExtends<MemoryMapPlacedInfoEXT, MemoryMapInfo>
13412   {
13413     enum
13414     {
13415       value = true
13416     };
13417   };
13418 
13419   //=== VK_EXT_shader_atomic_float2 ===
13420   template <>
13421   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
13422   {
13423     enum
13424     {
13425       value = true
13426     };
13427   };
13428 
13429   template <>
13430   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
13431   {
13432     enum
13433     {
13434       value = true
13435     };
13436   };
13437 
13438   //=== VK_EXT_surface_maintenance1 ===
13439   template <>
13440   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
13441   {
13442     enum
13443     {
13444       value = true
13445     };
13446   };
13447 
13448   template <>
13449   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
13450   {
13451     enum
13452     {
13453       value = true
13454     };
13455   };
13456 
13457   template <>
13458   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
13459   {
13460     enum
13461     {
13462       value = true
13463     };
13464   };
13465 
13466   //=== VK_EXT_swapchain_maintenance1 ===
13467   template <>
13468   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
13469   {
13470     enum
13471     {
13472       value = true
13473     };
13474   };
13475 
13476   template <>
13477   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
13478   {
13479     enum
13480     {
13481       value = true
13482     };
13483   };
13484 
13485   template <>
13486   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
13487   {
13488     enum
13489     {
13490       value = true
13491     };
13492   };
13493 
13494   template <>
13495   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
13496   {
13497     enum
13498     {
13499       value = true
13500     };
13501   };
13502 
13503   template <>
13504   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
13505   {
13506     enum
13507     {
13508       value = true
13509     };
13510   };
13511 
13512   template <>
13513   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
13514   {
13515     enum
13516     {
13517       value = true
13518     };
13519   };
13520 
13521   //=== VK_NV_device_generated_commands ===
13522   template <>
13523   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
13524   {
13525     enum
13526     {
13527       value = true
13528     };
13529   };
13530 
13531   template <>
13532   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
13533   {
13534     enum
13535     {
13536       value = true
13537     };
13538   };
13539 
13540   template <>
13541   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
13542   {
13543     enum
13544     {
13545       value = true
13546     };
13547   };
13548 
13549   template <>
13550   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
13551   {
13552     enum
13553     {
13554       value = true
13555     };
13556   };
13557 
13558   //=== VK_NV_inherited_viewport_scissor ===
13559   template <>
13560   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
13561   {
13562     enum
13563     {
13564       value = true
13565     };
13566   };
13567 
13568   template <>
13569   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
13570   {
13571     enum
13572     {
13573       value = true
13574     };
13575   };
13576 
13577   template <>
13578   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
13579   {
13580     enum
13581     {
13582       value = true
13583     };
13584   };
13585 
13586   //=== VK_EXT_texel_buffer_alignment ===
13587   template <>
13588   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
13589   {
13590     enum
13591     {
13592       value = true
13593     };
13594   };
13595 
13596   template <>
13597   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
13598   {
13599     enum
13600     {
13601       value = true
13602     };
13603   };
13604 
13605   //=== VK_QCOM_render_pass_transform ===
13606   template <>
13607   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
13608   {
13609     enum
13610     {
13611       value = true
13612     };
13613   };
13614 
13615   template <>
13616   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
13617   {
13618     enum
13619     {
13620       value = true
13621     };
13622   };
13623 
13624   //=== VK_EXT_depth_bias_control ===
13625   template <>
13626   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
13627   {
13628     enum
13629     {
13630       value = true
13631     };
13632   };
13633 
13634   template <>
13635   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
13636   {
13637     enum
13638     {
13639       value = true
13640     };
13641   };
13642 
13643   template <>
13644   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
13645   {
13646     enum
13647     {
13648       value = true
13649     };
13650   };
13651 
13652   template <>
13653   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
13654   {
13655     enum
13656     {
13657       value = true
13658     };
13659   };
13660 
13661   //=== VK_EXT_device_memory_report ===
13662   template <>
13663   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
13664   {
13665     enum
13666     {
13667       value = true
13668     };
13669   };
13670 
13671   template <>
13672   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
13673   {
13674     enum
13675     {
13676       value = true
13677     };
13678   };
13679 
13680   template <>
13681   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13682   {
13683     enum
13684     {
13685       value = true
13686     };
13687   };
13688 
13689   //=== VK_EXT_robustness2 ===
13690   template <>
13691   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13692   {
13693     enum
13694     {
13695       value = true
13696     };
13697   };
13698 
13699   template <>
13700   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13701   {
13702     enum
13703     {
13704       value = true
13705     };
13706   };
13707 
13708   template <>
13709   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13710   {
13711     enum
13712     {
13713       value = true
13714     };
13715   };
13716 
13717   //=== VK_EXT_custom_border_color ===
13718   template <>
13719   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13720   {
13721     enum
13722     {
13723       value = true
13724     };
13725   };
13726 
13727   template <>
13728   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13729   {
13730     enum
13731     {
13732       value = true
13733     };
13734   };
13735 
13736   template <>
13737   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13738   {
13739     enum
13740     {
13741       value = true
13742     };
13743   };
13744 
13745   template <>
13746   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13747   {
13748     enum
13749     {
13750       value = true
13751     };
13752   };
13753 
13754   //=== VK_KHR_pipeline_library ===
13755   template <>
13756   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13757   {
13758     enum
13759     {
13760       value = true
13761     };
13762   };
13763 
13764   //=== VK_NV_present_barrier ===
13765   template <>
13766   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13767   {
13768     enum
13769     {
13770       value = true
13771     };
13772   };
13773 
13774   template <>
13775   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13776   {
13777     enum
13778     {
13779       value = true
13780     };
13781   };
13782 
13783   template <>
13784   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13785   {
13786     enum
13787     {
13788       value = true
13789     };
13790   };
13791 
13792   template <>
13793   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13794   {
13795     enum
13796     {
13797       value = true
13798     };
13799   };
13800 
13801   //=== VK_KHR_present_id ===
13802   template <>
13803   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13804   {
13805     enum
13806     {
13807       value = true
13808     };
13809   };
13810 
13811   template <>
13812   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13813   {
13814     enum
13815     {
13816       value = true
13817     };
13818   };
13819 
13820   template <>
13821   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13822   {
13823     enum
13824     {
13825       value = true
13826     };
13827   };
13828 
13829   //=== VK_KHR_video_encode_queue ===
13830   template <>
13831   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13832   {
13833     enum
13834     {
13835       value = true
13836     };
13837   };
13838 
13839   template <>
13840   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13841   {
13842     enum
13843     {
13844       value = true
13845     };
13846   };
13847 
13848   template <>
13849   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13850   {
13851     enum
13852     {
13853       value = true
13854     };
13855   };
13856 
13857   template <>
13858   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13859   {
13860     enum
13861     {
13862       value = true
13863     };
13864   };
13865 
13866   template <>
13867   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
13868   {
13869     enum
13870     {
13871       value = true
13872     };
13873   };
13874 
13875   template <>
13876   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
13877   {
13878     enum
13879     {
13880       value = true
13881     };
13882   };
13883 
13884   template <>
13885   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
13886   {
13887     enum
13888     {
13889       value = true
13890     };
13891   };
13892 
13893   template <>
13894   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
13895   {
13896     enum
13897     {
13898       value = true
13899     };
13900   };
13901 
13902   //=== VK_NV_device_diagnostics_config ===
13903   template <>
13904   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
13905   {
13906     enum
13907     {
13908       value = true
13909     };
13910   };
13911 
13912   template <>
13913   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
13914   {
13915     enum
13916     {
13917       value = true
13918     };
13919   };
13920 
13921   template <>
13922   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
13923   {
13924     enum
13925     {
13926       value = true
13927     };
13928   };
13929 
13930 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
13931   //=== VK_NV_cuda_kernel_launch ===
13932   template <>
13933   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
13934   {
13935     enum
13936     {
13937       value = true
13938     };
13939   };
13940 
13941   template <>
13942   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
13943   {
13944     enum
13945     {
13946       value = true
13947     };
13948   };
13949 
13950   template <>
13951   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
13952   {
13953     enum
13954     {
13955       value = true
13956     };
13957   };
13958 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
13959 
13960   //=== VK_NV_low_latency ===
13961   template <>
13962   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
13963   {
13964     enum
13965     {
13966       value = true
13967     };
13968   };
13969 
13970 #  if defined( VK_USE_PLATFORM_METAL_EXT )
13971   //=== VK_EXT_metal_objects ===
13972   template <>
13973   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
13974   {
13975     enum
13976     {
13977       value = true
13978     };
13979   };
13980 
13981   template <>
13982   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
13983   {
13984     enum
13985     {
13986       value = true
13987     };
13988   };
13989 
13990   template <>
13991   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
13992   {
13993     enum
13994     {
13995       value = true
13996     };
13997   };
13998 
13999   template <>
14000   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
14001   {
14002     enum
14003     {
14004       value = true
14005     };
14006   };
14007 
14008   template <>
14009   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
14010   {
14011     enum
14012     {
14013       value = true
14014     };
14015   };
14016 
14017   template <>
14018   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
14019   {
14020     enum
14021     {
14022       value = true
14023     };
14024   };
14025 
14026   template <>
14027   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
14028   {
14029     enum
14030     {
14031       value = true
14032     };
14033   };
14034 
14035   template <>
14036   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
14037   {
14038     enum
14039     {
14040       value = true
14041     };
14042   };
14043 
14044   template <>
14045   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
14046   {
14047     enum
14048     {
14049       value = true
14050     };
14051   };
14052 
14053   template <>
14054   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
14055   {
14056     enum
14057     {
14058       value = true
14059     };
14060   };
14061 
14062   template <>
14063   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
14064   {
14065     enum
14066     {
14067       value = true
14068     };
14069   };
14070 
14071   template <>
14072   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
14073   {
14074     enum
14075     {
14076       value = true
14077     };
14078   };
14079 
14080   template <>
14081   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
14082   {
14083     enum
14084     {
14085       value = true
14086     };
14087   };
14088 
14089   template <>
14090   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
14091   {
14092     enum
14093     {
14094       value = true
14095     };
14096   };
14097 
14098   template <>
14099   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
14100   {
14101     enum
14102     {
14103       value = true
14104     };
14105   };
14106 
14107   template <>
14108   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
14109   {
14110     enum
14111     {
14112       value = true
14113     };
14114   };
14115 
14116   template <>
14117   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
14118   {
14119     enum
14120     {
14121       value = true
14122     };
14123   };
14124 
14125   template <>
14126   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
14127   {
14128     enum
14129     {
14130       value = true
14131     };
14132   };
14133 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
14134 
14135   //=== VK_EXT_descriptor_buffer ===
14136   template <>
14137   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
14138   {
14139     enum
14140     {
14141       value = true
14142     };
14143   };
14144 
14145   template <>
14146   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
14147   {
14148     enum
14149     {
14150       value = true
14151     };
14152   };
14153 
14154   template <>
14155   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
14156   {
14157     enum
14158     {
14159       value = true
14160     };
14161   };
14162 
14163   template <>
14164   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
14165   {
14166     enum
14167     {
14168       value = true
14169     };
14170   };
14171 
14172   template <>
14173   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
14174   {
14175     enum
14176     {
14177       value = true
14178     };
14179   };
14180 
14181   template <>
14182   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
14183   {
14184     enum
14185     {
14186       value = true
14187     };
14188   };
14189 
14190   template <>
14191   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
14192   {
14193     enum
14194     {
14195       value = true
14196     };
14197   };
14198 
14199   template <>
14200   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
14201   {
14202     enum
14203     {
14204       value = true
14205     };
14206   };
14207 
14208   template <>
14209   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
14210   {
14211     enum
14212     {
14213       value = true
14214     };
14215   };
14216 
14217   template <>
14218   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
14219   {
14220     enum
14221     {
14222       value = true
14223     };
14224   };
14225 
14226   template <>
14227   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
14228   {
14229     enum
14230     {
14231       value = true
14232     };
14233   };
14234 
14235   //=== VK_EXT_graphics_pipeline_library ===
14236   template <>
14237   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
14238   {
14239     enum
14240     {
14241       value = true
14242     };
14243   };
14244 
14245   template <>
14246   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
14247   {
14248     enum
14249     {
14250       value = true
14251     };
14252   };
14253 
14254   template <>
14255   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
14256   {
14257     enum
14258     {
14259       value = true
14260     };
14261   };
14262 
14263   template <>
14264   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
14265   {
14266     enum
14267     {
14268       value = true
14269     };
14270   };
14271 
14272   //=== VK_AMD_shader_early_and_late_fragment_tests ===
14273   template <>
14274   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
14275   {
14276     enum
14277     {
14278       value = true
14279     };
14280   };
14281 
14282   template <>
14283   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
14284   {
14285     enum
14286     {
14287       value = true
14288     };
14289   };
14290 
14291   //=== VK_KHR_fragment_shader_barycentric ===
14292   template <>
14293   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
14294   {
14295     enum
14296     {
14297       value = true
14298     };
14299   };
14300 
14301   template <>
14302   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
14303   {
14304     enum
14305     {
14306       value = true
14307     };
14308   };
14309 
14310   template <>
14311   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
14312   {
14313     enum
14314     {
14315       value = true
14316     };
14317   };
14318 
14319   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
14320   template <>
14321   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
14322   {
14323     enum
14324     {
14325       value = true
14326     };
14327   };
14328 
14329   template <>
14330   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
14331   {
14332     enum
14333     {
14334       value = true
14335     };
14336   };
14337 
14338   //=== VK_NV_fragment_shading_rate_enums ===
14339   template <>
14340   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
14341   {
14342     enum
14343     {
14344       value = true
14345     };
14346   };
14347 
14348   template <>
14349   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
14350   {
14351     enum
14352     {
14353       value = true
14354     };
14355   };
14356 
14357   template <>
14358   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
14359   {
14360     enum
14361     {
14362       value = true
14363     };
14364   };
14365 
14366   template <>
14367   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
14368   {
14369     enum
14370     {
14371       value = true
14372     };
14373   };
14374 
14375   //=== VK_NV_ray_tracing_motion_blur ===
14376   template <>
14377   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
14378   {
14379     enum
14380     {
14381       value = true
14382     };
14383   };
14384 
14385   template <>
14386   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
14387   {
14388     enum
14389     {
14390       value = true
14391     };
14392   };
14393 
14394   template <>
14395   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
14396   {
14397     enum
14398     {
14399       value = true
14400     };
14401   };
14402 
14403   template <>
14404   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
14405   {
14406     enum
14407     {
14408       value = true
14409     };
14410   };
14411 
14412   //=== VK_EXT_mesh_shader ===
14413   template <>
14414   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
14415   {
14416     enum
14417     {
14418       value = true
14419     };
14420   };
14421 
14422   template <>
14423   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
14424   {
14425     enum
14426     {
14427       value = true
14428     };
14429   };
14430 
14431   template <>
14432   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
14433   {
14434     enum
14435     {
14436       value = true
14437     };
14438   };
14439 
14440   //=== VK_EXT_ycbcr_2plane_444_formats ===
14441   template <>
14442   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14443   {
14444     enum
14445     {
14446       value = true
14447     };
14448   };
14449 
14450   template <>
14451   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
14452   {
14453     enum
14454     {
14455       value = true
14456     };
14457   };
14458 
14459   //=== VK_EXT_fragment_density_map2 ===
14460   template <>
14461   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
14462   {
14463     enum
14464     {
14465       value = true
14466     };
14467   };
14468 
14469   template <>
14470   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
14471   {
14472     enum
14473     {
14474       value = true
14475     };
14476   };
14477 
14478   template <>
14479   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
14480   {
14481     enum
14482     {
14483       value = true
14484     };
14485   };
14486 
14487   //=== VK_QCOM_rotated_copy_commands ===
14488   template <>
14489   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
14490   {
14491     enum
14492     {
14493       value = true
14494     };
14495   };
14496 
14497   template <>
14498   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
14499   {
14500     enum
14501     {
14502       value = true
14503     };
14504   };
14505 
14506   //=== VK_KHR_workgroup_memory_explicit_layout ===
14507   template <>
14508   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
14509   {
14510     enum
14511     {
14512       value = true
14513     };
14514   };
14515 
14516   template <>
14517   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
14518   {
14519     enum
14520     {
14521       value = true
14522     };
14523   };
14524 
14525   //=== VK_EXT_image_compression_control ===
14526   template <>
14527   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
14528   {
14529     enum
14530     {
14531       value = true
14532     };
14533   };
14534 
14535   template <>
14536   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
14537   {
14538     enum
14539     {
14540       value = true
14541     };
14542   };
14543 
14544   template <>
14545   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
14546   {
14547     enum
14548     {
14549       value = true
14550     };
14551   };
14552 
14553   template <>
14554   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
14555   {
14556     enum
14557     {
14558       value = true
14559     };
14560   };
14561 
14562   template <>
14563   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
14564   {
14565     enum
14566     {
14567       value = true
14568     };
14569   };
14570 
14571   template <>
14572   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
14573   {
14574     enum
14575     {
14576       value = true
14577     };
14578   };
14579 
14580   template <>
14581   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
14582   {
14583     enum
14584     {
14585       value = true
14586     };
14587   };
14588 
14589   template <>
14590   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2>
14591   {
14592     enum
14593     {
14594       value = true
14595     };
14596   };
14597 
14598   //=== VK_EXT_attachment_feedback_loop_layout ===
14599   template <>
14600   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
14601   {
14602     enum
14603     {
14604       value = true
14605     };
14606   };
14607 
14608   template <>
14609   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
14610   {
14611     enum
14612     {
14613       value = true
14614     };
14615   };
14616 
14617   //=== VK_EXT_4444_formats ===
14618   template <>
14619   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14620   {
14621     enum
14622     {
14623       value = true
14624     };
14625   };
14626 
14627   template <>
14628   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
14629   {
14630     enum
14631     {
14632       value = true
14633     };
14634   };
14635 
14636   //=== VK_EXT_device_fault ===
14637   template <>
14638   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
14639   {
14640     enum
14641     {
14642       value = true
14643     };
14644   };
14645 
14646   template <>
14647   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
14648   {
14649     enum
14650     {
14651       value = true
14652     };
14653   };
14654 
14655   //=== VK_EXT_rgba10x6_formats ===
14656   template <>
14657   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14658   {
14659     enum
14660     {
14661       value = true
14662     };
14663   };
14664 
14665   template <>
14666   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
14667   {
14668     enum
14669     {
14670       value = true
14671     };
14672   };
14673 
14674   //=== VK_EXT_vertex_input_dynamic_state ===
14675   template <>
14676   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14677   {
14678     enum
14679     {
14680       value = true
14681     };
14682   };
14683 
14684   template <>
14685   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14686   {
14687     enum
14688     {
14689       value = true
14690     };
14691   };
14692 
14693   //=== VK_EXT_physical_device_drm ===
14694   template <>
14695   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14696   {
14697     enum
14698     {
14699       value = true
14700     };
14701   };
14702 
14703   //=== VK_EXT_device_address_binding_report ===
14704   template <>
14705   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14706   {
14707     enum
14708     {
14709       value = true
14710     };
14711   };
14712 
14713   template <>
14714   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14715   {
14716     enum
14717     {
14718       value = true
14719     };
14720   };
14721 
14722   template <>
14723   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14724   {
14725     enum
14726     {
14727       value = true
14728     };
14729   };
14730 
14731   //=== VK_EXT_depth_clip_control ===
14732   template <>
14733   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14734   {
14735     enum
14736     {
14737       value = true
14738     };
14739   };
14740 
14741   template <>
14742   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14743   {
14744     enum
14745     {
14746       value = true
14747     };
14748   };
14749 
14750   template <>
14751   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14752   {
14753     enum
14754     {
14755       value = true
14756     };
14757   };
14758 
14759   //=== VK_EXT_primitive_topology_list_restart ===
14760   template <>
14761   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14762   {
14763     enum
14764     {
14765       value = true
14766     };
14767   };
14768 
14769   template <>
14770   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14771   {
14772     enum
14773     {
14774       value = true
14775     };
14776   };
14777 
14778   //=== VK_EXT_present_mode_fifo_latest_ready ===
14779   template <>
14780   struct StructExtends<PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT, PhysicalDeviceFeatures2>
14781   {
14782     enum
14783     {
14784       value = true
14785     };
14786   };
14787 
14788   template <>
14789   struct StructExtends<PhysicalDevicePresentModeFifoLatestReadyFeaturesEXT, DeviceCreateInfo>
14790   {
14791     enum
14792     {
14793       value = true
14794     };
14795   };
14796 
14797 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14798   //=== VK_FUCHSIA_external_memory ===
14799   template <>
14800   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14801   {
14802     enum
14803     {
14804       value = true
14805     };
14806   };
14807 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14808 
14809 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14810   //=== VK_FUCHSIA_buffer_collection ===
14811   template <>
14812   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14813   {
14814     enum
14815     {
14816       value = true
14817     };
14818   };
14819 
14820   template <>
14821   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14822   {
14823     enum
14824     {
14825       value = true
14826     };
14827   };
14828 
14829   template <>
14830   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14831   {
14832     enum
14833     {
14834       value = true
14835     };
14836   };
14837 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14838 
14839   //=== VK_HUAWEI_subpass_shading ===
14840   template <>
14841   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14842   {
14843     enum
14844     {
14845       value = true
14846     };
14847   };
14848 
14849   template <>
14850   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14851   {
14852     enum
14853     {
14854       value = true
14855     };
14856   };
14857 
14858   template <>
14859   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14860   {
14861     enum
14862     {
14863       value = true
14864     };
14865   };
14866 
14867   template <>
14868   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
14869   {
14870     enum
14871     {
14872       value = true
14873     };
14874   };
14875 
14876   //=== VK_HUAWEI_invocation_mask ===
14877   template <>
14878   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
14879   {
14880     enum
14881     {
14882       value = true
14883     };
14884   };
14885 
14886   template <>
14887   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
14888   {
14889     enum
14890     {
14891       value = true
14892     };
14893   };
14894 
14895   //=== VK_NV_external_memory_rdma ===
14896   template <>
14897   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
14898   {
14899     enum
14900     {
14901       value = true
14902     };
14903   };
14904 
14905   template <>
14906   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
14907   {
14908     enum
14909     {
14910       value = true
14911     };
14912   };
14913 
14914   //=== VK_EXT_pipeline_properties ===
14915   template <>
14916   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
14917   {
14918     enum
14919     {
14920       value = true
14921     };
14922   };
14923 
14924   template <>
14925   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
14926   {
14927     enum
14928     {
14929       value = true
14930     };
14931   };
14932 
14933   //=== VK_EXT_frame_boundary ===
14934   template <>
14935   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
14936   {
14937     enum
14938     {
14939       value = true
14940     };
14941   };
14942 
14943   template <>
14944   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
14945   {
14946     enum
14947     {
14948       value = true
14949     };
14950   };
14951 
14952   template <>
14953   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
14954   {
14955     enum
14956     {
14957       value = true
14958     };
14959   };
14960 
14961   template <>
14962   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
14963   {
14964     enum
14965     {
14966       value = true
14967     };
14968   };
14969 
14970   template <>
14971   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
14972   {
14973     enum
14974     {
14975       value = true
14976     };
14977   };
14978 
14979   template <>
14980   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
14981   {
14982     enum
14983     {
14984       value = true
14985     };
14986   };
14987 
14988   //=== VK_EXT_multisampled_render_to_single_sampled ===
14989   template <>
14990   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
14991   {
14992     enum
14993     {
14994       value = true
14995     };
14996   };
14997 
14998   template <>
14999   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
15000   {
15001     enum
15002     {
15003       value = true
15004     };
15005   };
15006 
15007   template <>
15008   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
15009   {
15010     enum
15011     {
15012       value = true
15013     };
15014   };
15015 
15016   template <>
15017   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
15018   {
15019     enum
15020     {
15021       value = true
15022     };
15023   };
15024 
15025   template <>
15026   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
15027   {
15028     enum
15029     {
15030       value = true
15031     };
15032   };
15033 
15034   //=== VK_EXT_extended_dynamic_state2 ===
15035   template <>
15036   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
15037   {
15038     enum
15039     {
15040       value = true
15041     };
15042   };
15043 
15044   template <>
15045   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
15046   {
15047     enum
15048     {
15049       value = true
15050     };
15051   };
15052 
15053   //=== VK_EXT_color_write_enable ===
15054   template <>
15055   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
15056   {
15057     enum
15058     {
15059       value = true
15060     };
15061   };
15062 
15063   template <>
15064   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
15065   {
15066     enum
15067     {
15068       value = true
15069     };
15070   };
15071 
15072   template <>
15073   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
15074   {
15075     enum
15076     {
15077       value = true
15078     };
15079   };
15080 
15081   //=== VK_EXT_primitives_generated_query ===
15082   template <>
15083   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
15084   {
15085     enum
15086     {
15087       value = true
15088     };
15089   };
15090 
15091   template <>
15092   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
15093   {
15094     enum
15095     {
15096       value = true
15097     };
15098   };
15099 
15100   //=== VK_KHR_ray_tracing_maintenance1 ===
15101   template <>
15102   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
15103   {
15104     enum
15105     {
15106       value = true
15107     };
15108   };
15109 
15110   template <>
15111   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
15112   {
15113     enum
15114     {
15115       value = true
15116     };
15117   };
15118 
15119   //=== VK_EXT_image_view_min_lod ===
15120   template <>
15121   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
15122   {
15123     enum
15124     {
15125       value = true
15126     };
15127   };
15128 
15129   template <>
15130   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
15131   {
15132     enum
15133     {
15134       value = true
15135     };
15136   };
15137 
15138   template <>
15139   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
15140   {
15141     enum
15142     {
15143       value = true
15144     };
15145   };
15146 
15147   //=== VK_EXT_multi_draw ===
15148   template <>
15149   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
15150   {
15151     enum
15152     {
15153       value = true
15154     };
15155   };
15156 
15157   template <>
15158   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
15159   {
15160     enum
15161     {
15162       value = true
15163     };
15164   };
15165 
15166   template <>
15167   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
15168   {
15169     enum
15170     {
15171       value = true
15172     };
15173   };
15174 
15175   //=== VK_EXT_image_2d_view_of_3d ===
15176   template <>
15177   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15178   {
15179     enum
15180     {
15181       value = true
15182     };
15183   };
15184 
15185   template <>
15186   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
15187   {
15188     enum
15189     {
15190       value = true
15191     };
15192   };
15193 
15194   //=== VK_EXT_shader_tile_image ===
15195   template <>
15196   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
15197   {
15198     enum
15199     {
15200       value = true
15201     };
15202   };
15203 
15204   template <>
15205   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
15206   {
15207     enum
15208     {
15209       value = true
15210     };
15211   };
15212 
15213   template <>
15214   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
15215   {
15216     enum
15217     {
15218       value = true
15219     };
15220   };
15221 
15222   //=== VK_EXT_opacity_micromap ===
15223   template <>
15224   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
15225   {
15226     enum
15227     {
15228       value = true
15229     };
15230   };
15231 
15232   template <>
15233   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
15234   {
15235     enum
15236     {
15237       value = true
15238     };
15239   };
15240 
15241   template <>
15242   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
15243   {
15244     enum
15245     {
15246       value = true
15247     };
15248   };
15249 
15250   template <>
15251   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
15252   {
15253     enum
15254     {
15255       value = true
15256     };
15257   };
15258 
15259 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
15260   //=== VK_NV_displacement_micromap ===
15261   template <>
15262   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
15263   {
15264     enum
15265     {
15266       value = true
15267     };
15268   };
15269 
15270   template <>
15271   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
15272   {
15273     enum
15274     {
15275       value = true
15276     };
15277   };
15278 
15279   template <>
15280   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
15281   {
15282     enum
15283     {
15284       value = true
15285     };
15286   };
15287 
15288   template <>
15289   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
15290   {
15291     enum
15292     {
15293       value = true
15294     };
15295   };
15296 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
15297 
15298   //=== VK_HUAWEI_cluster_culling_shader ===
15299   template <>
15300   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
15301   {
15302     enum
15303     {
15304       value = true
15305     };
15306   };
15307 
15308   template <>
15309   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
15310   {
15311     enum
15312     {
15313       value = true
15314     };
15315   };
15316 
15317   template <>
15318   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
15319   {
15320     enum
15321     {
15322       value = true
15323     };
15324   };
15325 
15326   template <>
15327   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
15328   {
15329     enum
15330     {
15331       value = true
15332     };
15333   };
15334 
15335   //=== VK_EXT_border_color_swizzle ===
15336   template <>
15337   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
15338   {
15339     enum
15340     {
15341       value = true
15342     };
15343   };
15344 
15345   template <>
15346   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
15347   {
15348     enum
15349     {
15350       value = true
15351     };
15352   };
15353 
15354   template <>
15355   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
15356   {
15357     enum
15358     {
15359       value = true
15360     };
15361   };
15362 
15363   //=== VK_EXT_pageable_device_local_memory ===
15364   template <>
15365   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
15366   {
15367     enum
15368     {
15369       value = true
15370     };
15371   };
15372 
15373   template <>
15374   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
15375   {
15376     enum
15377     {
15378       value = true
15379     };
15380   };
15381 
15382   //=== VK_ARM_shader_core_properties ===
15383   template <>
15384   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
15385   {
15386     enum
15387     {
15388       value = true
15389     };
15390   };
15391 
15392   //=== VK_ARM_scheduling_controls ===
15393   template <>
15394   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
15395   {
15396     enum
15397     {
15398       value = true
15399     };
15400   };
15401 
15402   template <>
15403   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
15404   {
15405     enum
15406     {
15407       value = true
15408     };
15409   };
15410 
15411   template <>
15412   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
15413   {
15414     enum
15415     {
15416       value = true
15417     };
15418   };
15419 
15420   template <>
15421   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
15422   {
15423     enum
15424     {
15425       value = true
15426     };
15427   };
15428 
15429   template <>
15430   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
15431   {
15432     enum
15433     {
15434       value = true
15435     };
15436   };
15437 
15438   //=== VK_EXT_image_sliced_view_of_3d ===
15439   template <>
15440   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15441   {
15442     enum
15443     {
15444       value = true
15445     };
15446   };
15447 
15448   template <>
15449   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
15450   {
15451     enum
15452     {
15453       value = true
15454     };
15455   };
15456 
15457   template <>
15458   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
15459   {
15460     enum
15461     {
15462       value = true
15463     };
15464   };
15465 
15466   //=== VK_VALVE_descriptor_set_host_mapping ===
15467   template <>
15468   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
15469   {
15470     enum
15471     {
15472       value = true
15473     };
15474   };
15475 
15476   template <>
15477   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
15478   {
15479     enum
15480     {
15481       value = true
15482     };
15483   };
15484 
15485   //=== VK_EXT_depth_clamp_zero_one ===
15486   template <>
15487   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
15488   {
15489     enum
15490     {
15491       value = true
15492     };
15493   };
15494 
15495   template <>
15496   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
15497   {
15498     enum
15499     {
15500       value = true
15501     };
15502   };
15503 
15504   //=== VK_EXT_non_seamless_cube_map ===
15505   template <>
15506   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
15507   {
15508     enum
15509     {
15510       value = true
15511     };
15512   };
15513 
15514   template <>
15515   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
15516   {
15517     enum
15518     {
15519       value = true
15520     };
15521   };
15522 
15523   //=== VK_ARM_render_pass_striped ===
15524   template <>
15525   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
15526   {
15527     enum
15528     {
15529       value = true
15530     };
15531   };
15532 
15533   template <>
15534   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
15535   {
15536     enum
15537     {
15538       value = true
15539     };
15540   };
15541 
15542   template <>
15543   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
15544   {
15545     enum
15546     {
15547       value = true
15548     };
15549   };
15550 
15551   template <>
15552   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
15553   {
15554     enum
15555     {
15556       value = true
15557     };
15558   };
15559 
15560   template <>
15561   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
15562   {
15563     enum
15564     {
15565       value = true
15566     };
15567   };
15568 
15569   template <>
15570   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
15571   {
15572     enum
15573     {
15574       value = true
15575     };
15576   };
15577 
15578   //=== VK_QCOM_fragment_density_map_offset ===
15579   template <>
15580   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
15581   {
15582     enum
15583     {
15584       value = true
15585     };
15586   };
15587 
15588   template <>
15589   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
15590   {
15591     enum
15592     {
15593       value = true
15594     };
15595   };
15596 
15597   template <>
15598   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
15599   {
15600     enum
15601     {
15602       value = true
15603     };
15604   };
15605 
15606   template <>
15607   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
15608   {
15609     enum
15610     {
15611       value = true
15612     };
15613   };
15614 
15615   //=== VK_NV_copy_memory_indirect ===
15616   template <>
15617   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
15618   {
15619     enum
15620     {
15621       value = true
15622     };
15623   };
15624 
15625   template <>
15626   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
15627   {
15628     enum
15629     {
15630       value = true
15631     };
15632   };
15633 
15634   template <>
15635   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
15636   {
15637     enum
15638     {
15639       value = true
15640     };
15641   };
15642 
15643   //=== VK_NV_memory_decompression ===
15644   template <>
15645   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
15646   {
15647     enum
15648     {
15649       value = true
15650     };
15651   };
15652 
15653   template <>
15654   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
15655   {
15656     enum
15657     {
15658       value = true
15659     };
15660   };
15661 
15662   template <>
15663   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
15664   {
15665     enum
15666     {
15667       value = true
15668     };
15669   };
15670 
15671   //=== VK_NV_device_generated_commands_compute ===
15672   template <>
15673   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
15674   {
15675     enum
15676     {
15677       value = true
15678     };
15679   };
15680 
15681   template <>
15682   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
15683   {
15684     enum
15685     {
15686       value = true
15687     };
15688   };
15689 
15690   template <>
15691   struct StructExtends<ComputePipelineIndirectBufferInfoNV, ComputePipelineCreateInfo>
15692   {
15693     enum
15694     {
15695       value = true
15696     };
15697   };
15698 
15699   //=== VK_NV_linear_color_attachment ===
15700   template <>
15701   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15702   {
15703     enum
15704     {
15705       value = true
15706     };
15707   };
15708 
15709   template <>
15710   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15711   {
15712     enum
15713     {
15714       value = true
15715     };
15716   };
15717 
15718   //=== VK_KHR_shader_maximal_reconvergence ===
15719   template <>
15720   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, PhysicalDeviceFeatures2>
15721   {
15722     enum
15723     {
15724       value = true
15725     };
15726   };
15727 
15728   template <>
15729   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, DeviceCreateInfo>
15730   {
15731     enum
15732     {
15733       value = true
15734     };
15735   };
15736 
15737   //=== VK_EXT_image_compression_control_swapchain ===
15738   template <>
15739   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15740   {
15741     enum
15742     {
15743       value = true
15744     };
15745   };
15746 
15747   template <>
15748   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15749   {
15750     enum
15751     {
15752       value = true
15753     };
15754   };
15755 
15756   //=== VK_QCOM_image_processing ===
15757   template <>
15758   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15759   {
15760     enum
15761     {
15762       value = true
15763     };
15764   };
15765 
15766   template <>
15767   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15768   {
15769     enum
15770     {
15771       value = true
15772     };
15773   };
15774 
15775   template <>
15776   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15777   {
15778     enum
15779     {
15780       value = true
15781     };
15782   };
15783 
15784   template <>
15785   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15786   {
15787     enum
15788     {
15789       value = true
15790     };
15791   };
15792 
15793   //=== VK_EXT_nested_command_buffer ===
15794   template <>
15795   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15796   {
15797     enum
15798     {
15799       value = true
15800     };
15801   };
15802 
15803   template <>
15804   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15805   {
15806     enum
15807     {
15808       value = true
15809     };
15810   };
15811 
15812   template <>
15813   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15814   {
15815     enum
15816     {
15817       value = true
15818     };
15819   };
15820 
15821   //=== VK_EXT_external_memory_acquire_unmodified ===
15822   template <>
15823   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15824   {
15825     enum
15826     {
15827       value = true
15828     };
15829   };
15830 
15831   template <>
15832   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15833   {
15834     enum
15835     {
15836       value = true
15837     };
15838   };
15839 
15840   template <>
15841   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15842   {
15843     enum
15844     {
15845       value = true
15846     };
15847   };
15848 
15849   template <>
15850   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
15851   {
15852     enum
15853     {
15854       value = true
15855     };
15856   };
15857 
15858   //=== VK_EXT_extended_dynamic_state3 ===
15859   template <>
15860   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
15861   {
15862     enum
15863     {
15864       value = true
15865     };
15866   };
15867 
15868   template <>
15869   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
15870   {
15871     enum
15872     {
15873       value = true
15874     };
15875   };
15876 
15877   template <>
15878   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
15879   {
15880     enum
15881     {
15882       value = true
15883     };
15884   };
15885 
15886   //=== VK_EXT_subpass_merge_feedback ===
15887   template <>
15888   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
15889   {
15890     enum
15891     {
15892       value = true
15893     };
15894   };
15895 
15896   template <>
15897   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
15898   {
15899     enum
15900     {
15901       value = true
15902     };
15903   };
15904 
15905   template <>
15906   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
15907   {
15908     enum
15909     {
15910       value = true
15911     };
15912   };
15913 
15914   template <>
15915   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
15916   {
15917     enum
15918     {
15919       value = true
15920     };
15921   };
15922 
15923   template <>
15924   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
15925   {
15926     enum
15927     {
15928       value = true
15929     };
15930   };
15931 
15932   template <>
15933   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
15934   {
15935     enum
15936     {
15937       value = true
15938     };
15939   };
15940 
15941   //=== VK_LUNARG_direct_driver_loading ===
15942   template <>
15943   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
15944   {
15945     enum
15946     {
15947       value = true
15948     };
15949   };
15950 
15951   //=== VK_EXT_shader_module_identifier ===
15952   template <>
15953   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
15954   {
15955     enum
15956     {
15957       value = true
15958     };
15959   };
15960 
15961   template <>
15962   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
15963   {
15964     enum
15965     {
15966       value = true
15967     };
15968   };
15969 
15970   template <>
15971   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
15972   {
15973     enum
15974     {
15975       value = true
15976     };
15977   };
15978 
15979   template <>
15980   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
15981   {
15982     enum
15983     {
15984       value = true
15985     };
15986   };
15987 
15988   //=== VK_EXT_rasterization_order_attachment_access ===
15989   template <>
15990   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
15991   {
15992     enum
15993     {
15994       value = true
15995     };
15996   };
15997 
15998   template <>
15999   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
16000   {
16001     enum
16002     {
16003       value = true
16004     };
16005   };
16006 
16007   //=== VK_NV_optical_flow ===
16008   template <>
16009   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
16010   {
16011     enum
16012     {
16013       value = true
16014     };
16015   };
16016 
16017   template <>
16018   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
16019   {
16020     enum
16021     {
16022       value = true
16023     };
16024   };
16025 
16026   template <>
16027   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
16028   {
16029     enum
16030     {
16031       value = true
16032     };
16033   };
16034 
16035   template <>
16036   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
16037   {
16038     enum
16039     {
16040       value = true
16041     };
16042   };
16043 
16044   template <>
16045   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
16046   {
16047     enum
16048     {
16049       value = true
16050     };
16051   };
16052 
16053   template <>
16054   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
16055   {
16056     enum
16057     {
16058       value = true
16059     };
16060   };
16061 
16062   //=== VK_EXT_legacy_dithering ===
16063   template <>
16064   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
16065   {
16066     enum
16067     {
16068       value = true
16069     };
16070   };
16071 
16072   template <>
16073   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
16074   {
16075     enum
16076     {
16077       value = true
16078     };
16079   };
16080 
16081 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
16082   //=== VK_ANDROID_external_format_resolve ===
16083   template <>
16084   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
16085   {
16086     enum
16087     {
16088       value = true
16089     };
16090   };
16091 
16092   template <>
16093   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
16094   {
16095     enum
16096     {
16097       value = true
16098     };
16099   };
16100 
16101   template <>
16102   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
16103   {
16104     enum
16105     {
16106       value = true
16107     };
16108   };
16109 
16110   template <>
16111   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
16112   {
16113     enum
16114     {
16115       value = true
16116     };
16117   };
16118 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
16119 
16120   //=== VK_AMD_anti_lag ===
16121   template <>
16122   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, PhysicalDeviceFeatures2>
16123   {
16124     enum
16125     {
16126       value = true
16127     };
16128   };
16129 
16130   template <>
16131   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, DeviceCreateInfo>
16132   {
16133     enum
16134     {
16135       value = true
16136     };
16137   };
16138 
16139   //=== VK_KHR_ray_tracing_position_fetch ===
16140   template <>
16141   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
16142   {
16143     enum
16144     {
16145       value = true
16146     };
16147   };
16148 
16149   template <>
16150   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
16151   {
16152     enum
16153     {
16154       value = true
16155     };
16156   };
16157 
16158   //=== VK_EXT_shader_object ===
16159   template <>
16160   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
16161   {
16162     enum
16163     {
16164       value = true
16165     };
16166   };
16167 
16168   template <>
16169   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
16170   {
16171     enum
16172     {
16173       value = true
16174     };
16175   };
16176 
16177   template <>
16178   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
16179   {
16180     enum
16181     {
16182       value = true
16183     };
16184   };
16185 
16186   //=== VK_KHR_pipeline_binary ===
16187   template <>
16188   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, PhysicalDeviceFeatures2>
16189   {
16190     enum
16191     {
16192       value = true
16193     };
16194   };
16195 
16196   template <>
16197   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, DeviceCreateInfo>
16198   {
16199     enum
16200     {
16201       value = true
16202     };
16203   };
16204 
16205   template <>
16206   struct StructExtends<PhysicalDevicePipelineBinaryPropertiesKHR, PhysicalDeviceProperties2>
16207   {
16208     enum
16209     {
16210       value = true
16211     };
16212   };
16213 
16214   template <>
16215   struct StructExtends<DevicePipelineBinaryInternalCacheControlKHR, DeviceCreateInfo>
16216   {
16217     enum
16218     {
16219       value = true
16220     };
16221   };
16222 
16223   template <>
16224   struct StructExtends<PipelineBinaryInfoKHR, GraphicsPipelineCreateInfo>
16225   {
16226     enum
16227     {
16228       value = true
16229     };
16230   };
16231 
16232   template <>
16233   struct StructExtends<PipelineBinaryInfoKHR, ComputePipelineCreateInfo>
16234   {
16235     enum
16236     {
16237       value = true
16238     };
16239   };
16240 
16241   template <>
16242   struct StructExtends<PipelineBinaryInfoKHR, RayTracingPipelineCreateInfoKHR>
16243   {
16244     enum
16245     {
16246       value = true
16247     };
16248   };
16249 
16250   //=== VK_QCOM_tile_properties ===
16251   template <>
16252   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
16253   {
16254     enum
16255     {
16256       value = true
16257     };
16258   };
16259 
16260   template <>
16261   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
16262   {
16263     enum
16264     {
16265       value = true
16266     };
16267   };
16268 
16269   //=== VK_SEC_amigo_profiling ===
16270   template <>
16271   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
16272   {
16273     enum
16274     {
16275       value = true
16276     };
16277   };
16278 
16279   template <>
16280   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
16281   {
16282     enum
16283     {
16284       value = true
16285     };
16286   };
16287 
16288   template <>
16289   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
16290   {
16291     enum
16292     {
16293       value = true
16294     };
16295   };
16296 
16297   //=== VK_QCOM_multiview_per_view_viewports ===
16298   template <>
16299   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
16300   {
16301     enum
16302     {
16303       value = true
16304     };
16305   };
16306 
16307   template <>
16308   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
16309   {
16310     enum
16311     {
16312       value = true
16313     };
16314   };
16315 
16316   //=== VK_NV_ray_tracing_invocation_reorder ===
16317   template <>
16318   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
16319   {
16320     enum
16321     {
16322       value = true
16323     };
16324   };
16325 
16326   template <>
16327   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
16328   {
16329     enum
16330     {
16331       value = true
16332     };
16333   };
16334 
16335   template <>
16336   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
16337   {
16338     enum
16339     {
16340       value = true
16341     };
16342   };
16343 
16344   //=== VK_NV_extended_sparse_address_space ===
16345   template <>
16346   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
16347   {
16348     enum
16349     {
16350       value = true
16351     };
16352   };
16353 
16354   template <>
16355   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
16356   {
16357     enum
16358     {
16359       value = true
16360     };
16361   };
16362 
16363   template <>
16364   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
16365   {
16366     enum
16367     {
16368       value = true
16369     };
16370   };
16371 
16372   //=== VK_EXT_mutable_descriptor_type ===
16373   template <>
16374   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
16375   {
16376     enum
16377     {
16378       value = true
16379     };
16380   };
16381 
16382   template <>
16383   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
16384   {
16385     enum
16386     {
16387       value = true
16388     };
16389   };
16390 
16391   template <>
16392   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
16393   {
16394     enum
16395     {
16396       value = true
16397     };
16398   };
16399 
16400   template <>
16401   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
16402   {
16403     enum
16404     {
16405       value = true
16406     };
16407   };
16408 
16409   //=== VK_EXT_legacy_vertex_attributes ===
16410   template <>
16411   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, PhysicalDeviceFeatures2>
16412   {
16413     enum
16414     {
16415       value = true
16416     };
16417   };
16418 
16419   template <>
16420   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, DeviceCreateInfo>
16421   {
16422     enum
16423     {
16424       value = true
16425     };
16426   };
16427 
16428   template <>
16429   struct StructExtends<PhysicalDeviceLegacyVertexAttributesPropertiesEXT, PhysicalDeviceProperties2>
16430   {
16431     enum
16432     {
16433       value = true
16434     };
16435   };
16436 
16437   //=== VK_EXT_layer_settings ===
16438   template <>
16439   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
16440   {
16441     enum
16442     {
16443       value = true
16444     };
16445   };
16446 
16447   //=== VK_ARM_shader_core_builtins ===
16448   template <>
16449   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
16450   {
16451     enum
16452     {
16453       value = true
16454     };
16455   };
16456 
16457   template <>
16458   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
16459   {
16460     enum
16461     {
16462       value = true
16463     };
16464   };
16465 
16466   template <>
16467   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
16468   {
16469     enum
16470     {
16471       value = true
16472     };
16473   };
16474 
16475   //=== VK_EXT_pipeline_library_group_handles ===
16476   template <>
16477   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
16478   {
16479     enum
16480     {
16481       value = true
16482     };
16483   };
16484 
16485   template <>
16486   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
16487   {
16488     enum
16489     {
16490       value = true
16491     };
16492   };
16493 
16494   //=== VK_EXT_dynamic_rendering_unused_attachments ===
16495   template <>
16496   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
16497   {
16498     enum
16499     {
16500       value = true
16501     };
16502   };
16503 
16504   template <>
16505   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
16506   {
16507     enum
16508     {
16509       value = true
16510     };
16511   };
16512 
16513   //=== VK_NV_low_latency2 ===
16514   template <>
16515   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
16516   {
16517     enum
16518     {
16519       value = true
16520     };
16521   };
16522 
16523   template <>
16524   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
16525   {
16526     enum
16527     {
16528       value = true
16529     };
16530   };
16531 
16532   template <>
16533   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
16534   {
16535     enum
16536     {
16537       value = true
16538     };
16539   };
16540 
16541   template <>
16542   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
16543   {
16544     enum
16545     {
16546       value = true
16547     };
16548   };
16549 
16550   //=== VK_KHR_cooperative_matrix ===
16551   template <>
16552   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
16553   {
16554     enum
16555     {
16556       value = true
16557     };
16558   };
16559 
16560   template <>
16561   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
16562   {
16563     enum
16564     {
16565       value = true
16566     };
16567   };
16568 
16569   template <>
16570   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
16571   {
16572     enum
16573     {
16574       value = true
16575     };
16576   };
16577 
16578   //=== VK_QCOM_multiview_per_view_render_areas ===
16579   template <>
16580   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
16581   {
16582     enum
16583     {
16584       value = true
16585     };
16586   };
16587 
16588   template <>
16589   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
16590   {
16591     enum
16592     {
16593       value = true
16594     };
16595   };
16596 
16597   template <>
16598   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
16599   {
16600     enum
16601     {
16602       value = true
16603     };
16604   };
16605 
16606   template <>
16607   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
16608   {
16609     enum
16610     {
16611       value = true
16612     };
16613   };
16614 
16615   //=== VK_KHR_compute_shader_derivatives ===
16616   template <>
16617   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesKHR, PhysicalDeviceFeatures2>
16618   {
16619     enum
16620     {
16621       value = true
16622     };
16623   };
16624 
16625   template <>
16626   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesKHR, DeviceCreateInfo>
16627   {
16628     enum
16629     {
16630       value = true
16631     };
16632   };
16633 
16634   template <>
16635   struct StructExtends<PhysicalDeviceComputeShaderDerivativesPropertiesKHR, PhysicalDeviceProperties2>
16636   {
16637     enum
16638     {
16639       value = true
16640     };
16641   };
16642 
16643   //=== VK_KHR_video_decode_av1 ===
16644   template <>
16645   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16646   {
16647     enum
16648     {
16649       value = true
16650     };
16651   };
16652 
16653   template <>
16654   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16655   {
16656     enum
16657     {
16658       value = true
16659     };
16660   };
16661 
16662   template <>
16663   struct StructExtends<VideoDecodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16664   {
16665     enum
16666     {
16667       value = true
16668     };
16669   };
16670 
16671   template <>
16672   struct StructExtends<VideoDecodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16673   {
16674     enum
16675     {
16676       value = true
16677     };
16678   };
16679 
16680   template <>
16681   struct StructExtends<VideoDecodeAV1PictureInfoKHR, VideoDecodeInfoKHR>
16682   {
16683     enum
16684     {
16685       value = true
16686     };
16687   };
16688 
16689   template <>
16690   struct StructExtends<VideoDecodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16691   {
16692     enum
16693     {
16694       value = true
16695     };
16696   };
16697 
16698   //=== VK_KHR_video_encode_av1 ===
16699   template <>
16700   struct StructExtends<PhysicalDeviceVideoEncodeAV1FeaturesKHR, PhysicalDeviceFeatures2>
16701   {
16702     enum
16703     {
16704       value = true
16705     };
16706   };
16707 
16708   template <>
16709   struct StructExtends<PhysicalDeviceVideoEncodeAV1FeaturesKHR, DeviceCreateInfo>
16710   {
16711     enum
16712     {
16713       value = true
16714     };
16715   };
16716 
16717   template <>
16718   struct StructExtends<VideoEncodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16719   {
16720     enum
16721     {
16722       value = true
16723     };
16724   };
16725 
16726   template <>
16727   struct StructExtends<VideoEncodeAV1QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
16728   {
16729     enum
16730     {
16731       value = true
16732     };
16733   };
16734 
16735   template <>
16736   struct StructExtends<VideoEncodeAV1SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
16737   {
16738     enum
16739     {
16740       value = true
16741     };
16742   };
16743 
16744   template <>
16745   struct StructExtends<VideoEncodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16746   {
16747     enum
16748     {
16749       value = true
16750     };
16751   };
16752 
16753   template <>
16754   struct StructExtends<VideoEncodeAV1PictureInfoKHR, VideoEncodeInfoKHR>
16755   {
16756     enum
16757     {
16758       value = true
16759     };
16760   };
16761 
16762   template <>
16763   struct StructExtends<VideoEncodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16764   {
16765     enum
16766     {
16767       value = true
16768     };
16769   };
16770 
16771   template <>
16772   struct StructExtends<VideoEncodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16773   {
16774     enum
16775     {
16776       value = true
16777     };
16778   };
16779 
16780   template <>
16781   struct StructExtends<VideoEncodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16782   {
16783     enum
16784     {
16785       value = true
16786     };
16787   };
16788 
16789   template <>
16790   struct StructExtends<VideoEncodeAV1GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
16791   {
16792     enum
16793     {
16794       value = true
16795     };
16796   };
16797 
16798   template <>
16799   struct StructExtends<VideoEncodeAV1RateControlInfoKHR, VideoCodingControlInfoKHR>
16800   {
16801     enum
16802     {
16803       value = true
16804     };
16805   };
16806 
16807   template <>
16808   struct StructExtends<VideoEncodeAV1RateControlInfoKHR, VideoBeginCodingInfoKHR>
16809   {
16810     enum
16811     {
16812       value = true
16813     };
16814   };
16815 
16816   template <>
16817   struct StructExtends<VideoEncodeAV1RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
16818   {
16819     enum
16820     {
16821       value = true
16822     };
16823   };
16824 
16825   //=== VK_KHR_video_maintenance1 ===
16826   template <>
16827   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
16828   {
16829     enum
16830     {
16831       value = true
16832     };
16833   };
16834 
16835   template <>
16836   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
16837   {
16838     enum
16839     {
16840       value = true
16841     };
16842   };
16843 
16844   template <>
16845   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
16846   {
16847     enum
16848     {
16849       value = true
16850     };
16851   };
16852 
16853   template <>
16854   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
16855   {
16856     enum
16857     {
16858       value = true
16859     };
16860   };
16861 
16862   //=== VK_NV_per_stage_descriptor_set ===
16863   template <>
16864   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
16865   {
16866     enum
16867     {
16868       value = true
16869     };
16870   };
16871 
16872   template <>
16873   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
16874   {
16875     enum
16876     {
16877       value = true
16878     };
16879   };
16880 
16881   //=== VK_QCOM_image_processing2 ===
16882   template <>
16883   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
16884   {
16885     enum
16886     {
16887       value = true
16888     };
16889   };
16890 
16891   template <>
16892   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
16893   {
16894     enum
16895     {
16896       value = true
16897     };
16898   };
16899 
16900   template <>
16901   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
16902   {
16903     enum
16904     {
16905       value = true
16906     };
16907   };
16908 
16909   template <>
16910   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
16911   {
16912     enum
16913     {
16914       value = true
16915     };
16916   };
16917 
16918   //=== VK_QCOM_filter_cubic_weights ===
16919   template <>
16920   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
16921   {
16922     enum
16923     {
16924       value = true
16925     };
16926   };
16927 
16928   template <>
16929   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
16930   {
16931     enum
16932     {
16933       value = true
16934     };
16935   };
16936 
16937   template <>
16938   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
16939   {
16940     enum
16941     {
16942       value = true
16943     };
16944   };
16945 
16946   template <>
16947   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
16948   {
16949     enum
16950     {
16951       value = true
16952     };
16953   };
16954 
16955   //=== VK_QCOM_ycbcr_degamma ===
16956   template <>
16957   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
16958   {
16959     enum
16960     {
16961       value = true
16962     };
16963   };
16964 
16965   template <>
16966   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
16967   {
16968     enum
16969     {
16970       value = true
16971     };
16972   };
16973 
16974   template <>
16975   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
16976   {
16977     enum
16978     {
16979       value = true
16980     };
16981   };
16982 
16983   //=== VK_QCOM_filter_cubic_clamp ===
16984   template <>
16985   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
16986   {
16987     enum
16988     {
16989       value = true
16990     };
16991   };
16992 
16993   template <>
16994   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
16995   {
16996     enum
16997     {
16998       value = true
16999     };
17000   };
17001 
17002   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
17003   template <>
17004   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
17005   {
17006     enum
17007     {
17008       value = true
17009     };
17010   };
17011 
17012   template <>
17013   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
17014   {
17015     enum
17016     {
17017       value = true
17018     };
17019   };
17020 
17021 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
17022   //=== VK_QNX_external_memory_screen_buffer ===
17023   template <>
17024   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
17025   {
17026     enum
17027     {
17028       value = true
17029     };
17030   };
17031 
17032   template <>
17033   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
17034   {
17035     enum
17036     {
17037       value = true
17038     };
17039   };
17040 
17041   template <>
17042   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
17043   {
17044     enum
17045     {
17046       value = true
17047     };
17048   };
17049 
17050   template <>
17051   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
17052   {
17053     enum
17054     {
17055       value = true
17056     };
17057   };
17058 
17059   template <>
17060   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
17061   {
17062     enum
17063     {
17064       value = true
17065     };
17066   };
17067 
17068   template <>
17069   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
17070   {
17071     enum
17072     {
17073       value = true
17074     };
17075   };
17076 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
17077 
17078   //=== VK_MSFT_layered_driver ===
17079   template <>
17080   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
17081   {
17082     enum
17083     {
17084       value = true
17085     };
17086   };
17087 
17088   //=== VK_NV_descriptor_pool_overallocation ===
17089   template <>
17090   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
17091   {
17092     enum
17093     {
17094       value = true
17095     };
17096   };
17097 
17098   template <>
17099   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
17100   {
17101     enum
17102     {
17103       value = true
17104     };
17105   };
17106 
17107   //=== VK_NV_display_stereo ===
17108   template <>
17109   struct StructExtends<DisplaySurfaceStereoCreateInfoNV, DisplaySurfaceCreateInfoKHR>
17110   {
17111     enum
17112     {
17113       value = true
17114     };
17115   };
17116 
17117   template <>
17118   struct StructExtends<DisplayModeStereoPropertiesNV, DisplayModeProperties2KHR>
17119   {
17120     enum
17121     {
17122       value = true
17123     };
17124   };
17125 
17126   //=== VK_KHR_video_encode_quantization_map ===
17127   template <>
17128   struct StructExtends<VideoEncodeQuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17129   {
17130     enum
17131     {
17132       value = true
17133     };
17134   };
17135 
17136   template <>
17137   struct StructExtends<VideoFormatQuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17138   {
17139     enum
17140     {
17141       value = true
17142     };
17143   };
17144 
17145   template <>
17146   struct StructExtends<VideoEncodeQuantizationMapInfoKHR, VideoEncodeInfoKHR>
17147   {
17148     enum
17149     {
17150       value = true
17151     };
17152   };
17153 
17154   template <>
17155   struct StructExtends<VideoEncodeQuantizationMapSessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
17156   {
17157     enum
17158     {
17159       value = true
17160     };
17161   };
17162 
17163   template <>
17164   struct StructExtends<PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, PhysicalDeviceFeatures2>
17165   {
17166     enum
17167     {
17168       value = true
17169     };
17170   };
17171 
17172   template <>
17173   struct StructExtends<PhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR, DeviceCreateInfo>
17174   {
17175     enum
17176     {
17177       value = true
17178     };
17179   };
17180 
17181   template <>
17182   struct StructExtends<VideoEncodeH264QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17183   {
17184     enum
17185     {
17186       value = true
17187     };
17188   };
17189 
17190   template <>
17191   struct StructExtends<VideoEncodeH265QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17192   {
17193     enum
17194     {
17195       value = true
17196     };
17197   };
17198 
17199   template <>
17200   struct StructExtends<VideoFormatH265QuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17201   {
17202     enum
17203     {
17204       value = true
17205     };
17206   };
17207 
17208   template <>
17209   struct StructExtends<VideoEncodeAV1QuantizationMapCapabilitiesKHR, VideoCapabilitiesKHR>
17210   {
17211     enum
17212     {
17213       value = true
17214     };
17215   };
17216 
17217   template <>
17218   struct StructExtends<VideoFormatAV1QuantizationMapPropertiesKHR, VideoFormatPropertiesKHR>
17219   {
17220     enum
17221     {
17222       value = true
17223     };
17224   };
17225 
17226   //=== VK_NV_raw_access_chains ===
17227   template <>
17228   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, PhysicalDeviceFeatures2>
17229   {
17230     enum
17231     {
17232       value = true
17233     };
17234   };
17235 
17236   template <>
17237   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, DeviceCreateInfo>
17238   {
17239     enum
17240     {
17241       value = true
17242     };
17243   };
17244 
17245   //=== VK_KHR_shader_relaxed_extended_instruction ===
17246   template <>
17247   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, PhysicalDeviceFeatures2>
17248   {
17249     enum
17250     {
17251       value = true
17252     };
17253   };
17254 
17255   template <>
17256   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, DeviceCreateInfo>
17257   {
17258     enum
17259     {
17260       value = true
17261     };
17262   };
17263 
17264   //=== VK_NV_command_buffer_inheritance ===
17265   template <>
17266   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, PhysicalDeviceFeatures2>
17267   {
17268     enum
17269     {
17270       value = true
17271     };
17272   };
17273 
17274   template <>
17275   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, DeviceCreateInfo>
17276   {
17277     enum
17278     {
17279       value = true
17280     };
17281   };
17282 
17283   //=== VK_KHR_maintenance7 ===
17284   template <>
17285   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, PhysicalDeviceFeatures2>
17286   {
17287     enum
17288     {
17289       value = true
17290     };
17291   };
17292 
17293   template <>
17294   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, DeviceCreateInfo>
17295   {
17296     enum
17297     {
17298       value = true
17299     };
17300   };
17301 
17302   template <>
17303   struct StructExtends<PhysicalDeviceMaintenance7PropertiesKHR, PhysicalDeviceProperties2>
17304   {
17305     enum
17306     {
17307       value = true
17308     };
17309   };
17310 
17311   template <>
17312   struct StructExtends<PhysicalDeviceLayeredApiPropertiesListKHR, PhysicalDeviceProperties2>
17313   {
17314     enum
17315     {
17316       value = true
17317     };
17318   };
17319 
17320   template <>
17321   struct StructExtends<PhysicalDeviceLayeredApiVulkanPropertiesKHR, PhysicalDeviceLayeredApiPropertiesKHR>
17322   {
17323     enum
17324     {
17325       value = true
17326     };
17327   };
17328 
17329   //=== VK_NV_shader_atomic_float16_vector ===
17330   template <>
17331   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, PhysicalDeviceFeatures2>
17332   {
17333     enum
17334     {
17335       value = true
17336     };
17337   };
17338 
17339   template <>
17340   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, DeviceCreateInfo>
17341   {
17342     enum
17343     {
17344       value = true
17345     };
17346   };
17347 
17348   //=== VK_EXT_shader_replicated_composites ===
17349   template <>
17350   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, PhysicalDeviceFeatures2>
17351   {
17352     enum
17353     {
17354       value = true
17355     };
17356   };
17357 
17358   template <>
17359   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, DeviceCreateInfo>
17360   {
17361     enum
17362     {
17363       value = true
17364     };
17365   };
17366 
17367   //=== VK_NV_ray_tracing_validation ===
17368   template <>
17369   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, PhysicalDeviceFeatures2>
17370   {
17371     enum
17372     {
17373       value = true
17374     };
17375   };
17376 
17377   template <>
17378   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, DeviceCreateInfo>
17379   {
17380     enum
17381     {
17382       value = true
17383     };
17384   };
17385 
17386   //=== VK_EXT_device_generated_commands ===
17387   template <>
17388   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, PhysicalDeviceFeatures2>
17389   {
17390     enum
17391     {
17392       value = true
17393     };
17394   };
17395 
17396   template <>
17397   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesEXT, DeviceCreateInfo>
17398   {
17399     enum
17400     {
17401       value = true
17402     };
17403   };
17404 
17405   template <>
17406   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesEXT, PhysicalDeviceProperties2>
17407   {
17408     enum
17409     {
17410       value = true
17411     };
17412   };
17413 
17414   template <>
17415   struct StructExtends<GeneratedCommandsPipelineInfoEXT, GeneratedCommandsInfoEXT>
17416   {
17417     enum
17418     {
17419       value = true
17420     };
17421   };
17422 
17423   template <>
17424   struct StructExtends<GeneratedCommandsPipelineInfoEXT, GeneratedCommandsMemoryRequirementsInfoEXT>
17425   {
17426     enum
17427     {
17428       value = true
17429     };
17430   };
17431 
17432   template <>
17433   struct StructExtends<GeneratedCommandsShaderInfoEXT, GeneratedCommandsInfoEXT>
17434   {
17435     enum
17436     {
17437       value = true
17438     };
17439   };
17440 
17441   template <>
17442   struct StructExtends<GeneratedCommandsShaderInfoEXT, GeneratedCommandsMemoryRequirementsInfoEXT>
17443   {
17444     enum
17445     {
17446       value = true
17447     };
17448   };
17449 
17450   //=== VK_MESA_image_alignment_control ===
17451   template <>
17452   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, PhysicalDeviceFeatures2>
17453   {
17454     enum
17455     {
17456       value = true
17457     };
17458   };
17459 
17460   template <>
17461   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, DeviceCreateInfo>
17462   {
17463     enum
17464     {
17465       value = true
17466     };
17467   };
17468 
17469   template <>
17470   struct StructExtends<PhysicalDeviceImageAlignmentControlPropertiesMESA, PhysicalDeviceProperties2>
17471   {
17472     enum
17473     {
17474       value = true
17475     };
17476   };
17477 
17478   template <>
17479   struct StructExtends<ImageAlignmentControlCreateInfoMESA, ImageCreateInfo>
17480   {
17481     enum
17482     {
17483       value = true
17484     };
17485   };
17486 
17487   //=== VK_EXT_depth_clamp_control ===
17488   template <>
17489   struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, PhysicalDeviceFeatures2>
17490   {
17491     enum
17492     {
17493       value = true
17494     };
17495   };
17496 
17497   template <>
17498   struct StructExtends<PhysicalDeviceDepthClampControlFeaturesEXT, DeviceCreateInfo>
17499   {
17500     enum
17501     {
17502       value = true
17503     };
17504   };
17505 
17506   template <>
17507   struct StructExtends<PipelineViewportDepthClampControlCreateInfoEXT, PipelineViewportStateCreateInfo>
17508   {
17509     enum
17510     {
17511       value = true
17512     };
17513   };
17514 
17515   //=== VK_HUAWEI_hdr_vivid ===
17516   template <>
17517   struct StructExtends<PhysicalDeviceHdrVividFeaturesHUAWEI, PhysicalDeviceFeatures2>
17518   {
17519     enum
17520     {
17521       value = true
17522     };
17523   };
17524 
17525   template <>
17526   struct StructExtends<PhysicalDeviceHdrVividFeaturesHUAWEI, DeviceCreateInfo>
17527   {
17528     enum
17529     {
17530       value = true
17531     };
17532   };
17533 
17534   template <>
17535   struct StructExtends<HdrVividDynamicMetadataHUAWEI, HdrMetadataEXT>
17536   {
17537     enum
17538     {
17539       value = true
17540     };
17541   };
17542 
17543   //=== VK_NV_cooperative_matrix2 ===
17544   template <>
17545   struct StructExtends<PhysicalDeviceCooperativeMatrix2FeaturesNV, PhysicalDeviceFeatures2>
17546   {
17547     enum
17548     {
17549       value = true
17550     };
17551   };
17552 
17553   template <>
17554   struct StructExtends<PhysicalDeviceCooperativeMatrix2FeaturesNV, DeviceCreateInfo>
17555   {
17556     enum
17557     {
17558       value = true
17559     };
17560   };
17561 
17562   template <>
17563   struct StructExtends<PhysicalDeviceCooperativeMatrix2PropertiesNV, PhysicalDeviceProperties2>
17564   {
17565     enum
17566     {
17567       value = true
17568     };
17569   };
17570 
17571   //=== VK_EXT_vertex_attribute_robustness ===
17572   template <>
17573   struct StructExtends<PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, PhysicalDeviceFeatures2>
17574   {
17575     enum
17576     {
17577       value = true
17578     };
17579   };
17580 
17581   template <>
17582   struct StructExtends<PhysicalDeviceVertexAttributeRobustnessFeaturesEXT, DeviceCreateInfo>
17583   {
17584     enum
17585     {
17586       value = true
17587     };
17588   };
17589 
17590 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
17591 
17592   namespace detail
17593   {
17594 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
17595     class DynamicLoader
17596     {
17597     public:
17598 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )17599       DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
17600 #  else
17601       DynamicLoader( std::string const & vulkanLibraryName = {} )
17602 #  endif
17603       {
17604         if ( !vulkanLibraryName.empty() )
17605         {
17606 #  if defined( _WIN32 )
17607           m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
17608 #  elif defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17609           m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
17610 #  else
17611 #    error unsupported platform
17612 #  endif
17613         }
17614         else
17615         {
17616 #  if defined( _WIN32 )
17617           m_library = ::LoadLibraryA( "vulkan-1.dll" );
17618 #  elif defined( __APPLE__ )
17619           m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
17620           if ( !m_library )
17621           {
17622             m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
17623           }
17624           if ( !m_library )
17625           {
17626             m_library = dlopen( "libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL );
17627           }
17628           // Add support for using Vulkan and MoltenVK in a Framework. App store rules for iOS
17629           // strictly enforce no .dylib's. If they aren't found it just falls through
17630           if ( !m_library )
17631           {
17632             m_library = dlopen( "vulkan.framework/vulkan", RTLD_NOW | RTLD_LOCAL );
17633           }
17634           if ( !m_library )
17635           {
17636             m_library = dlopen( "MoltenVK.framework/MoltenVK", RTLD_NOW | RTLD_LOCAL );
17637           }
17638           // modern versions of macOS don't search /usr/local/lib automatically contrary to what man dlopen says
17639           // Vulkan SDK uses this as the system-wide installation location, so we're going to fallback to this if all else fails
17640           if ( !m_library && ( getenv( "DYLD_FALLBACK_LIBRARY_PATH" ) == NULL ) )
17641           {
17642             m_library = dlopen( "/usr/local/lib/libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
17643           }
17644 #  elif defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17645           m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
17646           if ( !m_library )
17647           {
17648             m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
17649           }
17650 #  else
17651 #    error unsupported platform
17652 #  endif
17653         }
17654 
17655 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
17656         if ( !m_library )
17657         {
17658           // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
17659           throw std::runtime_error( "Failed to load vulkan library!" );
17660         }
17661 #  endif
17662       }
17663 
17664       DynamicLoader( DynamicLoader const & ) = delete;
17665 
DynamicLoader(DynamicLoader && other)17666       DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
17667       {
17668         other.m_library = nullptr;
17669       }
17670 
17671       DynamicLoader & operator=( DynamicLoader const & ) = delete;
17672 
operator =(DynamicLoader && other)17673       DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
17674       {
17675         std::swap( m_library, other.m_library );
17676         return *this;
17677       }
17678 
~DynamicLoader()17679       ~DynamicLoader() VULKAN_HPP_NOEXCEPT
17680       {
17681         if ( m_library )
17682         {
17683 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17684           dlclose( m_library );
17685 #  elif defined( _WIN32 )
17686           ::FreeLibrary( m_library );
17687 #  else
17688 #    error unsupported platform
17689 #  endif
17690         }
17691       }
17692 
17693       template <typename T>
getProcAddress(const char * function) const17694       T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
17695       {
17696 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17697         return (T)dlsym( m_library, function );
17698 #  elif defined( _WIN32 )
17699         return ( T )::GetProcAddress( m_library, function );
17700 #  else
17701 #    error unsupported platform
17702 #  endif
17703       }
17704 
success() const17705       bool success() const VULKAN_HPP_NOEXCEPT
17706       {
17707         return m_library != nullptr;
17708       }
17709 
17710     private:
17711 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17712       void * m_library;
17713 #  elif defined( _WIN32 )
17714       ::HINSTANCE m_library;
17715 #  else
17716 #    error unsupported platform
17717 #  endif
17718     };
17719 #endif
17720 
17721     using PFN_dummy = void ( * )();
17722 
17723     class DispatchLoaderDynamic : public DispatchLoaderBase
17724     {
17725     public:
17726       //=== VK_VERSION_1_0 ===
17727       PFN_vkCreateInstance                               vkCreateInstance                               = 0;
17728       PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
17729       PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
17730       PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
17731       PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
17732       PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
17733       PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
17734       PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
17735       PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
17736       PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
17737       PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
17738       PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
17739       PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
17740       PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
17741       PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
17742       PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
17743       PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
17744       PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
17745       PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
17746       PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
17747       PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
17748       PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
17749       PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
17750       PFN_vkMapMemory                                    vkMapMemory                                    = 0;
17751       PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
17752       PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
17753       PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
17754       PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
17755       PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
17756       PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
17757       PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
17758       PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
17759       PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
17760       PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
17761       PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
17762       PFN_vkCreateFence                                  vkCreateFence                                  = 0;
17763       PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
17764       PFN_vkResetFences                                  vkResetFences                                  = 0;
17765       PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
17766       PFN_vkWaitForFences                                vkWaitForFences                                = 0;
17767       PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
17768       PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
17769       PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
17770       PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
17771       PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
17772       PFN_vkSetEvent                                     vkSetEvent                                     = 0;
17773       PFN_vkResetEvent                                   vkResetEvent                                   = 0;
17774       PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
17775       PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
17776       PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
17777       PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
17778       PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
17779       PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
17780       PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
17781       PFN_vkCreateImage                                  vkCreateImage                                  = 0;
17782       PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
17783       PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
17784       PFN_vkCreateImageView                              vkCreateImageView                              = 0;
17785       PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
17786       PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
17787       PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
17788       PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
17789       PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
17790       PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
17791       PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
17792       PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
17793       PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
17794       PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
17795       PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
17796       PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
17797       PFN_vkCreateSampler                                vkCreateSampler                                = 0;
17798       PFN_vkDestroySampler                               vkDestroySampler                               = 0;
17799       PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
17800       PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
17801       PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
17802       PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
17803       PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
17804       PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
17805       PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
17806       PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
17807       PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
17808       PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
17809       PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
17810       PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
17811       PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
17812       PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
17813       PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
17814       PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
17815       PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
17816       PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
17817       PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
17818       PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
17819       PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
17820       PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
17821       PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
17822       PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
17823       PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
17824       PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
17825       PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
17826       PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
17827       PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
17828       PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
17829       PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
17830       PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
17831       PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
17832       PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
17833       PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
17834       PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
17835       PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
17836       PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
17837       PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
17838       PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
17839       PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
17840       PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
17841       PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
17842       PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
17843       PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
17844       PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
17845       PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
17846       PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
17847       PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
17848       PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
17849       PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
17850       PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
17851       PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
17852       PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
17853       PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
17854       PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
17855       PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
17856       PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
17857       PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
17858       PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
17859       PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
17860       PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
17861       PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
17862       PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
17863       PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
17864 
17865       //=== VK_VERSION_1_1 ===
17866       PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
17867       PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
17868       PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
17869       PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
17870       PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
17871       PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
17872       PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
17873       PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
17874       PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
17875       PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
17876       PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
17877       PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
17878       PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
17879       PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
17880       PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
17881       PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
17882       PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
17883       PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
17884       PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
17885       PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
17886       PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
17887       PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
17888       PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
17889       PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
17890       PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
17891       PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
17892       PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
17893       PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
17894 
17895       //=== VK_VERSION_1_2 ===
17896       PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
17897       PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
17898       PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
17899       PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
17900       PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
17901       PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
17902       PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
17903       PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
17904       PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
17905       PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
17906       PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
17907       PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
17908       PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
17909 
17910       //=== VK_VERSION_1_3 ===
17911       PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
17912       PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
17913       PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
17914       PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
17915       PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
17916       PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
17917       PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
17918       PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
17919       PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
17920       PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
17921       PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
17922       PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
17923       PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
17924       PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
17925       PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
17926       PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
17927       PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
17928       PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
17929       PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
17930       PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
17931       PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
17932       PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
17933       PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
17934       PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
17935       PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
17936       PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
17937       PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
17938       PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
17939       PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
17940       PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
17941       PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
17942       PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
17943       PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
17944       PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
17945       PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
17946       PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
17947       PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
17948 
17949       //=== VK_VERSION_1_4 ===
17950       PFN_vkCmdSetLineStipple                     vkCmdSetLineStipple                     = 0;
17951       PFN_vkMapMemory2                            vkMapMemory2                            = 0;
17952       PFN_vkUnmapMemory2                          vkUnmapMemory2                          = 0;
17953       PFN_vkCmdBindIndexBuffer2                   vkCmdBindIndexBuffer2                   = 0;
17954       PFN_vkGetRenderingAreaGranularity           vkGetRenderingAreaGranularity           = 0;
17955       PFN_vkGetDeviceImageSubresourceLayout       vkGetDeviceImageSubresourceLayout       = 0;
17956       PFN_vkGetImageSubresourceLayout2            vkGetImageSubresourceLayout2            = 0;
17957       PFN_vkCmdPushDescriptorSet                  vkCmdPushDescriptorSet                  = 0;
17958       PFN_vkCmdPushDescriptorSetWithTemplate      vkCmdPushDescriptorSetWithTemplate      = 0;
17959       PFN_vkCmdSetRenderingAttachmentLocations    vkCmdSetRenderingAttachmentLocations    = 0;
17960       PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices = 0;
17961       PFN_vkCmdBindDescriptorSets2                vkCmdBindDescriptorSets2                = 0;
17962       PFN_vkCmdPushConstants2                     vkCmdPushConstants2                     = 0;
17963       PFN_vkCmdPushDescriptorSet2                 vkCmdPushDescriptorSet2                 = 0;
17964       PFN_vkCmdPushDescriptorSetWithTemplate2     vkCmdPushDescriptorSetWithTemplate2     = 0;
17965       PFN_vkCopyMemoryToImage                     vkCopyMemoryToImage                     = 0;
17966       PFN_vkCopyImageToMemory                     vkCopyImageToMemory                     = 0;
17967       PFN_vkCopyImageToImage                      vkCopyImageToImage                      = 0;
17968       PFN_vkTransitionImageLayout                 vkTransitionImageLayout                 = 0;
17969 
17970       //=== VK_KHR_surface ===
17971       PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
17972       PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
17973       PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
17974       PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
17975       PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
17976 
17977       //=== VK_KHR_swapchain ===
17978       PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
17979       PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
17980       PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
17981       PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
17982       PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
17983       PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
17984       PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
17985       PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
17986       PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
17987 
17988       //=== VK_KHR_display ===
17989       PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
17990       PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
17991       PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
17992       PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
17993       PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
17994       PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
17995       PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
17996 
17997       //=== VK_KHR_display_swapchain ===
17998       PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
17999 
18000 #if defined( VK_USE_PLATFORM_XLIB_KHR )
18001       //=== VK_KHR_xlib_surface ===
18002       PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
18003       PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
18004 #else
18005       PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
18006       PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
18007 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
18008 
18009 #if defined( VK_USE_PLATFORM_XCB_KHR )
18010       //=== VK_KHR_xcb_surface ===
18011       PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
18012       PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
18013 #else
18014       PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
18015       PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
18016 #endif /*VK_USE_PLATFORM_XCB_KHR*/
18017 
18018 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
18019       //=== VK_KHR_wayland_surface ===
18020       PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
18021       PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
18022 #else
18023       PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
18024       PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
18025 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
18026 
18027 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18028       //=== VK_KHR_android_surface ===
18029       PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
18030 #else
18031       PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
18032 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18033 
18034 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18035       //=== VK_KHR_win32_surface ===
18036       PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
18037       PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
18038 #else
18039       PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
18040       PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
18041 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18042 
18043       //=== VK_EXT_debug_report ===
18044       PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
18045       PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
18046       PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
18047 
18048       //=== VK_EXT_debug_marker ===
18049       PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
18050       PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
18051       PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
18052       PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
18053       PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
18054 
18055       //=== VK_KHR_video_queue ===
18056       PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
18057       PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
18058       PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
18059       PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
18060       PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
18061       PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
18062       PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
18063       PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
18064       PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
18065       PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
18066       PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
18067       PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
18068 
18069       //=== VK_KHR_video_decode_queue ===
18070       PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
18071 
18072       //=== VK_EXT_transform_feedback ===
18073       PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
18074       PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
18075       PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
18076       PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
18077       PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
18078       PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
18079 
18080       //=== VK_NVX_binary_import ===
18081       PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
18082       PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
18083       PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
18084       PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
18085       PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
18086 
18087       //=== VK_NVX_image_view_handle ===
18088       PFN_vkGetImageViewHandleNVX   vkGetImageViewHandleNVX   = 0;
18089       PFN_vkGetImageViewHandle64NVX vkGetImageViewHandle64NVX = 0;
18090       PFN_vkGetImageViewAddressNVX  vkGetImageViewAddressNVX  = 0;
18091 
18092       //=== VK_AMD_draw_indirect_count ===
18093       PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
18094       PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
18095 
18096       //=== VK_AMD_shader_info ===
18097       PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
18098 
18099       //=== VK_KHR_dynamic_rendering ===
18100       PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
18101       PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
18102 
18103 #if defined( VK_USE_PLATFORM_GGP )
18104       //=== VK_GGP_stream_descriptor_surface ===
18105       PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
18106 #else
18107       PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
18108 #endif /*VK_USE_PLATFORM_GGP*/
18109 
18110       //=== VK_NV_external_memory_capabilities ===
18111       PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
18112 
18113 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18114       //=== VK_NV_external_memory_win32 ===
18115       PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
18116 #else
18117       PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
18118 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18119 
18120       //=== VK_KHR_get_physical_device_properties2 ===
18121       PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
18122       PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
18123       PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
18124       PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
18125       PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
18126       PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
18127       PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
18128 
18129       //=== VK_KHR_device_group ===
18130       PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
18131       PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
18132       PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
18133 
18134 #if defined( VK_USE_PLATFORM_VI_NN )
18135       //=== VK_NN_vi_surface ===
18136       PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
18137 #else
18138       PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
18139 #endif /*VK_USE_PLATFORM_VI_NN*/
18140 
18141       //=== VK_KHR_maintenance1 ===
18142       PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
18143 
18144       //=== VK_KHR_device_group_creation ===
18145       PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
18146 
18147       //=== VK_KHR_external_memory_capabilities ===
18148       PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
18149 
18150 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18151       //=== VK_KHR_external_memory_win32 ===
18152       PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
18153       PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
18154 #else
18155       PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
18156       PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
18157 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18158 
18159       //=== VK_KHR_external_memory_fd ===
18160       PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
18161       PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
18162 
18163       //=== VK_KHR_external_semaphore_capabilities ===
18164       PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
18165 
18166 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18167       //=== VK_KHR_external_semaphore_win32 ===
18168       PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
18169       PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
18170 #else
18171       PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
18172       PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
18173 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18174 
18175       //=== VK_KHR_external_semaphore_fd ===
18176       PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
18177       PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
18178 
18179       //=== VK_KHR_push_descriptor ===
18180       PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
18181       PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
18182 
18183       //=== VK_EXT_conditional_rendering ===
18184       PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
18185       PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
18186 
18187       //=== VK_KHR_descriptor_update_template ===
18188       PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
18189       PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
18190       PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
18191 
18192       //=== VK_NV_clip_space_w_scaling ===
18193       PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
18194 
18195       //=== VK_EXT_direct_mode_display ===
18196       PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
18197 
18198 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18199       //=== VK_EXT_acquire_xlib_display ===
18200       PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
18201       PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
18202 #else
18203       PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
18204       PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
18205 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18206 
18207       //=== VK_EXT_display_surface_counter ===
18208       PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
18209 
18210       //=== VK_EXT_display_control ===
18211       PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
18212       PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
18213       PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
18214       PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
18215 
18216       //=== VK_GOOGLE_display_timing ===
18217       PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
18218       PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
18219 
18220       //=== VK_EXT_discard_rectangles ===
18221       PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
18222       PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
18223       PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
18224 
18225       //=== VK_EXT_hdr_metadata ===
18226       PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
18227 
18228       //=== VK_KHR_create_renderpass2 ===
18229       PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
18230       PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
18231       PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
18232       PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
18233 
18234       //=== VK_KHR_shared_presentable_image ===
18235       PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
18236 
18237       //=== VK_KHR_external_fence_capabilities ===
18238       PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
18239 
18240 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18241       //=== VK_KHR_external_fence_win32 ===
18242       PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
18243       PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
18244 #else
18245       PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
18246       PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
18247 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18248 
18249       //=== VK_KHR_external_fence_fd ===
18250       PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
18251       PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
18252 
18253       //=== VK_KHR_performance_query ===
18254       PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
18255       PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
18256       PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
18257       PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
18258 
18259       //=== VK_KHR_get_surface_capabilities2 ===
18260       PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
18261       PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
18262 
18263       //=== VK_KHR_get_display_properties2 ===
18264       PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
18265       PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
18266       PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
18267       PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
18268 
18269 #if defined( VK_USE_PLATFORM_IOS_MVK )
18270       //=== VK_MVK_ios_surface ===
18271       PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
18272 #else
18273       PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
18274 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18275 
18276 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18277       //=== VK_MVK_macos_surface ===
18278       PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
18279 #else
18280       PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
18281 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18282 
18283       //=== VK_EXT_debug_utils ===
18284       PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
18285       PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
18286       PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
18287       PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
18288       PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
18289       PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
18290       PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
18291       PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
18292       PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
18293       PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
18294       PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
18295 
18296 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18297       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18298       PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
18299       PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
18300 #else
18301       PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
18302       PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
18303 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18304 
18305 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18306       //=== VK_AMDX_shader_enqueue ===
18307       PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
18308       PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
18309       PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
18310       PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
18311       PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
18312       PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
18313       PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
18314 #else
18315       PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
18316       PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
18317       PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
18318       PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
18319       PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
18320       PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
18321       PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
18322 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18323 
18324       //=== VK_EXT_sample_locations ===
18325       PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
18326       PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
18327 
18328       //=== VK_KHR_get_memory_requirements2 ===
18329       PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
18330       PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
18331       PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
18332 
18333       //=== VK_KHR_acceleration_structure ===
18334       PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
18335       PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
18336       PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
18337       PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
18338       PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
18339       PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
18340       PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
18341       PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
18342       PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
18343       PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
18344       PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
18345       PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
18346       PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
18347       PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
18348       PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
18349       PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
18350 
18351       //=== VK_KHR_ray_tracing_pipeline ===
18352       PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
18353       PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
18354       PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
18355       PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
18356       PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
18357       PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
18358       PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
18359 
18360       //=== VK_KHR_sampler_ycbcr_conversion ===
18361       PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
18362       PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
18363 
18364       //=== VK_KHR_bind_memory2 ===
18365       PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
18366       PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
18367 
18368       //=== VK_EXT_image_drm_format_modifier ===
18369       PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
18370 
18371       //=== VK_EXT_validation_cache ===
18372       PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
18373       PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
18374       PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
18375       PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
18376 
18377       //=== VK_NV_shading_rate_image ===
18378       PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
18379       PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
18380       PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
18381 
18382       //=== VK_NV_ray_tracing ===
18383       PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
18384       PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
18385       PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
18386       PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
18387       PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
18388       PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
18389       PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
18390       PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
18391       PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
18392       PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
18393       PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
18394       PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
18395 
18396       //=== VK_KHR_maintenance3 ===
18397       PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
18398 
18399       //=== VK_KHR_draw_indirect_count ===
18400       PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
18401       PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
18402 
18403       //=== VK_EXT_external_memory_host ===
18404       PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
18405 
18406       //=== VK_AMD_buffer_marker ===
18407       PFN_vkCmdWriteBufferMarkerAMD  vkCmdWriteBufferMarkerAMD  = 0;
18408       PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD = 0;
18409 
18410       //=== VK_EXT_calibrated_timestamps ===
18411       PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
18412       PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
18413 
18414       //=== VK_NV_mesh_shader ===
18415       PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
18416       PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
18417       PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
18418 
18419       //=== VK_NV_scissor_exclusive ===
18420       PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
18421       PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
18422 
18423       //=== VK_NV_device_diagnostic_checkpoints ===
18424       PFN_vkCmdSetCheckpointNV        vkCmdSetCheckpointNV        = 0;
18425       PFN_vkGetQueueCheckpointDataNV  vkGetQueueCheckpointDataNV  = 0;
18426       PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
18427 
18428       //=== VK_KHR_timeline_semaphore ===
18429       PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
18430       PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
18431       PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
18432 
18433       //=== VK_INTEL_performance_query ===
18434       PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
18435       PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
18436       PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
18437       PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
18438       PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
18439       PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
18440       PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
18441       PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
18442       PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
18443 
18444       //=== VK_AMD_display_native_hdr ===
18445       PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
18446 
18447 #if defined( VK_USE_PLATFORM_FUCHSIA )
18448       //=== VK_FUCHSIA_imagepipe_surface ===
18449       PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
18450 #else
18451       PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
18452 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18453 
18454 #if defined( VK_USE_PLATFORM_METAL_EXT )
18455       //=== VK_EXT_metal_surface ===
18456       PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
18457 #else
18458       PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
18459 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18460 
18461       //=== VK_KHR_fragment_shading_rate ===
18462       PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
18463       PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
18464 
18465       //=== VK_KHR_dynamic_rendering_local_read ===
18466       PFN_vkCmdSetRenderingAttachmentLocationsKHR    vkCmdSetRenderingAttachmentLocationsKHR    = 0;
18467       PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0;
18468 
18469       //=== VK_EXT_buffer_device_address ===
18470       PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
18471 
18472       //=== VK_EXT_tooling_info ===
18473       PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
18474 
18475       //=== VK_KHR_present_wait ===
18476       PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
18477 
18478       //=== VK_NV_cooperative_matrix ===
18479       PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
18480 
18481       //=== VK_NV_coverage_reduction_mode ===
18482       PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
18483 
18484 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18485       //=== VK_EXT_full_screen_exclusive ===
18486       PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
18487       PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
18488       PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
18489       PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
18490 #else
18491       PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
18492       PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
18493       PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
18494       PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
18495 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18496 
18497       //=== VK_EXT_headless_surface ===
18498       PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
18499 
18500       //=== VK_KHR_buffer_device_address ===
18501       PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
18502       PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
18503       PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
18504 
18505       //=== VK_EXT_line_rasterization ===
18506       PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
18507 
18508       //=== VK_EXT_host_query_reset ===
18509       PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
18510 
18511       //=== VK_EXT_extended_dynamic_state ===
18512       PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
18513       PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
18514       PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
18515       PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
18516       PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
18517       PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
18518       PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
18519       PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
18520       PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
18521       PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
18522       PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
18523       PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
18524 
18525       //=== VK_KHR_deferred_host_operations ===
18526       PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
18527       PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
18528       PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
18529       PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
18530       PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
18531 
18532       //=== VK_KHR_pipeline_executable_properties ===
18533       PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
18534       PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
18535       PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
18536 
18537       //=== VK_EXT_host_image_copy ===
18538       PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
18539       PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
18540       PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
18541       PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
18542       PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
18543 
18544       //=== VK_KHR_map_memory2 ===
18545       PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
18546       PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
18547 
18548       //=== VK_EXT_swapchain_maintenance1 ===
18549       PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
18550 
18551       //=== VK_NV_device_generated_commands ===
18552       PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
18553       PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
18554       PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
18555       PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
18556       PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
18557       PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
18558 
18559       //=== VK_EXT_depth_bias_control ===
18560       PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
18561 
18562       //=== VK_EXT_acquire_drm_display ===
18563       PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
18564       PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
18565 
18566       //=== VK_EXT_private_data ===
18567       PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
18568       PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
18569       PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
18570       PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
18571 
18572       //=== VK_KHR_video_encode_queue ===
18573       PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
18574       PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
18575       PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
18576 
18577 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18578       //=== VK_NV_cuda_kernel_launch ===
18579       PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
18580       PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
18581       PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
18582       PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
18583       PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
18584       PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
18585 #else
18586       PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
18587       PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
18588       PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
18589       PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
18590       PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
18591       PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
18592 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
18593 
18594 #if defined( VK_USE_PLATFORM_METAL_EXT )
18595       //=== VK_EXT_metal_objects ===
18596       PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
18597 #else
18598       PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
18599 #endif /*VK_USE_PLATFORM_METAL_EXT*/
18600 
18601       //=== VK_KHR_synchronization2 ===
18602       PFN_vkCmdSetEvent2KHR        vkCmdSetEvent2KHR        = 0;
18603       PFN_vkCmdResetEvent2KHR      vkCmdResetEvent2KHR      = 0;
18604       PFN_vkCmdWaitEvents2KHR      vkCmdWaitEvents2KHR      = 0;
18605       PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR = 0;
18606       PFN_vkCmdWriteTimestamp2KHR  vkCmdWriteTimestamp2KHR  = 0;
18607       PFN_vkQueueSubmit2KHR        vkQueueSubmit2KHR        = 0;
18608 
18609       //=== VK_EXT_descriptor_buffer ===
18610       PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
18611       PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
18612       PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
18613       PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
18614       PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
18615       PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
18616       PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
18617       PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
18618       PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
18619       PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
18620       PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
18621 
18622       //=== VK_NV_fragment_shading_rate_enums ===
18623       PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
18624 
18625       //=== VK_EXT_mesh_shader ===
18626       PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
18627       PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
18628       PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
18629 
18630       //=== VK_KHR_copy_commands2 ===
18631       PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
18632       PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
18633       PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
18634       PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
18635       PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
18636       PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
18637 
18638       //=== VK_EXT_device_fault ===
18639       PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
18640 
18641 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18642       //=== VK_NV_acquire_winrt_display ===
18643       PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
18644       PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
18645 #else
18646       PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
18647       PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
18648 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18649 
18650 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
18651       //=== VK_EXT_directfb_surface ===
18652       PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
18653       PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
18654 #else
18655       PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
18656       PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
18657 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
18658 
18659       //=== VK_EXT_vertex_input_dynamic_state ===
18660       PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
18661 
18662 #if defined( VK_USE_PLATFORM_FUCHSIA )
18663       //=== VK_FUCHSIA_external_memory ===
18664       PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
18665       PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
18666 #else
18667       PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
18668       PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
18669 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18670 
18671 #if defined( VK_USE_PLATFORM_FUCHSIA )
18672       //=== VK_FUCHSIA_external_semaphore ===
18673       PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
18674       PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
18675 #else
18676       PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
18677       PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
18678 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18679 
18680 #if defined( VK_USE_PLATFORM_FUCHSIA )
18681       //=== VK_FUCHSIA_buffer_collection ===
18682       PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
18683       PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
18684       PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
18685       PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
18686       PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
18687 #else
18688       PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
18689       PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
18690       PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
18691       PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
18692       PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
18693 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18694 
18695       //=== VK_HUAWEI_subpass_shading ===
18696       PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
18697       PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
18698 
18699       //=== VK_HUAWEI_invocation_mask ===
18700       PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
18701 
18702       //=== VK_NV_external_memory_rdma ===
18703       PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
18704 
18705       //=== VK_EXT_pipeline_properties ===
18706       PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
18707 
18708       //=== VK_EXT_extended_dynamic_state2 ===
18709       PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
18710       PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
18711       PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
18712       PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
18713       PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
18714 
18715 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18716       //=== VK_QNX_screen_surface ===
18717       PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
18718       PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
18719 #else
18720       PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
18721       PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
18722 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18723 
18724       //=== VK_EXT_color_write_enable ===
18725       PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
18726 
18727       //=== VK_KHR_ray_tracing_maintenance1 ===
18728       PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
18729 
18730       //=== VK_EXT_multi_draw ===
18731       PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
18732       PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
18733 
18734       //=== VK_EXT_opacity_micromap ===
18735       PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
18736       PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
18737       PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
18738       PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
18739       PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
18740       PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
18741       PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
18742       PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
18743       PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
18744       PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
18745       PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
18746       PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
18747       PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
18748       PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
18749 
18750       //=== VK_HUAWEI_cluster_culling_shader ===
18751       PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
18752       PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
18753 
18754       //=== VK_EXT_pageable_device_local_memory ===
18755       PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
18756 
18757       //=== VK_KHR_maintenance4 ===
18758       PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
18759       PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
18760       PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
18761 
18762       //=== VK_VALVE_descriptor_set_host_mapping ===
18763       PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
18764       PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
18765 
18766       //=== VK_NV_copy_memory_indirect ===
18767       PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
18768       PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
18769 
18770       //=== VK_NV_memory_decompression ===
18771       PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
18772       PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
18773 
18774       //=== VK_NV_device_generated_commands_compute ===
18775       PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
18776       PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
18777       PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
18778 
18779       //=== VK_EXT_extended_dynamic_state3 ===
18780       PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
18781       PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
18782       PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
18783       PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
18784       PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
18785       PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
18786       PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
18787       PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
18788       PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
18789       PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
18790       PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
18791       PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
18792       PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
18793       PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
18794       PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
18795       PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
18796       PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
18797       PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
18798       PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
18799       PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
18800       PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
18801       PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
18802       PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
18803       PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
18804       PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
18805       PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
18806       PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
18807       PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
18808       PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
18809       PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
18810       PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
18811 
18812       //=== VK_EXT_shader_module_identifier ===
18813       PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
18814       PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
18815 
18816       //=== VK_NV_optical_flow ===
18817       PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
18818       PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
18819       PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
18820       PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
18821       PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
18822 
18823       //=== VK_KHR_maintenance5 ===
18824       PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
18825       PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
18826       PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
18827       PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
18828 
18829       //=== VK_AMD_anti_lag ===
18830       PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD = 0;
18831 
18832       //=== VK_EXT_shader_object ===
18833       PFN_vkCreateShadersEXT         vkCreateShadersEXT         = 0;
18834       PFN_vkDestroyShaderEXT         vkDestroyShaderEXT         = 0;
18835       PFN_vkGetShaderBinaryDataEXT   vkGetShaderBinaryDataEXT   = 0;
18836       PFN_vkCmdBindShadersEXT        vkCmdBindShadersEXT        = 0;
18837       PFN_vkCmdSetDepthClampRangeEXT vkCmdSetDepthClampRangeEXT = 0;
18838 
18839       //=== VK_KHR_pipeline_binary ===
18840       PFN_vkCreatePipelineBinariesKHR      vkCreatePipelineBinariesKHR      = 0;
18841       PFN_vkDestroyPipelineBinaryKHR       vkDestroyPipelineBinaryKHR       = 0;
18842       PFN_vkGetPipelineKeyKHR              vkGetPipelineKeyKHR              = 0;
18843       PFN_vkGetPipelineBinaryDataKHR       vkGetPipelineBinaryDataKHR       = 0;
18844       PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR = 0;
18845 
18846       //=== VK_QCOM_tile_properties ===
18847       PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
18848       PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
18849 
18850       //=== VK_NV_low_latency2 ===
18851       PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
18852       PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
18853       PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
18854       PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
18855       PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
18856 
18857       //=== VK_KHR_cooperative_matrix ===
18858       PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
18859 
18860       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
18861       PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
18862 
18863 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18864       //=== VK_QNX_external_memory_screen_buffer ===
18865       PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
18866 #else
18867       PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
18868 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18869 
18870       //=== VK_KHR_line_rasterization ===
18871       PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0;
18872 
18873       //=== VK_KHR_calibrated_timestamps ===
18874       PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
18875       PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
18876 
18877       //=== VK_KHR_maintenance6 ===
18878       PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
18879       PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
18880       PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
18881       PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
18882       PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
18883       PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
18884 
18885       //=== VK_EXT_device_generated_commands ===
18886       PFN_vkGetGeneratedCommandsMemoryRequirementsEXT vkGetGeneratedCommandsMemoryRequirementsEXT = 0;
18887       PFN_vkCmdPreprocessGeneratedCommandsEXT         vkCmdPreprocessGeneratedCommandsEXT         = 0;
18888       PFN_vkCmdExecuteGeneratedCommandsEXT            vkCmdExecuteGeneratedCommandsEXT            = 0;
18889       PFN_vkCreateIndirectCommandsLayoutEXT           vkCreateIndirectCommandsLayoutEXT           = 0;
18890       PFN_vkDestroyIndirectCommandsLayoutEXT          vkDestroyIndirectCommandsLayoutEXT          = 0;
18891       PFN_vkCreateIndirectExecutionSetEXT             vkCreateIndirectExecutionSetEXT             = 0;
18892       PFN_vkDestroyIndirectExecutionSetEXT            vkDestroyIndirectExecutionSetEXT            = 0;
18893       PFN_vkUpdateIndirectExecutionSetPipelineEXT     vkUpdateIndirectExecutionSetPipelineEXT     = 0;
18894       PFN_vkUpdateIndirectExecutionSetShaderEXT       vkUpdateIndirectExecutionSetShaderEXT       = 0;
18895 
18896       //=== VK_NV_cooperative_matrix2 ===
18897       PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = 0;
18898 
18899     public:
18900       DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
18901       DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
18902 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18903       DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18904       {
18905         init( getInstanceProcAddr );
18906       }
18907 
18908       // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)18909       DispatchLoaderDynamic( VkInstance                instance,
18910                              PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18911                              VkDevice                  device            = {},
18912                              PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
18913       {
18914         init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
18915       }
18916 
18917       template <typename DynamicLoader
18918 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
18919                 = VULKAN_HPP_NAMESPACE::detail::DynamicLoader
18920 #endif
18921                 >
init()18922       void init()
18923       {
18924         static DynamicLoader dl;
18925         init( dl );
18926       }
18927 
18928       template <typename DynamicLoader>
init(DynamicLoader const & dl)18929       void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
18930       {
18931         PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
18932         init( getInstanceProcAddr );
18933       }
18934 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18935       void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18936       {
18937         VULKAN_HPP_ASSERT( getInstanceProcAddr );
18938 
18939         vkGetInstanceProcAddr = getInstanceProcAddr;
18940 
18941         //=== VK_VERSION_1_0 ===
18942         vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
18943         vkEnumerateInstanceExtensionProperties =
18944           PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
18945         vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
18946 
18947         //=== VK_VERSION_1_1 ===
18948         vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
18949       }
18950 
18951       // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)18952       void init( VkInstance                instance,
18953                  PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18954                  VkDevice                  device              = {},
18955                  PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
18956       {
18957         VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
18958         vkGetInstanceProcAddr = getInstanceProcAddr;
18959         init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
18960         if ( device )
18961         {
18962           init( VULKAN_HPP_NAMESPACE::Device( device ) );
18963         }
18964       }
18965 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)18966       void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
18967       {
18968         VkInstance instance = static_cast<VkInstance>( instanceCpp );
18969 
18970         //=== VK_VERSION_1_0 ===
18971         vkDestroyInstance           = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
18972         vkEnumeratePhysicalDevices  = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
18973         vkGetPhysicalDeviceFeatures = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
18974         vkGetPhysicalDeviceFormatProperties =
18975           PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
18976         vkGetPhysicalDeviceImageFormatProperties =
18977           PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
18978         vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
18979         vkGetPhysicalDeviceQueueFamilyProperties =
18980           PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
18981         vkGetPhysicalDeviceMemoryProperties =
18982           PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
18983         vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
18984         vkCreateDevice      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
18985         vkDestroyDevice     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
18986         vkEnumerateDeviceExtensionProperties =
18987           PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
18988         vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
18989         vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
18990         vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
18991         vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
18992         vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
18993         vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
18994         vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
18995         vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
18996         vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
18997         vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
18998         vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
18999         vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
19000         vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
19001         vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
19002         vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
19003         vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
19004         vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
19005         vkGetPhysicalDeviceSparseImageFormatProperties =
19006           PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
19007         vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
19008         vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
19009         vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
19010         vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
19011         vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
19012         vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
19013         vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
19014         vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
19015         vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
19016         vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
19017         vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
19018         vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
19019         vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
19020         vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
19021         vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
19022         vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
19023         vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
19024         vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
19025         vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
19026         vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
19027         vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
19028         vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
19029         vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
19030         vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
19031         vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
19032         vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
19033         vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
19034         vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
19035         vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
19036         vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
19037         vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
19038         vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
19039         vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
19040         vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
19041         vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
19042         vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
19043         vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
19044         vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
19045         vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
19046         vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
19047         vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
19048         vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
19049         vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
19050         vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
19051         vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
19052         vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
19053         vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
19054         vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
19055         vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
19056         vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
19057         vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
19058         vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
19059         vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
19060         vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
19061         vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
19062         vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
19063         vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
19064         vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
19065         vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
19066         vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
19067         vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
19068         vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
19069         vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
19070         vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
19071         vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
19072         vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
19073         vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
19074         vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
19075         vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
19076         vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
19077         vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
19078         vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
19079         vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
19080         vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
19081         vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
19082         vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
19083         vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
19084         vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
19085         vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
19086         vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
19087         vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
19088         vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
19089         vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
19090         vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
19091         vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
19092         vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
19093         vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
19094         vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
19095         vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
19096         vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
19097         vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
19098         vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
19099         vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
19100         vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
19101         vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
19102         vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
19103         vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
19104         vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
19105         vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
19106         vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
19107         vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
19108         vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
19109         vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
19110 
19111         //=== VK_VERSION_1_1 ===
19112         vkBindBufferMemory2                = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
19113         vkBindImageMemory2                 = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
19114         vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19115         vkCmdSetDeviceMask                 = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
19116         vkCmdDispatchBase                  = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
19117         vkEnumeratePhysicalDeviceGroups    = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
19118         vkGetImageMemoryRequirements2      = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
19119         vkGetBufferMemoryRequirements2     = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
19120         vkGetImageSparseMemoryRequirements2 =
19121           PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
19122         vkGetPhysicalDeviceFeatures2   = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
19123         vkGetPhysicalDeviceProperties2 = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
19124         vkGetPhysicalDeviceFormatProperties2 =
19125           PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
19126         vkGetPhysicalDeviceImageFormatProperties2 =
19127           PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
19128         vkGetPhysicalDeviceQueueFamilyProperties2 =
19129           PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
19130         vkGetPhysicalDeviceMemoryProperties2 =
19131           PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
19132         vkGetPhysicalDeviceSparseImageFormatProperties2 =
19133           PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
19134         vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
19135         vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
19136         vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
19137         vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
19138         vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
19139         vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
19140         vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
19141         vkGetPhysicalDeviceExternalBufferProperties =
19142           PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
19143         vkGetPhysicalDeviceExternalFenceProperties =
19144           PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
19145         vkGetPhysicalDeviceExternalSemaphoreProperties =
19146           PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
19147         vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
19148 
19149         //=== VK_VERSION_1_2 ===
19150         vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
19151         vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
19152         vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
19153         vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
19154         vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
19155         vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
19156         vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
19157         vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
19158         vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
19159         vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
19160         vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
19161         vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
19162         vkGetDeviceMemoryOpaqueCaptureAddress =
19163           PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19164 
19165         //=== VK_VERSION_1_3 ===
19166         vkGetPhysicalDeviceToolProperties = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
19167         vkCreatePrivateDataSlot           = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
19168         vkDestroyPrivateDataSlot          = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
19169         vkSetPrivateData                  = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
19170         vkGetPrivateData                  = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
19171         vkCmdSetEvent2                    = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
19172         vkCmdResetEvent2                  = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
19173         vkCmdWaitEvents2                  = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
19174         vkCmdPipelineBarrier2             = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
19175         vkCmdWriteTimestamp2              = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
19176         vkQueueSubmit2                    = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
19177         vkCmdCopyBuffer2                  = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
19178         vkCmdCopyImage2                   = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
19179         vkCmdCopyBufferToImage2           = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
19180         vkCmdCopyImageToBuffer2           = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
19181         vkCmdBlitImage2                   = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
19182         vkCmdResolveImage2                = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
19183         vkCmdBeginRendering               = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
19184         vkCmdEndRendering                 = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
19185         vkCmdSetCullMode                  = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
19186         vkCmdSetFrontFace                 = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
19187         vkCmdSetPrimitiveTopology         = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
19188         vkCmdSetViewportWithCount         = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
19189         vkCmdSetScissorWithCount          = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
19190         vkCmdBindVertexBuffers2           = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
19191         vkCmdSetDepthTestEnable           = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
19192         vkCmdSetDepthWriteEnable          = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
19193         vkCmdSetDepthCompareOp            = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
19194         vkCmdSetDepthBoundsTestEnable     = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
19195         vkCmdSetStencilTestEnable         = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
19196         vkCmdSetStencilOp                 = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
19197         vkCmdSetRasterizerDiscardEnable   = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
19198         vkCmdSetDepthBiasEnable           = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
19199         vkCmdSetPrimitiveRestartEnable    = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
19200         vkGetDeviceBufferMemoryRequirements =
19201           PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
19202         vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
19203         vkGetDeviceImageSparseMemoryRequirements =
19204           PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
19205 
19206         //=== VK_VERSION_1_4 ===
19207         vkCmdSetLineStipple                = PFN_vkCmdSetLineStipple( vkGetInstanceProcAddr( instance, "vkCmdSetLineStipple" ) );
19208         vkMapMemory2                       = PFN_vkMapMemory2( vkGetInstanceProcAddr( instance, "vkMapMemory2" ) );
19209         vkUnmapMemory2                     = PFN_vkUnmapMemory2( vkGetInstanceProcAddr( instance, "vkUnmapMemory2" ) );
19210         vkCmdBindIndexBuffer2              = PFN_vkCmdBindIndexBuffer2( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2" ) );
19211         vkGetRenderingAreaGranularity      = PFN_vkGetRenderingAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularity" ) );
19212         vkGetDeviceImageSubresourceLayout  = PFN_vkGetDeviceImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayout" ) );
19213         vkGetImageSubresourceLayout2       = PFN_vkGetImageSubresourceLayout2( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2" ) );
19214         vkCmdPushDescriptorSet             = PFN_vkCmdPushDescriptorSet( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet" ) );
19215         vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate" ) );
19216         vkCmdSetRenderingAttachmentLocations =
19217           PFN_vkCmdSetRenderingAttachmentLocations( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocations" ) );
19218         vkCmdSetRenderingInputAttachmentIndices =
19219           PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndices" ) );
19220         vkCmdBindDescriptorSets2 = PFN_vkCmdBindDescriptorSets2( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2" ) );
19221         vkCmdPushConstants2      = PFN_vkCmdPushConstants2( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2" ) );
19222         vkCmdPushDescriptorSet2  = PFN_vkCmdPushDescriptorSet2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2" ) );
19223         vkCmdPushDescriptorSetWithTemplate2 =
19224           PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2" ) );
19225         vkCopyMemoryToImage     = PFN_vkCopyMemoryToImage( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImage" ) );
19226         vkCopyImageToMemory     = PFN_vkCopyImageToMemory( vkGetInstanceProcAddr( instance, "vkCopyImageToMemory" ) );
19227         vkCopyImageToImage      = PFN_vkCopyImageToImage( vkGetInstanceProcAddr( instance, "vkCopyImageToImage" ) );
19228         vkTransitionImageLayout = PFN_vkTransitionImageLayout( vkGetInstanceProcAddr( instance, "vkTransitionImageLayout" ) );
19229 
19230         //=== VK_KHR_surface ===
19231         vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
19232         vkGetPhysicalDeviceSurfaceSupportKHR =
19233           PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
19234         vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
19235           PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
19236         vkGetPhysicalDeviceSurfaceFormatsKHR =
19237           PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
19238         vkGetPhysicalDeviceSurfacePresentModesKHR =
19239           PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
19240 
19241         //=== VK_KHR_swapchain ===
19242         vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
19243         vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
19244         vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
19245         vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
19246         vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
19247         vkGetDeviceGroupPresentCapabilitiesKHR =
19248           PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19249         vkGetDeviceGroupSurfacePresentModesKHR =
19250           PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19251         vkGetPhysicalDevicePresentRectanglesKHR =
19252           PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
19253         vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
19254 
19255         //=== VK_KHR_display ===
19256         vkGetPhysicalDeviceDisplayPropertiesKHR =
19257           PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
19258         vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
19259           PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
19260         vkGetDisplayPlaneSupportedDisplaysKHR =
19261           PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
19262         vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
19263         vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
19264         vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
19265         vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
19266 
19267         //=== VK_KHR_display_swapchain ===
19268         vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
19269 
19270 #if defined( VK_USE_PLATFORM_XLIB_KHR )
19271         //=== VK_KHR_xlib_surface ===
19272         vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
19273         vkGetPhysicalDeviceXlibPresentationSupportKHR =
19274           PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
19275 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
19276 
19277 #if defined( VK_USE_PLATFORM_XCB_KHR )
19278         //=== VK_KHR_xcb_surface ===
19279         vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
19280         vkGetPhysicalDeviceXcbPresentationSupportKHR =
19281           PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
19282 #endif /*VK_USE_PLATFORM_XCB_KHR*/
19283 
19284 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
19285         //=== VK_KHR_wayland_surface ===
19286         vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
19287         vkGetPhysicalDeviceWaylandPresentationSupportKHR =
19288           PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
19289 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
19290 
19291 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19292         //=== VK_KHR_android_surface ===
19293         vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
19294 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19295 
19296 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19297         //=== VK_KHR_win32_surface ===
19298         vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
19299         vkGetPhysicalDeviceWin32PresentationSupportKHR =
19300           PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
19301 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19302 
19303         //=== VK_EXT_debug_report ===
19304         vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
19305         vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
19306         vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
19307 
19308         //=== VK_EXT_debug_marker ===
19309         vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
19310         vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
19311         vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
19312         vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
19313         vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
19314 
19315         //=== VK_KHR_video_queue ===
19316         vkGetPhysicalDeviceVideoCapabilitiesKHR =
19317           PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
19318         vkGetPhysicalDeviceVideoFormatPropertiesKHR =
19319           PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
19320         vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
19321         vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
19322         vkGetVideoSessionMemoryRequirementsKHR =
19323           PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
19324         vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
19325         vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
19326         vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
19327         vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
19328         vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
19329         vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
19330         vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
19331 
19332         //=== VK_KHR_video_decode_queue ===
19333         vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
19334 
19335         //=== VK_EXT_transform_feedback ===
19336         vkCmdBindTransformFeedbackBuffersEXT =
19337           PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
19338         vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
19339         vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
19340         vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
19341         vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
19342         vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
19343 
19344         //=== VK_NVX_binary_import ===
19345         vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
19346         vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
19347         vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
19348         vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
19349         vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
19350 
19351         //=== VK_NVX_image_view_handle ===
19352         vkGetImageViewHandleNVX   = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
19353         vkGetImageViewHandle64NVX = PFN_vkGetImageViewHandle64NVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandle64NVX" ) );
19354         vkGetImageViewAddressNVX  = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
19355 
19356         //=== VK_AMD_draw_indirect_count ===
19357         vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
19358         if ( !vkCmdDrawIndirectCount )
19359           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
19360         vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
19361         if ( !vkCmdDrawIndexedIndirectCount )
19362           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
19363 
19364         //=== VK_AMD_shader_info ===
19365         vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
19366 
19367         //=== VK_KHR_dynamic_rendering ===
19368         vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
19369         if ( !vkCmdBeginRendering )
19370           vkCmdBeginRendering = vkCmdBeginRenderingKHR;
19371         vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
19372         if ( !vkCmdEndRendering )
19373           vkCmdEndRendering = vkCmdEndRenderingKHR;
19374 
19375 #if defined( VK_USE_PLATFORM_GGP )
19376         //=== VK_GGP_stream_descriptor_surface ===
19377         vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
19378 #endif /*VK_USE_PLATFORM_GGP*/
19379 
19380         //=== VK_NV_external_memory_capabilities ===
19381         vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
19382           PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
19383 
19384 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19385         //=== VK_NV_external_memory_win32 ===
19386         vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
19387 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19388 
19389         //=== VK_KHR_get_physical_device_properties2 ===
19390         vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
19391         if ( !vkGetPhysicalDeviceFeatures2 )
19392           vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
19393         vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
19394         if ( !vkGetPhysicalDeviceProperties2 )
19395           vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
19396         vkGetPhysicalDeviceFormatProperties2KHR =
19397           PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
19398         if ( !vkGetPhysicalDeviceFormatProperties2 )
19399           vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
19400         vkGetPhysicalDeviceImageFormatProperties2KHR =
19401           PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
19402         if ( !vkGetPhysicalDeviceImageFormatProperties2 )
19403           vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
19404         vkGetPhysicalDeviceQueueFamilyProperties2KHR =
19405           PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
19406         if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
19407           vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
19408         vkGetPhysicalDeviceMemoryProperties2KHR =
19409           PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
19410         if ( !vkGetPhysicalDeviceMemoryProperties2 )
19411           vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
19412         vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
19413           PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
19414         if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
19415           vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
19416 
19417         //=== VK_KHR_device_group ===
19418         vkGetDeviceGroupPeerMemoryFeaturesKHR =
19419           PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
19420         if ( !vkGetDeviceGroupPeerMemoryFeatures )
19421           vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
19422         vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
19423         if ( !vkCmdSetDeviceMask )
19424           vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
19425         vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
19426         if ( !vkCmdDispatchBase )
19427           vkCmdDispatchBase = vkCmdDispatchBaseKHR;
19428 
19429 #if defined( VK_USE_PLATFORM_VI_NN )
19430         //=== VK_NN_vi_surface ===
19431         vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
19432 #endif /*VK_USE_PLATFORM_VI_NN*/
19433 
19434         //=== VK_KHR_maintenance1 ===
19435         vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
19436         if ( !vkTrimCommandPool )
19437           vkTrimCommandPool = vkTrimCommandPoolKHR;
19438 
19439         //=== VK_KHR_device_group_creation ===
19440         vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
19441         if ( !vkEnumeratePhysicalDeviceGroups )
19442           vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
19443 
19444         //=== VK_KHR_external_memory_capabilities ===
19445         vkGetPhysicalDeviceExternalBufferPropertiesKHR =
19446           PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
19447         if ( !vkGetPhysicalDeviceExternalBufferProperties )
19448           vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
19449 
19450 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19451         //=== VK_KHR_external_memory_win32 ===
19452         vkGetMemoryWin32HandleKHR = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
19453         vkGetMemoryWin32HandlePropertiesKHR =
19454           PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
19455 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19456 
19457         //=== VK_KHR_external_memory_fd ===
19458         vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
19459         vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
19460 
19461         //=== VK_KHR_external_semaphore_capabilities ===
19462         vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
19463           PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
19464         if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
19465           vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
19466 
19467 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19468         //=== VK_KHR_external_semaphore_win32 ===
19469         vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
19470         vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
19471 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19472 
19473         //=== VK_KHR_external_semaphore_fd ===
19474         vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
19475         vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
19476 
19477         //=== VK_KHR_push_descriptor ===
19478         vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
19479         if ( !vkCmdPushDescriptorSet )
19480           vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
19481         vkCmdPushDescriptorSetWithTemplateKHR =
19482           PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
19483         if ( !vkCmdPushDescriptorSetWithTemplate )
19484           vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
19485 
19486         //=== VK_EXT_conditional_rendering ===
19487         vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
19488         vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
19489 
19490         //=== VK_KHR_descriptor_update_template ===
19491         vkCreateDescriptorUpdateTemplateKHR =
19492           PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
19493         if ( !vkCreateDescriptorUpdateTemplate )
19494           vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
19495         vkDestroyDescriptorUpdateTemplateKHR =
19496           PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
19497         if ( !vkDestroyDescriptorUpdateTemplate )
19498           vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
19499         vkUpdateDescriptorSetWithTemplateKHR =
19500           PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
19501         if ( !vkUpdateDescriptorSetWithTemplate )
19502           vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
19503 
19504         //=== VK_NV_clip_space_w_scaling ===
19505         vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
19506 
19507         //=== VK_EXT_direct_mode_display ===
19508         vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
19509 
19510 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
19511         //=== VK_EXT_acquire_xlib_display ===
19512         vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
19513         vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
19514 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
19515 
19516         //=== VK_EXT_display_surface_counter ===
19517         vkGetPhysicalDeviceSurfaceCapabilities2EXT =
19518           PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
19519 
19520         //=== VK_EXT_display_control ===
19521         vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
19522         vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
19523         vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
19524         vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
19525 
19526         //=== VK_GOOGLE_display_timing ===
19527         vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
19528         vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
19529 
19530         //=== VK_EXT_discard_rectangles ===
19531         vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
19532         vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
19533         vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
19534 
19535         //=== VK_EXT_hdr_metadata ===
19536         vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
19537 
19538         //=== VK_KHR_create_renderpass2 ===
19539         vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
19540         if ( !vkCreateRenderPass2 )
19541           vkCreateRenderPass2 = vkCreateRenderPass2KHR;
19542         vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
19543         if ( !vkCmdBeginRenderPass2 )
19544           vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
19545         vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
19546         if ( !vkCmdNextSubpass2 )
19547           vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
19548         vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
19549         if ( !vkCmdEndRenderPass2 )
19550           vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
19551 
19552         //=== VK_KHR_shared_presentable_image ===
19553         vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
19554 
19555         //=== VK_KHR_external_fence_capabilities ===
19556         vkGetPhysicalDeviceExternalFencePropertiesKHR =
19557           PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
19558         if ( !vkGetPhysicalDeviceExternalFenceProperties )
19559           vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
19560 
19561 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19562         //=== VK_KHR_external_fence_win32 ===
19563         vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
19564         vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
19565 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19566 
19567         //=== VK_KHR_external_fence_fd ===
19568         vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
19569         vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
19570 
19571         //=== VK_KHR_performance_query ===
19572         vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
19573           vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
19574         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
19575           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
19576         vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
19577         vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
19578 
19579         //=== VK_KHR_get_surface_capabilities2 ===
19580         vkGetPhysicalDeviceSurfaceCapabilities2KHR =
19581           PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
19582         vkGetPhysicalDeviceSurfaceFormats2KHR =
19583           PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
19584 
19585         //=== VK_KHR_get_display_properties2 ===
19586         vkGetPhysicalDeviceDisplayProperties2KHR =
19587           PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
19588         vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
19589           PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
19590         vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
19591         vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
19592 
19593 #if defined( VK_USE_PLATFORM_IOS_MVK )
19594         //=== VK_MVK_ios_surface ===
19595         vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
19596 #endif /*VK_USE_PLATFORM_IOS_MVK*/
19597 
19598 #if defined( VK_USE_PLATFORM_MACOS_MVK )
19599         //=== VK_MVK_macos_surface ===
19600         vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
19601 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
19602 
19603         //=== VK_EXT_debug_utils ===
19604         vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
19605         vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
19606         vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
19607         vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
19608         vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
19609         vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
19610         vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
19611         vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
19612         vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
19613         vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
19614         vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
19615 
19616 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
19617         //=== VK_ANDROID_external_memory_android_hardware_buffer ===
19618         vkGetAndroidHardwareBufferPropertiesANDROID =
19619           PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
19620         vkGetMemoryAndroidHardwareBufferANDROID =
19621           PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
19622 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
19623 
19624 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19625         //=== VK_AMDX_shader_enqueue ===
19626         vkCreateExecutionGraphPipelinesAMDX =
19627           PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
19628         vkGetExecutionGraphPipelineScratchSizeAMDX =
19629           PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
19630         vkGetExecutionGraphPipelineNodeIndexAMDX =
19631           PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
19632         vkCmdInitializeGraphScratchMemoryAMDX =
19633           PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
19634         vkCmdDispatchGraphAMDX         = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
19635         vkCmdDispatchGraphIndirectAMDX = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
19636         vkCmdDispatchGraphIndirectCountAMDX =
19637           PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
19638 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19639 
19640         //=== VK_EXT_sample_locations ===
19641         vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
19642         vkGetPhysicalDeviceMultisamplePropertiesEXT =
19643           PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
19644 
19645         //=== VK_KHR_get_memory_requirements2 ===
19646         vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
19647         if ( !vkGetImageMemoryRequirements2 )
19648           vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
19649         vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
19650         if ( !vkGetBufferMemoryRequirements2 )
19651           vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
19652         vkGetImageSparseMemoryRequirements2KHR =
19653           PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
19654         if ( !vkGetImageSparseMemoryRequirements2 )
19655           vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
19656 
19657         //=== VK_KHR_acceleration_structure ===
19658         vkCreateAccelerationStructureKHR  = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
19659         vkDestroyAccelerationStructureKHR = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
19660         vkCmdBuildAccelerationStructuresKHR =
19661           PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
19662         vkCmdBuildAccelerationStructuresIndirectKHR =
19663           PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
19664         vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
19665         vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
19666         vkCopyAccelerationStructureToMemoryKHR =
19667           PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
19668         vkCopyMemoryToAccelerationStructureKHR =
19669           PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
19670         vkWriteAccelerationStructuresPropertiesKHR =
19671           PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
19672         vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
19673         vkCmdCopyAccelerationStructureToMemoryKHR =
19674           PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
19675         vkCmdCopyMemoryToAccelerationStructureKHR =
19676           PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
19677         vkGetAccelerationStructureDeviceAddressKHR =
19678           PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
19679         vkCmdWriteAccelerationStructuresPropertiesKHR =
19680           PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
19681         vkGetDeviceAccelerationStructureCompatibilityKHR =
19682           PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
19683         vkGetAccelerationStructureBuildSizesKHR =
19684           PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
19685 
19686         //=== VK_KHR_ray_tracing_pipeline ===
19687         vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
19688         vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
19689         vkGetRayTracingShaderGroupHandlesKHR =
19690           PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
19691         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
19692           PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
19693         vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
19694         vkGetRayTracingShaderGroupStackSizeKHR =
19695           PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
19696         vkCmdSetRayTracingPipelineStackSizeKHR =
19697           PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
19698 
19699         //=== VK_KHR_sampler_ycbcr_conversion ===
19700         vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
19701         if ( !vkCreateSamplerYcbcrConversion )
19702           vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
19703         vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
19704         if ( !vkDestroySamplerYcbcrConversion )
19705           vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
19706 
19707         //=== VK_KHR_bind_memory2 ===
19708         vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
19709         if ( !vkBindBufferMemory2 )
19710           vkBindBufferMemory2 = vkBindBufferMemory2KHR;
19711         vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
19712         if ( !vkBindImageMemory2 )
19713           vkBindImageMemory2 = vkBindImageMemory2KHR;
19714 
19715         //=== VK_EXT_image_drm_format_modifier ===
19716         vkGetImageDrmFormatModifierPropertiesEXT =
19717           PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
19718 
19719         //=== VK_EXT_validation_cache ===
19720         vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
19721         vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
19722         vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
19723         vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
19724 
19725         //=== VK_NV_shading_rate_image ===
19726         vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
19727         vkCmdSetViewportShadingRatePaletteNV =
19728           PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
19729         vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
19730 
19731         //=== VK_NV_ray_tracing ===
19732         vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
19733         vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
19734         vkGetAccelerationStructureMemoryRequirementsNV =
19735           PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
19736         vkBindAccelerationStructureMemoryNV =
19737           PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
19738         vkCmdBuildAccelerationStructureNV = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
19739         vkCmdCopyAccelerationStructureNV  = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
19740         vkCmdTraceRaysNV                  = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
19741         vkCreateRayTracingPipelinesNV     = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
19742         vkGetRayTracingShaderGroupHandlesNV =
19743           PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
19744         if ( !vkGetRayTracingShaderGroupHandlesKHR )
19745           vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
19746         vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
19747         vkCmdWriteAccelerationStructuresPropertiesNV =
19748           PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
19749         vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
19750 
19751         //=== VK_KHR_maintenance3 ===
19752         vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
19753         if ( !vkGetDescriptorSetLayoutSupport )
19754           vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
19755 
19756         //=== VK_KHR_draw_indirect_count ===
19757         vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
19758         if ( !vkCmdDrawIndirectCount )
19759           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
19760         vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
19761         if ( !vkCmdDrawIndexedIndirectCount )
19762           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
19763 
19764         //=== VK_EXT_external_memory_host ===
19765         vkGetMemoryHostPointerPropertiesEXT =
19766           PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
19767 
19768         //=== VK_AMD_buffer_marker ===
19769         vkCmdWriteBufferMarkerAMD  = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
19770         vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
19771 
19772         //=== VK_EXT_calibrated_timestamps ===
19773         vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
19774           PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
19775         if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
19776           vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
19777         vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
19778         if ( !vkGetCalibratedTimestampsKHR )
19779           vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
19780 
19781         //=== VK_NV_mesh_shader ===
19782         vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
19783         vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
19784         vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
19785 
19786         //=== VK_NV_scissor_exclusive ===
19787         vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
19788         vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
19789 
19790         //=== VK_NV_device_diagnostic_checkpoints ===
19791         vkCmdSetCheckpointNV        = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
19792         vkGetQueueCheckpointDataNV  = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
19793         vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
19794 
19795         //=== VK_KHR_timeline_semaphore ===
19796         vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
19797         if ( !vkGetSemaphoreCounterValue )
19798           vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
19799         vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
19800         if ( !vkWaitSemaphores )
19801           vkWaitSemaphores = vkWaitSemaphoresKHR;
19802         vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
19803         if ( !vkSignalSemaphore )
19804           vkSignalSemaphore = vkSignalSemaphoreKHR;
19805 
19806         //=== VK_INTEL_performance_query ===
19807         vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
19808         vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
19809         vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
19810         vkCmdSetPerformanceStreamMarkerINTEL =
19811           PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
19812         vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
19813         vkAcquirePerformanceConfigurationINTEL =
19814           PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
19815         vkReleasePerformanceConfigurationINTEL =
19816           PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
19817         vkQueueSetPerformanceConfigurationINTEL =
19818           PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
19819         vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
19820 
19821         //=== VK_AMD_display_native_hdr ===
19822         vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
19823 
19824 #if defined( VK_USE_PLATFORM_FUCHSIA )
19825         //=== VK_FUCHSIA_imagepipe_surface ===
19826         vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
19827 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19828 
19829 #if defined( VK_USE_PLATFORM_METAL_EXT )
19830         //=== VK_EXT_metal_surface ===
19831         vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
19832 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19833 
19834         //=== VK_KHR_fragment_shading_rate ===
19835         vkGetPhysicalDeviceFragmentShadingRatesKHR =
19836           PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
19837         vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
19838 
19839         //=== VK_KHR_dynamic_rendering_local_read ===
19840         vkCmdSetRenderingAttachmentLocationsKHR =
19841           PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
19842         if ( !vkCmdSetRenderingAttachmentLocations )
19843           vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
19844         vkCmdSetRenderingInputAttachmentIndicesKHR =
19845           PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
19846         if ( !vkCmdSetRenderingInputAttachmentIndices )
19847           vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
19848 
19849         //=== VK_EXT_buffer_device_address ===
19850         vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
19851         if ( !vkGetBufferDeviceAddress )
19852           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
19853 
19854         //=== VK_EXT_tooling_info ===
19855         vkGetPhysicalDeviceToolPropertiesEXT =
19856           PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
19857         if ( !vkGetPhysicalDeviceToolProperties )
19858           vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
19859 
19860         //=== VK_KHR_present_wait ===
19861         vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
19862 
19863         //=== VK_NV_cooperative_matrix ===
19864         vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
19865           PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
19866 
19867         //=== VK_NV_coverage_reduction_mode ===
19868         vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
19869           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
19870 
19871 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19872         //=== VK_EXT_full_screen_exclusive ===
19873         vkGetPhysicalDeviceSurfacePresentModes2EXT =
19874           PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
19875         vkAcquireFullScreenExclusiveModeEXT =
19876           PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
19877         vkReleaseFullScreenExclusiveModeEXT =
19878           PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
19879         vkGetDeviceGroupSurfacePresentModes2EXT =
19880           PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
19881 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19882 
19883         //=== VK_EXT_headless_surface ===
19884         vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
19885 
19886         //=== VK_KHR_buffer_device_address ===
19887         vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
19888         if ( !vkGetBufferDeviceAddress )
19889           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
19890         vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
19891         if ( !vkGetBufferOpaqueCaptureAddress )
19892           vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
19893         vkGetDeviceMemoryOpaqueCaptureAddressKHR =
19894           PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
19895         if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
19896           vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
19897 
19898         //=== VK_EXT_line_rasterization ===
19899         vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
19900         if ( !vkCmdSetLineStipple )
19901           vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
19902 
19903         //=== VK_EXT_host_query_reset ===
19904         vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
19905         if ( !vkResetQueryPool )
19906           vkResetQueryPool = vkResetQueryPoolEXT;
19907 
19908         //=== VK_EXT_extended_dynamic_state ===
19909         vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
19910         if ( !vkCmdSetCullMode )
19911           vkCmdSetCullMode = vkCmdSetCullModeEXT;
19912         vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
19913         if ( !vkCmdSetFrontFace )
19914           vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
19915         vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
19916         if ( !vkCmdSetPrimitiveTopology )
19917           vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
19918         vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
19919         if ( !vkCmdSetViewportWithCount )
19920           vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
19921         vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
19922         if ( !vkCmdSetScissorWithCount )
19923           vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
19924         vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
19925         if ( !vkCmdBindVertexBuffers2 )
19926           vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
19927         vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
19928         if ( !vkCmdSetDepthTestEnable )
19929           vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
19930         vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
19931         if ( !vkCmdSetDepthWriteEnable )
19932           vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
19933         vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
19934         if ( !vkCmdSetDepthCompareOp )
19935           vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
19936         vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
19937         if ( !vkCmdSetDepthBoundsTestEnable )
19938           vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
19939         vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
19940         if ( !vkCmdSetStencilTestEnable )
19941           vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
19942         vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
19943         if ( !vkCmdSetStencilOp )
19944           vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
19945 
19946         //=== VK_KHR_deferred_host_operations ===
19947         vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
19948         vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
19949         vkGetDeferredOperationMaxConcurrencyKHR =
19950           PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
19951         vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
19952         vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
19953 
19954         //=== VK_KHR_pipeline_executable_properties ===
19955         vkGetPipelineExecutablePropertiesKHR =
19956           PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
19957         vkGetPipelineExecutableStatisticsKHR =
19958           PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
19959         vkGetPipelineExecutableInternalRepresentationsKHR =
19960           PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
19961 
19962         //=== VK_EXT_host_image_copy ===
19963         vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
19964         if ( !vkCopyMemoryToImage )
19965           vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
19966         vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
19967         if ( !vkCopyImageToMemory )
19968           vkCopyImageToMemory = vkCopyImageToMemoryEXT;
19969         vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
19970         if ( !vkCopyImageToImage )
19971           vkCopyImageToImage = vkCopyImageToImageEXT;
19972         vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
19973         if ( !vkTransitionImageLayout )
19974           vkTransitionImageLayout = vkTransitionImageLayoutEXT;
19975         vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
19976         if ( !vkGetImageSubresourceLayout2 )
19977           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
19978 
19979         //=== VK_KHR_map_memory2 ===
19980         vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
19981         if ( !vkMapMemory2 )
19982           vkMapMemory2 = vkMapMemory2KHR;
19983         vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
19984         if ( !vkUnmapMemory2 )
19985           vkUnmapMemory2 = vkUnmapMemory2KHR;
19986 
19987         //=== VK_EXT_swapchain_maintenance1 ===
19988         vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
19989 
19990         //=== VK_NV_device_generated_commands ===
19991         vkGetGeneratedCommandsMemoryRequirementsNV =
19992           PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
19993         vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
19994         vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
19995         vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
19996         vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
19997         vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
19998 
19999         //=== VK_EXT_depth_bias_control ===
20000         vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
20001 
20002         //=== VK_EXT_acquire_drm_display ===
20003         vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
20004         vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
20005 
20006         //=== VK_EXT_private_data ===
20007         vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
20008         if ( !vkCreatePrivateDataSlot )
20009           vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
20010         vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
20011         if ( !vkDestroyPrivateDataSlot )
20012           vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
20013         vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
20014         if ( !vkSetPrivateData )
20015           vkSetPrivateData = vkSetPrivateDataEXT;
20016         vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
20017         if ( !vkGetPrivateData )
20018           vkGetPrivateData = vkGetPrivateDataEXT;
20019 
20020         //=== VK_KHR_video_encode_queue ===
20021         vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
20022           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
20023         vkGetEncodedVideoSessionParametersKHR =
20024           PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
20025         vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
20026 
20027 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20028         //=== VK_NV_cuda_kernel_launch ===
20029         vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
20030         vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
20031         vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
20032         vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
20033         vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
20034         vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
20035 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20036 
20037 #if defined( VK_USE_PLATFORM_METAL_EXT )
20038         //=== VK_EXT_metal_objects ===
20039         vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
20040 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20041 
20042         //=== VK_KHR_synchronization2 ===
20043         vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
20044         if ( !vkCmdSetEvent2 )
20045           vkCmdSetEvent2 = vkCmdSetEvent2KHR;
20046         vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
20047         if ( !vkCmdResetEvent2 )
20048           vkCmdResetEvent2 = vkCmdResetEvent2KHR;
20049         vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
20050         if ( !vkCmdWaitEvents2 )
20051           vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
20052         vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
20053         if ( !vkCmdPipelineBarrier2 )
20054           vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
20055         vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
20056         if ( !vkCmdWriteTimestamp2 )
20057           vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
20058         vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
20059         if ( !vkQueueSubmit2 )
20060           vkQueueSubmit2 = vkQueueSubmit2KHR;
20061 
20062         //=== VK_EXT_descriptor_buffer ===
20063         vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
20064         vkGetDescriptorSetLayoutBindingOffsetEXT =
20065           PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
20066         vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
20067         vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
20068         vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
20069         vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
20070           PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
20071         vkGetBufferOpaqueCaptureDescriptorDataEXT =
20072           PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
20073         vkGetImageOpaqueCaptureDescriptorDataEXT =
20074           PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
20075         vkGetImageViewOpaqueCaptureDescriptorDataEXT =
20076           PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
20077         vkGetSamplerOpaqueCaptureDescriptorDataEXT =
20078           PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
20079         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
20080           vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
20081 
20082         //=== VK_NV_fragment_shading_rate_enums ===
20083         vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
20084 
20085         //=== VK_EXT_mesh_shader ===
20086         vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
20087         vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
20088         vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
20089 
20090         //=== VK_KHR_copy_commands2 ===
20091         vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
20092         if ( !vkCmdCopyBuffer2 )
20093           vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
20094         vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
20095         if ( !vkCmdCopyImage2 )
20096           vkCmdCopyImage2 = vkCmdCopyImage2KHR;
20097         vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
20098         if ( !vkCmdCopyBufferToImage2 )
20099           vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
20100         vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
20101         if ( !vkCmdCopyImageToBuffer2 )
20102           vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
20103         vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
20104         if ( !vkCmdBlitImage2 )
20105           vkCmdBlitImage2 = vkCmdBlitImage2KHR;
20106         vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
20107         if ( !vkCmdResolveImage2 )
20108           vkCmdResolveImage2 = vkCmdResolveImage2KHR;
20109 
20110         //=== VK_EXT_device_fault ===
20111         vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
20112 
20113 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20114         //=== VK_NV_acquire_winrt_display ===
20115         vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
20116         vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
20117 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20118 
20119 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
20120         //=== VK_EXT_directfb_surface ===
20121         vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
20122         vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
20123           PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
20124 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
20125 
20126         //=== VK_EXT_vertex_input_dynamic_state ===
20127         vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
20128 
20129 #if defined( VK_USE_PLATFORM_FUCHSIA )
20130         //=== VK_FUCHSIA_external_memory ===
20131         vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
20132         vkGetMemoryZirconHandlePropertiesFUCHSIA =
20133           PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
20134 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20135 
20136 #if defined( VK_USE_PLATFORM_FUCHSIA )
20137         //=== VK_FUCHSIA_external_semaphore ===
20138         vkImportSemaphoreZirconHandleFUCHSIA =
20139           PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
20140         vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
20141 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20142 
20143 #if defined( VK_USE_PLATFORM_FUCHSIA )
20144         //=== VK_FUCHSIA_buffer_collection ===
20145         vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
20146         vkSetBufferCollectionImageConstraintsFUCHSIA =
20147           PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
20148         vkSetBufferCollectionBufferConstraintsFUCHSIA =
20149           PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
20150         vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
20151         vkGetBufferCollectionPropertiesFUCHSIA =
20152           PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
20153 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20154 
20155         //=== VK_HUAWEI_subpass_shading ===
20156         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
20157           PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
20158         vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
20159 
20160         //=== VK_HUAWEI_invocation_mask ===
20161         vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
20162 
20163         //=== VK_NV_external_memory_rdma ===
20164         vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
20165 
20166         //=== VK_EXT_pipeline_properties ===
20167         vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
20168 
20169         //=== VK_EXT_extended_dynamic_state2 ===
20170         vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
20171         vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
20172         if ( !vkCmdSetRasterizerDiscardEnable )
20173           vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
20174         vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
20175         if ( !vkCmdSetDepthBiasEnable )
20176           vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
20177         vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
20178         vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
20179         if ( !vkCmdSetPrimitiveRestartEnable )
20180           vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
20181 
20182 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20183         //=== VK_QNX_screen_surface ===
20184         vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
20185         vkGetPhysicalDeviceScreenPresentationSupportQNX =
20186           PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
20187 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20188 
20189         //=== VK_EXT_color_write_enable ===
20190         vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
20191 
20192         //=== VK_KHR_ray_tracing_maintenance1 ===
20193         vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
20194 
20195         //=== VK_EXT_multi_draw ===
20196         vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
20197         vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
20198 
20199         //=== VK_EXT_opacity_micromap ===
20200         vkCreateMicromapEXT              = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
20201         vkDestroyMicromapEXT             = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
20202         vkCmdBuildMicromapsEXT           = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
20203         vkBuildMicromapsEXT              = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
20204         vkCopyMicromapEXT                = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
20205         vkCopyMicromapToMemoryEXT        = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
20206         vkCopyMemoryToMicromapEXT        = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
20207         vkWriteMicromapsPropertiesEXT    = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
20208         vkCmdCopyMicromapEXT             = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
20209         vkCmdCopyMicromapToMemoryEXT     = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
20210         vkCmdCopyMemoryToMicromapEXT     = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
20211         vkCmdWriteMicromapsPropertiesEXT = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
20212         vkGetDeviceMicromapCompatibilityEXT =
20213           PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
20214         vkGetMicromapBuildSizesEXT = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
20215 
20216         //=== VK_HUAWEI_cluster_culling_shader ===
20217         vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
20218         vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
20219 
20220         //=== VK_EXT_pageable_device_local_memory ===
20221         vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
20222 
20223         //=== VK_KHR_maintenance4 ===
20224         vkGetDeviceBufferMemoryRequirementsKHR =
20225           PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
20226         if ( !vkGetDeviceBufferMemoryRequirements )
20227           vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
20228         vkGetDeviceImageMemoryRequirementsKHR =
20229           PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
20230         if ( !vkGetDeviceImageMemoryRequirements )
20231           vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
20232         vkGetDeviceImageSparseMemoryRequirementsKHR =
20233           PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
20234         if ( !vkGetDeviceImageSparseMemoryRequirements )
20235           vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
20236 
20237         //=== VK_VALVE_descriptor_set_host_mapping ===
20238         vkGetDescriptorSetLayoutHostMappingInfoVALVE =
20239           PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
20240         vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
20241 
20242         //=== VK_NV_copy_memory_indirect ===
20243         vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
20244         vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
20245 
20246         //=== VK_NV_memory_decompression ===
20247         vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
20248         vkCmdDecompressMemoryIndirectCountNV =
20249           PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
20250 
20251         //=== VK_NV_device_generated_commands_compute ===
20252         vkGetPipelineIndirectMemoryRequirementsNV =
20253           PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
20254         vkCmdUpdatePipelineIndirectBufferNV =
20255           PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
20256         vkGetPipelineIndirectDeviceAddressNV =
20257           PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
20258 
20259         //=== VK_EXT_extended_dynamic_state3 ===
20260         vkCmdSetDepthClampEnableEXT      = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
20261         vkCmdSetPolygonModeEXT           = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
20262         vkCmdSetRasterizationSamplesEXT  = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
20263         vkCmdSetSampleMaskEXT            = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
20264         vkCmdSetAlphaToCoverageEnableEXT = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
20265         vkCmdSetAlphaToOneEnableEXT      = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
20266         vkCmdSetLogicOpEnableEXT         = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
20267         vkCmdSetColorBlendEnableEXT      = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
20268         vkCmdSetColorBlendEquationEXT    = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
20269         vkCmdSetColorWriteMaskEXT        = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
20270         vkCmdSetTessellationDomainOriginEXT =
20271           PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
20272         vkCmdSetRasterizationStreamEXT = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
20273         vkCmdSetConservativeRasterizationModeEXT =
20274           PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
20275         vkCmdSetExtraPrimitiveOverestimationSizeEXT =
20276           PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
20277         vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
20278         vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
20279         vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
20280         vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
20281         vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
20282         vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
20283         vkCmdSetDepthClipNegativeOneToOneEXT =
20284           PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
20285         vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
20286         vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
20287         vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
20288         vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
20289         vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
20290         vkCmdSetCoverageModulationTableEnableNV =
20291           PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
20292         vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
20293         vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
20294         vkCmdSetRepresentativeFragmentTestEnableNV =
20295           PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
20296         vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
20297 
20298         //=== VK_EXT_shader_module_identifier ===
20299         vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
20300         vkGetShaderModuleCreateInfoIdentifierEXT =
20301           PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
20302 
20303         //=== VK_NV_optical_flow ===
20304         vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
20305           PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
20306         vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
20307         vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
20308         vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
20309         vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
20310 
20311         //=== VK_KHR_maintenance5 ===
20312         vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
20313         if ( !vkCmdBindIndexBuffer2 )
20314           vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
20315         vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
20316         if ( !vkGetRenderingAreaGranularity )
20317           vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
20318         vkGetDeviceImageSubresourceLayoutKHR =
20319           PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
20320         if ( !vkGetDeviceImageSubresourceLayout )
20321           vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
20322         vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
20323         if ( !vkGetImageSubresourceLayout2 )
20324           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
20325 
20326         //=== VK_AMD_anti_lag ===
20327         vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetInstanceProcAddr( instance, "vkAntiLagUpdateAMD" ) );
20328 
20329         //=== VK_EXT_shader_object ===
20330         vkCreateShadersEXT         = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
20331         vkDestroyShaderEXT         = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
20332         vkGetShaderBinaryDataEXT   = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
20333         vkCmdBindShadersEXT        = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
20334         vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampRangeEXT" ) );
20335 
20336         //=== VK_KHR_pipeline_binary ===
20337         vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetInstanceProcAddr( instance, "vkCreatePipelineBinariesKHR" ) );
20338         vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetInstanceProcAddr( instance, "vkDestroyPipelineBinaryKHR" ) );
20339         vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineKeyKHR" ) );
20340         vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineBinaryDataKHR" ) );
20341         vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetInstanceProcAddr( instance, "vkReleaseCapturedPipelineDataKHR" ) );
20342 
20343         //=== VK_QCOM_tile_properties ===
20344         vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
20345         vkGetDynamicRenderingTilePropertiesQCOM =
20346           PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
20347 
20348         //=== VK_NV_low_latency2 ===
20349         vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
20350         vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
20351         vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
20352         vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
20353         vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
20354 
20355         //=== VK_KHR_cooperative_matrix ===
20356         vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
20357           PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
20358 
20359         //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
20360         vkCmdSetAttachmentFeedbackLoopEnableEXT =
20361           PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
20362 
20363 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20364         //=== VK_QNX_external_memory_screen_buffer ===
20365         vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
20366 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20367 
20368         //=== VK_KHR_line_rasterization ===
20369         vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleKHR" ) );
20370         if ( !vkCmdSetLineStipple )
20371           vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
20372 
20373         //=== VK_KHR_calibrated_timestamps ===
20374         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
20375           PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
20376         vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
20377 
20378         //=== VK_KHR_maintenance6 ===
20379         vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
20380         if ( !vkCmdBindDescriptorSets2 )
20381           vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
20382         vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
20383         if ( !vkCmdPushConstants2 )
20384           vkCmdPushConstants2 = vkCmdPushConstants2KHR;
20385         vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
20386         if ( !vkCmdPushDescriptorSet2 )
20387           vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
20388         vkCmdPushDescriptorSetWithTemplate2KHR =
20389           PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
20390         if ( !vkCmdPushDescriptorSetWithTemplate2 )
20391           vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
20392         vkCmdSetDescriptorBufferOffsets2EXT =
20393           PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
20394         vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
20395           PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
20396 
20397         //=== VK_EXT_device_generated_commands ===
20398         vkGetGeneratedCommandsMemoryRequirementsEXT =
20399           PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) );
20400         vkCmdPreprocessGeneratedCommandsEXT =
20401           PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsEXT" ) );
20402         vkCmdExecuteGeneratedCommandsEXT   = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsEXT" ) );
20403         vkCreateIndirectCommandsLayoutEXT  = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutEXT" ) );
20404         vkDestroyIndirectCommandsLayoutEXT = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutEXT" ) );
20405         vkCreateIndirectExecutionSetEXT    = PFN_vkCreateIndirectExecutionSetEXT( vkGetInstanceProcAddr( instance, "vkCreateIndirectExecutionSetEXT" ) );
20406         vkDestroyIndirectExecutionSetEXT   = PFN_vkDestroyIndirectExecutionSetEXT( vkGetInstanceProcAddr( instance, "vkDestroyIndirectExecutionSetEXT" ) );
20407         vkUpdateIndirectExecutionSetPipelineEXT =
20408           PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetInstanceProcAddr( instance, "vkUpdateIndirectExecutionSetPipelineEXT" ) );
20409         vkUpdateIndirectExecutionSetShaderEXT =
20410           PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetInstanceProcAddr( instance, "vkUpdateIndirectExecutionSetShaderEXT" ) );
20411 
20412         //=== VK_NV_cooperative_matrix2 ===
20413         vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV(
20414           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV" ) );
20415       }
20416 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)20417       void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
20418       {
20419         VkDevice device = static_cast<VkDevice>( deviceCpp );
20420 
20421         //=== VK_VERSION_1_0 ===
20422         vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
20423         vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
20424         vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
20425         vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
20426         vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
20427         vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
20428         vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
20429         vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
20430         vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
20431         vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
20432         vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
20433         vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
20434         vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
20435         vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
20436         vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
20437         vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
20438         vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
20439         vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
20440         vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
20441         vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
20442         vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
20443         vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
20444         vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
20445         vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
20446         vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
20447         vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
20448         vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
20449         vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
20450         vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
20451         vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
20452         vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
20453         vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
20454         vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
20455         vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
20456         vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
20457         vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
20458         vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
20459         vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
20460         vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
20461         vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
20462         vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
20463         vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
20464         vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
20465         vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
20466         vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
20467         vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
20468         vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
20469         vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
20470         vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
20471         vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
20472         vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
20473         vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
20474         vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
20475         vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
20476         vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
20477         vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
20478         vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
20479         vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
20480         vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
20481         vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
20482         vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
20483         vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
20484         vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
20485         vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
20486         vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
20487         vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
20488         vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
20489         vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
20490         vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
20491         vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
20492         vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
20493         vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
20494         vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
20495         vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
20496         vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
20497         vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
20498         vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
20499         vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
20500         vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
20501         vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
20502         vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
20503         vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
20504         vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
20505         vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
20506         vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
20507         vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
20508         vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
20509         vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
20510         vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
20511         vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
20512         vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
20513         vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
20514         vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
20515         vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
20516         vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
20517         vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
20518         vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
20519         vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
20520         vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
20521         vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
20522         vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
20523         vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
20524         vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
20525         vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
20526         vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
20527         vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
20528         vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
20529         vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
20530         vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
20531         vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
20532         vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
20533         vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
20534         vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
20535         vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
20536         vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
20537         vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
20538         vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
20539         vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
20540         vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
20541         vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
20542         vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
20543 
20544         //=== VK_VERSION_1_1 ===
20545         vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
20546         vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
20547         vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
20548         vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
20549         vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
20550         vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
20551         vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
20552         vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
20553         vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
20554         vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
20555         vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
20556         vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
20557         vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
20558         vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
20559         vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
20560         vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
20561 
20562         //=== VK_VERSION_1_2 ===
20563         vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
20564         vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
20565         vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
20566         vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
20567         vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
20568         vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
20569         vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
20570         vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
20571         vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
20572         vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
20573         vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
20574         vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
20575         vkGetDeviceMemoryOpaqueCaptureAddress =
20576           PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
20577 
20578         //=== VK_VERSION_1_3 ===
20579         vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
20580         vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
20581         vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
20582         vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
20583         vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
20584         vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
20585         vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
20586         vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
20587         vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
20588         vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
20589         vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
20590         vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
20591         vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
20592         vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
20593         vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
20594         vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
20595         vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
20596         vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
20597         vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
20598         vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
20599         vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
20600         vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
20601         vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
20602         vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
20603         vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
20604         vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
20605         vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
20606         vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
20607         vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
20608         vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
20609         vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
20610         vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
20611         vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
20612         vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
20613         vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
20614         vkGetDeviceImageSparseMemoryRequirements =
20615           PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
20616 
20617         //=== VK_VERSION_1_4 ===
20618         vkCmdSetLineStipple                = PFN_vkCmdSetLineStipple( vkGetDeviceProcAddr( device, "vkCmdSetLineStipple" ) );
20619         vkMapMemory2                       = PFN_vkMapMemory2( vkGetDeviceProcAddr( device, "vkMapMemory2" ) );
20620         vkUnmapMemory2                     = PFN_vkUnmapMemory2( vkGetDeviceProcAddr( device, "vkUnmapMemory2" ) );
20621         vkCmdBindIndexBuffer2              = PFN_vkCmdBindIndexBuffer2( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2" ) );
20622         vkGetRenderingAreaGranularity      = PFN_vkGetRenderingAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularity" ) );
20623         vkGetDeviceImageSubresourceLayout  = PFN_vkGetDeviceImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayout" ) );
20624         vkGetImageSubresourceLayout2       = PFN_vkGetImageSubresourceLayout2( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2" ) );
20625         vkCmdPushDescriptorSet             = PFN_vkCmdPushDescriptorSet( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet" ) );
20626         vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate" ) );
20627         vkCmdSetRenderingAttachmentLocations =
20628           PFN_vkCmdSetRenderingAttachmentLocations( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocations" ) );
20629         vkCmdSetRenderingInputAttachmentIndices =
20630           PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndices" ) );
20631         vkCmdBindDescriptorSets2            = PFN_vkCmdBindDescriptorSets2( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2" ) );
20632         vkCmdPushConstants2                 = PFN_vkCmdPushConstants2( vkGetDeviceProcAddr( device, "vkCmdPushConstants2" ) );
20633         vkCmdPushDescriptorSet2             = PFN_vkCmdPushDescriptorSet2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2" ) );
20634         vkCmdPushDescriptorSetWithTemplate2 = PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2" ) );
20635         vkCopyMemoryToImage                 = PFN_vkCopyMemoryToImage( vkGetDeviceProcAddr( device, "vkCopyMemoryToImage" ) );
20636         vkCopyImageToMemory                 = PFN_vkCopyImageToMemory( vkGetDeviceProcAddr( device, "vkCopyImageToMemory" ) );
20637         vkCopyImageToImage                  = PFN_vkCopyImageToImage( vkGetDeviceProcAddr( device, "vkCopyImageToImage" ) );
20638         vkTransitionImageLayout             = PFN_vkTransitionImageLayout( vkGetDeviceProcAddr( device, "vkTransitionImageLayout" ) );
20639 
20640         //=== VK_KHR_swapchain ===
20641         vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
20642         vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
20643         vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
20644         vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
20645         vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
20646         vkGetDeviceGroupPresentCapabilitiesKHR =
20647           PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
20648         vkGetDeviceGroupSurfacePresentModesKHR =
20649           PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
20650         vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
20651 
20652         //=== VK_KHR_display_swapchain ===
20653         vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
20654 
20655         //=== VK_EXT_debug_marker ===
20656         vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
20657         vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
20658         vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
20659         vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
20660         vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
20661 
20662         //=== VK_KHR_video_queue ===
20663         vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
20664         vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
20665         vkGetVideoSessionMemoryRequirementsKHR =
20666           PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
20667         vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
20668         vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
20669         vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
20670         vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
20671         vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
20672         vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
20673         vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
20674 
20675         //=== VK_KHR_video_decode_queue ===
20676         vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
20677 
20678         //=== VK_EXT_transform_feedback ===
20679         vkCmdBindTransformFeedbackBuffersEXT =
20680           PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
20681         vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
20682         vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
20683         vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
20684         vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
20685         vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
20686 
20687         //=== VK_NVX_binary_import ===
20688         vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
20689         vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
20690         vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
20691         vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
20692         vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
20693 
20694         //=== VK_NVX_image_view_handle ===
20695         vkGetImageViewHandleNVX   = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
20696         vkGetImageViewHandle64NVX = PFN_vkGetImageViewHandle64NVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandle64NVX" ) );
20697         vkGetImageViewAddressNVX  = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
20698 
20699         //=== VK_AMD_draw_indirect_count ===
20700         vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
20701         if ( !vkCmdDrawIndirectCount )
20702           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
20703         vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
20704         if ( !vkCmdDrawIndexedIndirectCount )
20705           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
20706 
20707         //=== VK_AMD_shader_info ===
20708         vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
20709 
20710         //=== VK_KHR_dynamic_rendering ===
20711         vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
20712         if ( !vkCmdBeginRendering )
20713           vkCmdBeginRendering = vkCmdBeginRenderingKHR;
20714         vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
20715         if ( !vkCmdEndRendering )
20716           vkCmdEndRendering = vkCmdEndRenderingKHR;
20717 
20718 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20719         //=== VK_NV_external_memory_win32 ===
20720         vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
20721 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20722 
20723         //=== VK_KHR_device_group ===
20724         vkGetDeviceGroupPeerMemoryFeaturesKHR =
20725           PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
20726         if ( !vkGetDeviceGroupPeerMemoryFeatures )
20727           vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
20728         vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
20729         if ( !vkCmdSetDeviceMask )
20730           vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
20731         vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
20732         if ( !vkCmdDispatchBase )
20733           vkCmdDispatchBase = vkCmdDispatchBaseKHR;
20734 
20735         //=== VK_KHR_maintenance1 ===
20736         vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
20737         if ( !vkTrimCommandPool )
20738           vkTrimCommandPool = vkTrimCommandPoolKHR;
20739 
20740 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20741         //=== VK_KHR_external_memory_win32 ===
20742         vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
20743         vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
20744 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20745 
20746         //=== VK_KHR_external_memory_fd ===
20747         vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
20748         vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
20749 
20750 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20751         //=== VK_KHR_external_semaphore_win32 ===
20752         vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
20753         vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
20754 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20755 
20756         //=== VK_KHR_external_semaphore_fd ===
20757         vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
20758         vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
20759 
20760         //=== VK_KHR_push_descriptor ===
20761         vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
20762         if ( !vkCmdPushDescriptorSet )
20763           vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
20764         vkCmdPushDescriptorSetWithTemplateKHR =
20765           PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
20766         if ( !vkCmdPushDescriptorSetWithTemplate )
20767           vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
20768 
20769         //=== VK_EXT_conditional_rendering ===
20770         vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
20771         vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
20772 
20773         //=== VK_KHR_descriptor_update_template ===
20774         vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
20775         if ( !vkCreateDescriptorUpdateTemplate )
20776           vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
20777         vkDestroyDescriptorUpdateTemplateKHR =
20778           PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
20779         if ( !vkDestroyDescriptorUpdateTemplate )
20780           vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
20781         vkUpdateDescriptorSetWithTemplateKHR =
20782           PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
20783         if ( !vkUpdateDescriptorSetWithTemplate )
20784           vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
20785 
20786         //=== VK_NV_clip_space_w_scaling ===
20787         vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
20788 
20789         //=== VK_EXT_display_control ===
20790         vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
20791         vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
20792         vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
20793         vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
20794 
20795         //=== VK_GOOGLE_display_timing ===
20796         vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
20797         vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
20798 
20799         //=== VK_EXT_discard_rectangles ===
20800         vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
20801         vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
20802         vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
20803 
20804         //=== VK_EXT_hdr_metadata ===
20805         vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
20806 
20807         //=== VK_KHR_create_renderpass2 ===
20808         vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
20809         if ( !vkCreateRenderPass2 )
20810           vkCreateRenderPass2 = vkCreateRenderPass2KHR;
20811         vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
20812         if ( !vkCmdBeginRenderPass2 )
20813           vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
20814         vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
20815         if ( !vkCmdNextSubpass2 )
20816           vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
20817         vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
20818         if ( !vkCmdEndRenderPass2 )
20819           vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
20820 
20821         //=== VK_KHR_shared_presentable_image ===
20822         vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
20823 
20824 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20825         //=== VK_KHR_external_fence_win32 ===
20826         vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
20827         vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
20828 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20829 
20830         //=== VK_KHR_external_fence_fd ===
20831         vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
20832         vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
20833 
20834         //=== VK_KHR_performance_query ===
20835         vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
20836         vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
20837 
20838         //=== VK_EXT_debug_utils ===
20839         vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
20840         vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
20841         vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
20842         vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
20843         vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
20844         vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
20845         vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
20846         vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
20847 
20848 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
20849         //=== VK_ANDROID_external_memory_android_hardware_buffer ===
20850         vkGetAndroidHardwareBufferPropertiesANDROID =
20851           PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
20852         vkGetMemoryAndroidHardwareBufferANDROID =
20853           PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
20854 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
20855 
20856 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20857         //=== VK_AMDX_shader_enqueue ===
20858         vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
20859         vkGetExecutionGraphPipelineScratchSizeAMDX =
20860           PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
20861         vkGetExecutionGraphPipelineNodeIndexAMDX =
20862           PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
20863         vkCmdInitializeGraphScratchMemoryAMDX =
20864           PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
20865         vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
20866         vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
20867         vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
20868 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20869 
20870         //=== VK_EXT_sample_locations ===
20871         vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
20872 
20873         //=== VK_KHR_get_memory_requirements2 ===
20874         vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
20875         if ( !vkGetImageMemoryRequirements2 )
20876           vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
20877         vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
20878         if ( !vkGetBufferMemoryRequirements2 )
20879           vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
20880         vkGetImageSparseMemoryRequirements2KHR =
20881           PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
20882         if ( !vkGetImageSparseMemoryRequirements2 )
20883           vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
20884 
20885         //=== VK_KHR_acceleration_structure ===
20886         vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
20887         vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
20888         vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
20889         vkCmdBuildAccelerationStructuresIndirectKHR =
20890           PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
20891         vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
20892         vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
20893         vkCopyAccelerationStructureToMemoryKHR =
20894           PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
20895         vkCopyMemoryToAccelerationStructureKHR =
20896           PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
20897         vkWriteAccelerationStructuresPropertiesKHR =
20898           PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
20899         vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
20900         vkCmdCopyAccelerationStructureToMemoryKHR =
20901           PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
20902         vkCmdCopyMemoryToAccelerationStructureKHR =
20903           PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
20904         vkGetAccelerationStructureDeviceAddressKHR =
20905           PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
20906         vkCmdWriteAccelerationStructuresPropertiesKHR =
20907           PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
20908         vkGetDeviceAccelerationStructureCompatibilityKHR =
20909           PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
20910         vkGetAccelerationStructureBuildSizesKHR =
20911           PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
20912 
20913         //=== VK_KHR_ray_tracing_pipeline ===
20914         vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
20915         vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
20916         vkGetRayTracingShaderGroupHandlesKHR =
20917           PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
20918         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
20919           PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
20920         vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
20921         vkGetRayTracingShaderGroupStackSizeKHR =
20922           PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
20923         vkCmdSetRayTracingPipelineStackSizeKHR =
20924           PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
20925 
20926         //=== VK_KHR_sampler_ycbcr_conversion ===
20927         vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
20928         if ( !vkCreateSamplerYcbcrConversion )
20929           vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
20930         vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
20931         if ( !vkDestroySamplerYcbcrConversion )
20932           vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
20933 
20934         //=== VK_KHR_bind_memory2 ===
20935         vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
20936         if ( !vkBindBufferMemory2 )
20937           vkBindBufferMemory2 = vkBindBufferMemory2KHR;
20938         vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
20939         if ( !vkBindImageMemory2 )
20940           vkBindImageMemory2 = vkBindImageMemory2KHR;
20941 
20942         //=== VK_EXT_image_drm_format_modifier ===
20943         vkGetImageDrmFormatModifierPropertiesEXT =
20944           PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
20945 
20946         //=== VK_EXT_validation_cache ===
20947         vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
20948         vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
20949         vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
20950         vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
20951 
20952         //=== VK_NV_shading_rate_image ===
20953         vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
20954         vkCmdSetViewportShadingRatePaletteNV =
20955           PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
20956         vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
20957 
20958         //=== VK_NV_ray_tracing ===
20959         vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
20960         vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
20961         vkGetAccelerationStructureMemoryRequirementsNV =
20962           PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
20963         vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
20964         vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
20965         vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
20966         vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
20967         vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
20968         vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
20969         if ( !vkGetRayTracingShaderGroupHandlesKHR )
20970           vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
20971         vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
20972         vkCmdWriteAccelerationStructuresPropertiesNV =
20973           PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
20974         vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
20975 
20976         //=== VK_KHR_maintenance3 ===
20977         vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
20978         if ( !vkGetDescriptorSetLayoutSupport )
20979           vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
20980 
20981         //=== VK_KHR_draw_indirect_count ===
20982         vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
20983         if ( !vkCmdDrawIndirectCount )
20984           vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
20985         vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
20986         if ( !vkCmdDrawIndexedIndirectCount )
20987           vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
20988 
20989         //=== VK_EXT_external_memory_host ===
20990         vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
20991 
20992         //=== VK_AMD_buffer_marker ===
20993         vkCmdWriteBufferMarkerAMD  = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
20994         vkCmdWriteBufferMarker2AMD = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
20995 
20996         //=== VK_EXT_calibrated_timestamps ===
20997         vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
20998         if ( !vkGetCalibratedTimestampsKHR )
20999           vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
21000 
21001         //=== VK_NV_mesh_shader ===
21002         vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
21003         vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
21004         vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
21005 
21006         //=== VK_NV_scissor_exclusive ===
21007         vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
21008         vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
21009 
21010         //=== VK_NV_device_diagnostic_checkpoints ===
21011         vkCmdSetCheckpointNV        = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
21012         vkGetQueueCheckpointDataNV  = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
21013         vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
21014 
21015         //=== VK_KHR_timeline_semaphore ===
21016         vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
21017         if ( !vkGetSemaphoreCounterValue )
21018           vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
21019         vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
21020         if ( !vkWaitSemaphores )
21021           vkWaitSemaphores = vkWaitSemaphoresKHR;
21022         vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
21023         if ( !vkSignalSemaphore )
21024           vkSignalSemaphore = vkSignalSemaphoreKHR;
21025 
21026         //=== VK_INTEL_performance_query ===
21027         vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
21028         vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
21029         vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
21030         vkCmdSetPerformanceStreamMarkerINTEL =
21031           PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
21032         vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
21033         vkAcquirePerformanceConfigurationINTEL =
21034           PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
21035         vkReleasePerformanceConfigurationINTEL =
21036           PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
21037         vkQueueSetPerformanceConfigurationINTEL =
21038           PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
21039         vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
21040 
21041         //=== VK_AMD_display_native_hdr ===
21042         vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
21043 
21044         //=== VK_KHR_fragment_shading_rate ===
21045         vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
21046 
21047         //=== VK_KHR_dynamic_rendering_local_read ===
21048         vkCmdSetRenderingAttachmentLocationsKHR =
21049           PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
21050         if ( !vkCmdSetRenderingAttachmentLocations )
21051           vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
21052         vkCmdSetRenderingInputAttachmentIndicesKHR =
21053           PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
21054         if ( !vkCmdSetRenderingInputAttachmentIndices )
21055           vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
21056 
21057         //=== VK_EXT_buffer_device_address ===
21058         vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
21059         if ( !vkGetBufferDeviceAddress )
21060           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
21061 
21062         //=== VK_KHR_present_wait ===
21063         vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
21064 
21065 #if defined( VK_USE_PLATFORM_WIN32_KHR )
21066         //=== VK_EXT_full_screen_exclusive ===
21067         vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
21068         vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
21069         vkGetDeviceGroupSurfacePresentModes2EXT =
21070           PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
21071 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
21072 
21073         //=== VK_KHR_buffer_device_address ===
21074         vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
21075         if ( !vkGetBufferDeviceAddress )
21076           vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
21077         vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
21078         if ( !vkGetBufferOpaqueCaptureAddress )
21079           vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
21080         vkGetDeviceMemoryOpaqueCaptureAddressKHR =
21081           PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
21082         if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
21083           vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
21084 
21085         //=== VK_EXT_line_rasterization ===
21086         vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
21087         if ( !vkCmdSetLineStipple )
21088           vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
21089 
21090         //=== VK_EXT_host_query_reset ===
21091         vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
21092         if ( !vkResetQueryPool )
21093           vkResetQueryPool = vkResetQueryPoolEXT;
21094 
21095         //=== VK_EXT_extended_dynamic_state ===
21096         vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
21097         if ( !vkCmdSetCullMode )
21098           vkCmdSetCullMode = vkCmdSetCullModeEXT;
21099         vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
21100         if ( !vkCmdSetFrontFace )
21101           vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
21102         vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
21103         if ( !vkCmdSetPrimitiveTopology )
21104           vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
21105         vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
21106         if ( !vkCmdSetViewportWithCount )
21107           vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
21108         vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
21109         if ( !vkCmdSetScissorWithCount )
21110           vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
21111         vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
21112         if ( !vkCmdBindVertexBuffers2 )
21113           vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
21114         vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
21115         if ( !vkCmdSetDepthTestEnable )
21116           vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
21117         vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
21118         if ( !vkCmdSetDepthWriteEnable )
21119           vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
21120         vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
21121         if ( !vkCmdSetDepthCompareOp )
21122           vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
21123         vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
21124         if ( !vkCmdSetDepthBoundsTestEnable )
21125           vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
21126         vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
21127         if ( !vkCmdSetStencilTestEnable )
21128           vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
21129         vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
21130         if ( !vkCmdSetStencilOp )
21131           vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
21132 
21133         //=== VK_KHR_deferred_host_operations ===
21134         vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
21135         vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
21136         vkGetDeferredOperationMaxConcurrencyKHR =
21137           PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
21138         vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
21139         vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
21140 
21141         //=== VK_KHR_pipeline_executable_properties ===
21142         vkGetPipelineExecutablePropertiesKHR =
21143           PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
21144         vkGetPipelineExecutableStatisticsKHR =
21145           PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
21146         vkGetPipelineExecutableInternalRepresentationsKHR =
21147           PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
21148 
21149         //=== VK_EXT_host_image_copy ===
21150         vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
21151         if ( !vkCopyMemoryToImage )
21152           vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
21153         vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
21154         if ( !vkCopyImageToMemory )
21155           vkCopyImageToMemory = vkCopyImageToMemoryEXT;
21156         vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
21157         if ( !vkCopyImageToImage )
21158           vkCopyImageToImage = vkCopyImageToImageEXT;
21159         vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
21160         if ( !vkTransitionImageLayout )
21161           vkTransitionImageLayout = vkTransitionImageLayoutEXT;
21162         vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
21163         if ( !vkGetImageSubresourceLayout2 )
21164           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
21165 
21166         //=== VK_KHR_map_memory2 ===
21167         vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
21168         if ( !vkMapMemory2 )
21169           vkMapMemory2 = vkMapMemory2KHR;
21170         vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
21171         if ( !vkUnmapMemory2 )
21172           vkUnmapMemory2 = vkUnmapMemory2KHR;
21173 
21174         //=== VK_EXT_swapchain_maintenance1 ===
21175         vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
21176 
21177         //=== VK_NV_device_generated_commands ===
21178         vkGetGeneratedCommandsMemoryRequirementsNV =
21179           PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
21180         vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
21181         vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
21182         vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
21183         vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
21184         vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
21185 
21186         //=== VK_EXT_depth_bias_control ===
21187         vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
21188 
21189         //=== VK_EXT_private_data ===
21190         vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
21191         if ( !vkCreatePrivateDataSlot )
21192           vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
21193         vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
21194         if ( !vkDestroyPrivateDataSlot )
21195           vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
21196         vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
21197         if ( !vkSetPrivateData )
21198           vkSetPrivateData = vkSetPrivateDataEXT;
21199         vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
21200         if ( !vkGetPrivateData )
21201           vkGetPrivateData = vkGetPrivateDataEXT;
21202 
21203         //=== VK_KHR_video_encode_queue ===
21204         vkGetEncodedVideoSessionParametersKHR =
21205           PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
21206         vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
21207 
21208 #if defined( VK_ENABLE_BETA_EXTENSIONS )
21209         //=== VK_NV_cuda_kernel_launch ===
21210         vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
21211         vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
21212         vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
21213         vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
21214         vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
21215         vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
21216 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
21217 
21218 #if defined( VK_USE_PLATFORM_METAL_EXT )
21219         //=== VK_EXT_metal_objects ===
21220         vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
21221 #endif /*VK_USE_PLATFORM_METAL_EXT*/
21222 
21223         //=== VK_KHR_synchronization2 ===
21224         vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
21225         if ( !vkCmdSetEvent2 )
21226           vkCmdSetEvent2 = vkCmdSetEvent2KHR;
21227         vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
21228         if ( !vkCmdResetEvent2 )
21229           vkCmdResetEvent2 = vkCmdResetEvent2KHR;
21230         vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
21231         if ( !vkCmdWaitEvents2 )
21232           vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
21233         vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
21234         if ( !vkCmdPipelineBarrier2 )
21235           vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
21236         vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
21237         if ( !vkCmdWriteTimestamp2 )
21238           vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
21239         vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
21240         if ( !vkQueueSubmit2 )
21241           vkQueueSubmit2 = vkQueueSubmit2KHR;
21242 
21243         //=== VK_EXT_descriptor_buffer ===
21244         vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
21245         vkGetDescriptorSetLayoutBindingOffsetEXT =
21246           PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
21247         vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
21248         vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
21249         vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
21250         vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
21251           PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
21252         vkGetBufferOpaqueCaptureDescriptorDataEXT =
21253           PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
21254         vkGetImageOpaqueCaptureDescriptorDataEXT =
21255           PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
21256         vkGetImageViewOpaqueCaptureDescriptorDataEXT =
21257           PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
21258         vkGetSamplerOpaqueCaptureDescriptorDataEXT =
21259           PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
21260         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
21261           vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
21262 
21263         //=== VK_NV_fragment_shading_rate_enums ===
21264         vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
21265 
21266         //=== VK_EXT_mesh_shader ===
21267         vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
21268         vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
21269         vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
21270 
21271         //=== VK_KHR_copy_commands2 ===
21272         vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
21273         if ( !vkCmdCopyBuffer2 )
21274           vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
21275         vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
21276         if ( !vkCmdCopyImage2 )
21277           vkCmdCopyImage2 = vkCmdCopyImage2KHR;
21278         vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
21279         if ( !vkCmdCopyBufferToImage2 )
21280           vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
21281         vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
21282         if ( !vkCmdCopyImageToBuffer2 )
21283           vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
21284         vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
21285         if ( !vkCmdBlitImage2 )
21286           vkCmdBlitImage2 = vkCmdBlitImage2KHR;
21287         vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
21288         if ( !vkCmdResolveImage2 )
21289           vkCmdResolveImage2 = vkCmdResolveImage2KHR;
21290 
21291         //=== VK_EXT_device_fault ===
21292         vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
21293 
21294         //=== VK_EXT_vertex_input_dynamic_state ===
21295         vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
21296 
21297 #if defined( VK_USE_PLATFORM_FUCHSIA )
21298         //=== VK_FUCHSIA_external_memory ===
21299         vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
21300         vkGetMemoryZirconHandlePropertiesFUCHSIA =
21301           PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
21302 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21303 
21304 #if defined( VK_USE_PLATFORM_FUCHSIA )
21305         //=== VK_FUCHSIA_external_semaphore ===
21306         vkImportSemaphoreZirconHandleFUCHSIA =
21307           PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
21308         vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
21309 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21310 
21311 #if defined( VK_USE_PLATFORM_FUCHSIA )
21312         //=== VK_FUCHSIA_buffer_collection ===
21313         vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
21314         vkSetBufferCollectionImageConstraintsFUCHSIA =
21315           PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
21316         vkSetBufferCollectionBufferConstraintsFUCHSIA =
21317           PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
21318         vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
21319         vkGetBufferCollectionPropertiesFUCHSIA =
21320           PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
21321 #endif /*VK_USE_PLATFORM_FUCHSIA*/
21322 
21323         //=== VK_HUAWEI_subpass_shading ===
21324         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
21325           PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
21326         vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
21327 
21328         //=== VK_HUAWEI_invocation_mask ===
21329         vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
21330 
21331         //=== VK_NV_external_memory_rdma ===
21332         vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
21333 
21334         //=== VK_EXT_pipeline_properties ===
21335         vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
21336 
21337         //=== VK_EXT_extended_dynamic_state2 ===
21338         vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
21339         vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
21340         if ( !vkCmdSetRasterizerDiscardEnable )
21341           vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
21342         vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
21343         if ( !vkCmdSetDepthBiasEnable )
21344           vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
21345         vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
21346         vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
21347         if ( !vkCmdSetPrimitiveRestartEnable )
21348           vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
21349 
21350         //=== VK_EXT_color_write_enable ===
21351         vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
21352 
21353         //=== VK_KHR_ray_tracing_maintenance1 ===
21354         vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
21355 
21356         //=== VK_EXT_multi_draw ===
21357         vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
21358         vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
21359 
21360         //=== VK_EXT_opacity_micromap ===
21361         vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
21362         vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
21363         vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
21364         vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
21365         vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
21366         vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
21367         vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
21368         vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
21369         vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
21370         vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
21371         vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
21372         vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
21373         vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
21374         vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
21375 
21376         //=== VK_HUAWEI_cluster_culling_shader ===
21377         vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
21378         vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
21379 
21380         //=== VK_EXT_pageable_device_local_memory ===
21381         vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
21382 
21383         //=== VK_KHR_maintenance4 ===
21384         vkGetDeviceBufferMemoryRequirementsKHR =
21385           PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
21386         if ( !vkGetDeviceBufferMemoryRequirements )
21387           vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
21388         vkGetDeviceImageMemoryRequirementsKHR =
21389           PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
21390         if ( !vkGetDeviceImageMemoryRequirements )
21391           vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
21392         vkGetDeviceImageSparseMemoryRequirementsKHR =
21393           PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
21394         if ( !vkGetDeviceImageSparseMemoryRequirements )
21395           vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
21396 
21397         //=== VK_VALVE_descriptor_set_host_mapping ===
21398         vkGetDescriptorSetLayoutHostMappingInfoVALVE =
21399           PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
21400         vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
21401 
21402         //=== VK_NV_copy_memory_indirect ===
21403         vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
21404         vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
21405 
21406         //=== VK_NV_memory_decompression ===
21407         vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
21408         vkCmdDecompressMemoryIndirectCountNV =
21409           PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
21410 
21411         //=== VK_NV_device_generated_commands_compute ===
21412         vkGetPipelineIndirectMemoryRequirementsNV =
21413           PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
21414         vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
21415         vkGetPipelineIndirectDeviceAddressNV =
21416           PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
21417 
21418         //=== VK_EXT_extended_dynamic_state3 ===
21419         vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
21420         vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
21421         vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
21422         vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
21423         vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
21424         vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
21425         vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
21426         vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
21427         vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
21428         vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
21429         vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
21430         vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
21431         vkCmdSetConservativeRasterizationModeEXT =
21432           PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
21433         vkCmdSetExtraPrimitiveOverestimationSizeEXT =
21434           PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
21435         vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
21436         vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
21437         vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
21438         vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
21439         vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
21440         vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
21441         vkCmdSetDepthClipNegativeOneToOneEXT =
21442           PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
21443         vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
21444         vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
21445         vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
21446         vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
21447         vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
21448         vkCmdSetCoverageModulationTableEnableNV =
21449           PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
21450         vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
21451         vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
21452         vkCmdSetRepresentativeFragmentTestEnableNV =
21453           PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
21454         vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
21455 
21456         //=== VK_EXT_shader_module_identifier ===
21457         vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
21458         vkGetShaderModuleCreateInfoIdentifierEXT =
21459           PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
21460 
21461         //=== VK_NV_optical_flow ===
21462         vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
21463         vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
21464         vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
21465         vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
21466 
21467         //=== VK_KHR_maintenance5 ===
21468         vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
21469         if ( !vkCmdBindIndexBuffer2 )
21470           vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
21471         vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
21472         if ( !vkGetRenderingAreaGranularity )
21473           vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
21474         vkGetDeviceImageSubresourceLayoutKHR =
21475           PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
21476         if ( !vkGetDeviceImageSubresourceLayout )
21477           vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
21478         vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
21479         if ( !vkGetImageSubresourceLayout2 )
21480           vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
21481 
21482         //=== VK_AMD_anti_lag ===
21483         vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetDeviceProcAddr( device, "vkAntiLagUpdateAMD" ) );
21484 
21485         //=== VK_EXT_shader_object ===
21486         vkCreateShadersEXT         = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
21487         vkDestroyShaderEXT         = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
21488         vkGetShaderBinaryDataEXT   = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
21489         vkCmdBindShadersEXT        = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
21490         vkCmdSetDepthClampRangeEXT = PFN_vkCmdSetDepthClampRangeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampRangeEXT" ) );
21491 
21492         //=== VK_KHR_pipeline_binary ===
21493         vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetDeviceProcAddr( device, "vkCreatePipelineBinariesKHR" ) );
21494         vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetDeviceProcAddr( device, "vkDestroyPipelineBinaryKHR" ) );
21495         vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetDeviceProcAddr( device, "vkGetPipelineKeyKHR" ) );
21496         vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetDeviceProcAddr( device, "vkGetPipelineBinaryDataKHR" ) );
21497         vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetDeviceProcAddr( device, "vkReleaseCapturedPipelineDataKHR" ) );
21498 
21499         //=== VK_QCOM_tile_properties ===
21500         vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
21501         vkGetDynamicRenderingTilePropertiesQCOM =
21502           PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
21503 
21504         //=== VK_NV_low_latency2 ===
21505         vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
21506         vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
21507         vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
21508         vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
21509         vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
21510 
21511         //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
21512         vkCmdSetAttachmentFeedbackLoopEnableEXT =
21513           PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
21514 
21515 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
21516         //=== VK_QNX_external_memory_screen_buffer ===
21517         vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
21518 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
21519 
21520         //=== VK_KHR_line_rasterization ===
21521         vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) );
21522         if ( !vkCmdSetLineStipple )
21523           vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
21524 
21525         //=== VK_KHR_calibrated_timestamps ===
21526         vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
21527 
21528         //=== VK_KHR_maintenance6 ===
21529         vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
21530         if ( !vkCmdBindDescriptorSets2 )
21531           vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
21532         vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
21533         if ( !vkCmdPushConstants2 )
21534           vkCmdPushConstants2 = vkCmdPushConstants2KHR;
21535         vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
21536         if ( !vkCmdPushDescriptorSet2 )
21537           vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
21538         vkCmdPushDescriptorSetWithTemplate2KHR =
21539           PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
21540         if ( !vkCmdPushDescriptorSetWithTemplate2 )
21541           vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
21542         vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
21543         vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
21544           PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
21545 
21546         //=== VK_EXT_device_generated_commands ===
21547         vkGetGeneratedCommandsMemoryRequirementsEXT =
21548           PFN_vkGetGeneratedCommandsMemoryRequirementsEXT( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsEXT" ) );
21549         vkCmdPreprocessGeneratedCommandsEXT = PFN_vkCmdPreprocessGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsEXT" ) );
21550         vkCmdExecuteGeneratedCommandsEXT    = PFN_vkCmdExecuteGeneratedCommandsEXT( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsEXT" ) );
21551         vkCreateIndirectCommandsLayoutEXT   = PFN_vkCreateIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutEXT" ) );
21552         vkDestroyIndirectCommandsLayoutEXT  = PFN_vkDestroyIndirectCommandsLayoutEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutEXT" ) );
21553         vkCreateIndirectExecutionSetEXT     = PFN_vkCreateIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkCreateIndirectExecutionSetEXT" ) );
21554         vkDestroyIndirectExecutionSetEXT    = PFN_vkDestroyIndirectExecutionSetEXT( vkGetDeviceProcAddr( device, "vkDestroyIndirectExecutionSetEXT" ) );
21555         vkUpdateIndirectExecutionSetPipelineEXT =
21556           PFN_vkUpdateIndirectExecutionSetPipelineEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetPipelineEXT" ) );
21557         vkUpdateIndirectExecutionSetShaderEXT =
21558           PFN_vkUpdateIndirectExecutionSetShaderEXT( vkGetDeviceProcAddr( device, "vkUpdateIndirectExecutionSetShaderEXT" ) );
21559       }
21560 
21561       template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)21562       void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
21563       {
21564         PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
21565         PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
21566         init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
21567       }
21568 
21569       template <typename DynamicLoader
21570 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
21571                 = VULKAN_HPP_NAMESPACE::detail::DynamicLoader
21572 #endif
21573                 >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)21574       void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
21575       {
21576         static DynamicLoader dl;
21577         init( instance, device, dl );
21578       }
21579     };
21580   }  // namespace detail
21581 }  // namespace VULKAN_HPP_NAMESPACE
21582 #endif
21583