xref: /aosp_15_r20/external/vulkan-headers/include/vulkan/vulkan.hpp (revision 902771965e4c6d39c75c62130a6a330c08b024db)
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 == 294, "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   class DispatchLoaderBase
958   {
959   public:
960     DispatchLoaderBase() = default;
DispatchLoaderBase(std::nullptr_t)961     DispatchLoaderBase( std::nullptr_t )
962 #if !defined( NDEBUG )
963       : m_valid( false )
964 #endif
965     {
966     }
967 
968 #if !defined( NDEBUG )
getVkHeaderVersion() const969     size_t getVkHeaderVersion() const
970     {
971       VULKAN_HPP_ASSERT( m_valid );
972       return vkHeaderVersion;
973     }
974 
975   private:
976     size_t vkHeaderVersion = VK_HEADER_VERSION;
977     bool   m_valid         = true;
978 #endif
979   };
980 
981 #if !defined( VK_NO_PROTOTYPES )
982   class DispatchLoaderStatic : public DispatchLoaderBase
983   {
984   public:
985     //=== VK_VERSION_1_0 ===
986 
987     VkResult
vkCreateInstance(const VkInstanceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkInstance * pInstance) const988       vkCreateInstance( const VkInstanceCreateInfo * pCreateInfo, const VkAllocationCallbacks * pAllocator, VkInstance * pInstance ) const VULKAN_HPP_NOEXCEPT
989     {
990       return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
991     }
992 
vkDestroyInstance(VkInstance instance,const VkAllocationCallbacks * pAllocator) const993     void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
994     {
995       return ::vkDestroyInstance( instance, pAllocator );
996     }
997 
vkEnumeratePhysicalDevices(VkInstance instance,uint32_t * pPhysicalDeviceCount,VkPhysicalDevice * pPhysicalDevices) const998     VkResult vkEnumeratePhysicalDevices( VkInstance instance, uint32_t * pPhysicalDeviceCount, VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
999     {
1000       return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
1001     }
1002 
vkGetPhysicalDeviceFeatures(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures * pFeatures) const1003     void vkGetPhysicalDeviceFeatures( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
1004     {
1005       return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
1006     }
1007 
1008     void
vkGetPhysicalDeviceFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties * pFormatProperties) const1009       vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice physicalDevice, VkFormat format, VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
1010     {
1011       return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
1012     }
1013 
vkGetPhysicalDeviceImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkImageFormatProperties * pImageFormatProperties) const1014     VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
1015                                                        VkFormat                  format,
1016                                                        VkImageType               type,
1017                                                        VkImageTiling             tiling,
1018                                                        VkImageUsageFlags         usage,
1019                                                        VkImageCreateFlags        flags,
1020                                                        VkImageFormatProperties * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
1021     {
1022       return ::vkGetPhysicalDeviceImageFormatProperties( physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
1023     }
1024 
vkGetPhysicalDeviceProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties * pProperties) const1025     void vkGetPhysicalDeviceProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1026     {
1027       return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
1028     }
1029 
vkGetPhysicalDeviceQueueFamilyProperties(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties * pQueueFamilyProperties) const1030     void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
1031                                                    uint32_t *                pQueueFamilyPropertyCount,
1032                                                    VkQueueFamilyProperties * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
1033     {
1034       return ::vkGetPhysicalDeviceQueueFamilyProperties( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
1035     }
1036 
vkGetPhysicalDeviceMemoryProperties(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties * pMemoryProperties) const1037     void vkGetPhysicalDeviceMemoryProperties( VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
1038     {
1039       return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
1040     }
1041 
vkGetInstanceProcAddr(VkInstance instance,const char * pName) const1042     PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
1043     {
1044       return ::vkGetInstanceProcAddr( instance, pName );
1045     }
1046 
vkGetDeviceProcAddr(VkDevice device,const char * pName) const1047     PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
1048     {
1049       return ::vkGetDeviceProcAddr( device, pName );
1050     }
1051 
vkCreateDevice(VkPhysicalDevice physicalDevice,const VkDeviceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDevice * pDevice) const1052     VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
1053                              const VkDeviceCreateInfo *    pCreateInfo,
1054                              const VkAllocationCallbacks * pAllocator,
1055                              VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
1056     {
1057       return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
1058     }
1059 
vkDestroyDevice(VkDevice device,const VkAllocationCallbacks * pAllocator) const1060     void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1061     {
1062       return ::vkDestroyDevice( device, pAllocator );
1063     }
1064 
vkEnumerateInstanceExtensionProperties(const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1065     VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
1066                                                      uint32_t *              pPropertyCount,
1067                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1068     {
1069       return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
1070     }
1071 
vkEnumerateDeviceExtensionProperties(VkPhysicalDevice physicalDevice,const char * pLayerName,uint32_t * pPropertyCount,VkExtensionProperties * pProperties) const1072     VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
1073                                                    const char *            pLayerName,
1074                                                    uint32_t *              pPropertyCount,
1075                                                    VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1076     {
1077       return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
1078     }
1079 
vkEnumerateInstanceLayerProperties(uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1080     VkResult vkEnumerateInstanceLayerProperties( uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1081     {
1082       return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
1083     }
1084 
1085     VkResult
vkEnumerateDeviceLayerProperties(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkLayerProperties * pProperties) const1086       vkEnumerateDeviceLayerProperties( VkPhysicalDevice physicalDevice, uint32_t * pPropertyCount, VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1087     {
1088       return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
1089     }
1090 
vkGetDeviceQueue(VkDevice device,uint32_t queueFamilyIndex,uint32_t queueIndex,VkQueue * pQueue) const1091     void vkGetDeviceQueue( VkDevice device, uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
1092     {
1093       return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
1094     }
1095 
vkQueueSubmit(VkQueue queue,uint32_t submitCount,const VkSubmitInfo * pSubmits,VkFence fence) const1096     VkResult vkQueueSubmit( VkQueue queue, uint32_t submitCount, const VkSubmitInfo * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1097     {
1098       return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
1099     }
1100 
vkQueueWaitIdle(VkQueue queue) const1101     VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
1102     {
1103       return ::vkQueueWaitIdle( queue );
1104     }
1105 
vkDeviceWaitIdle(VkDevice device) const1106     VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
1107     {
1108       return ::vkDeviceWaitIdle( device );
1109     }
1110 
vkAllocateMemory(VkDevice device,const VkMemoryAllocateInfo * pAllocateInfo,const VkAllocationCallbacks * pAllocator,VkDeviceMemory * pMemory) const1111     VkResult vkAllocateMemory( VkDevice                      device,
1112                                const VkMemoryAllocateInfo *  pAllocateInfo,
1113                                const VkAllocationCallbacks * pAllocator,
1114                                VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
1115     {
1116       return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
1117     }
1118 
vkFreeMemory(VkDevice device,VkDeviceMemory memory,const VkAllocationCallbacks * pAllocator) const1119     void vkFreeMemory( VkDevice device, VkDeviceMemory memory, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1120     {
1121       return ::vkFreeMemory( device, memory, pAllocator );
1122     }
1123 
vkMapMemory(VkDevice device,VkDeviceMemory memory,VkDeviceSize offset,VkDeviceSize size,VkMemoryMapFlags flags,void ** ppData) const1124     VkResult vkMapMemory( VkDevice device, VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void ** ppData ) const
1125       VULKAN_HPP_NOEXCEPT
1126     {
1127       return ::vkMapMemory( device, memory, offset, size, flags, ppData );
1128     }
1129 
vkUnmapMemory(VkDevice device,VkDeviceMemory memory) const1130     void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
1131     {
1132       return ::vkUnmapMemory( device, memory );
1133     }
1134 
vkFlushMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1135     VkResult vkFlushMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1136     {
1137       return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1138     }
1139 
vkInvalidateMappedMemoryRanges(VkDevice device,uint32_t memoryRangeCount,const VkMappedMemoryRange * pMemoryRanges) const1140     VkResult vkInvalidateMappedMemoryRanges( VkDevice device, uint32_t memoryRangeCount, const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
1141     {
1142       return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
1143     }
1144 
vkGetDeviceMemoryCommitment(VkDevice device,VkDeviceMemory memory,VkDeviceSize * pCommittedMemoryInBytes) const1145     void vkGetDeviceMemoryCommitment( VkDevice device, VkDeviceMemory memory, VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
1146     {
1147       return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
1148     }
1149 
vkBindBufferMemory(VkDevice device,VkBuffer buffer,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1150     VkResult vkBindBufferMemory( VkDevice device, VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1151     {
1152       return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
1153     }
1154 
vkBindImageMemory(VkDevice device,VkImage image,VkDeviceMemory memory,VkDeviceSize memoryOffset) const1155     VkResult vkBindImageMemory( VkDevice device, VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) const VULKAN_HPP_NOEXCEPT
1156     {
1157       return ::vkBindImageMemory( device, image, memory, memoryOffset );
1158     }
1159 
vkGetBufferMemoryRequirements(VkDevice device,VkBuffer buffer,VkMemoryRequirements * pMemoryRequirements) const1160     void vkGetBufferMemoryRequirements( VkDevice device, VkBuffer buffer, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1161     {
1162       return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
1163     }
1164 
vkGetImageMemoryRequirements(VkDevice device,VkImage image,VkMemoryRequirements * pMemoryRequirements) const1165     void vkGetImageMemoryRequirements( VkDevice device, VkImage image, VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1166     {
1167       return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
1168     }
1169 
vkGetImageSparseMemoryRequirements(VkDevice device,VkImage image,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements * pSparseMemoryRequirements) const1170     void vkGetImageSparseMemoryRequirements( VkDevice                          device,
1171                                              VkImage                           image,
1172                                              uint32_t *                        pSparseMemoryRequirementCount,
1173                                              VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1174     {
1175       return ::vkGetImageSparseMemoryRequirements( device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1176     }
1177 
vkGetPhysicalDeviceSparseImageFormatProperties(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkSampleCountFlagBits samples,VkImageUsageFlags usage,VkImageTiling tiling,uint32_t * pPropertyCount,VkSparseImageFormatProperties * pProperties) const1178     void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
1179                                                          VkFormat                        format,
1180                                                          VkImageType                     type,
1181                                                          VkSampleCountFlagBits           samples,
1182                                                          VkImageUsageFlags               usage,
1183                                                          VkImageTiling                   tiling,
1184                                                          uint32_t *                      pPropertyCount,
1185                                                          VkSparseImageFormatProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
1186     {
1187       return ::vkGetPhysicalDeviceSparseImageFormatProperties( physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
1188     }
1189 
vkQueueBindSparse(VkQueue queue,uint32_t bindInfoCount,const VkBindSparseInfo * pBindInfo,VkFence fence) const1190     VkResult vkQueueBindSparse( VkQueue queue, uint32_t bindInfoCount, const VkBindSparseInfo * pBindInfo, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1191     {
1192       return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
1193     }
1194 
vkCreateFence(VkDevice device,const VkFenceCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const1195     VkResult vkCreateFence( VkDevice                      device,
1196                             const VkFenceCreateInfo *     pCreateInfo,
1197                             const VkAllocationCallbacks * pAllocator,
1198                             VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
1199     {
1200       return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
1201     }
1202 
vkDestroyFence(VkDevice device,VkFence fence,const VkAllocationCallbacks * pAllocator) const1203     void vkDestroyFence( VkDevice device, VkFence fence, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1204     {
1205       return ::vkDestroyFence( device, fence, pAllocator );
1206     }
1207 
vkResetFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences) const1208     VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
1209     {
1210       return ::vkResetFences( device, fenceCount, pFences );
1211     }
1212 
vkGetFenceStatus(VkDevice device,VkFence fence) const1213     VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
1214     {
1215       return ::vkGetFenceStatus( device, fence );
1216     }
1217 
vkWaitForFences(VkDevice device,uint32_t fenceCount,const VkFence * pFences,VkBool32 waitAll,uint64_t timeout) const1218     VkResult vkWaitForFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences, VkBool32 waitAll, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
1219     {
1220       return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
1221     }
1222 
vkCreateSemaphore(VkDevice device,const VkSemaphoreCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSemaphore * pSemaphore) const1223     VkResult vkCreateSemaphore( VkDevice                      device,
1224                                 const VkSemaphoreCreateInfo * pCreateInfo,
1225                                 const VkAllocationCallbacks * pAllocator,
1226                                 VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
1227     {
1228       return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
1229     }
1230 
vkDestroySemaphore(VkDevice device,VkSemaphore semaphore,const VkAllocationCallbacks * pAllocator) const1231     void vkDestroySemaphore( VkDevice device, VkSemaphore semaphore, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1232     {
1233       return ::vkDestroySemaphore( device, semaphore, pAllocator );
1234     }
1235 
vkCreateEvent(VkDevice device,const VkEventCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkEvent * pEvent) const1236     VkResult vkCreateEvent( VkDevice                      device,
1237                             const VkEventCreateInfo *     pCreateInfo,
1238                             const VkAllocationCallbacks * pAllocator,
1239                             VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
1240     {
1241       return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
1242     }
1243 
vkDestroyEvent(VkDevice device,VkEvent event,const VkAllocationCallbacks * pAllocator) const1244     void vkDestroyEvent( VkDevice device, VkEvent event, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1245     {
1246       return ::vkDestroyEvent( device, event, pAllocator );
1247     }
1248 
vkGetEventStatus(VkDevice device,VkEvent event) const1249     VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1250     {
1251       return ::vkGetEventStatus( device, event );
1252     }
1253 
vkSetEvent(VkDevice device,VkEvent event) const1254     VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1255     {
1256       return ::vkSetEvent( device, event );
1257     }
1258 
vkResetEvent(VkDevice device,VkEvent event) const1259     VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
1260     {
1261       return ::vkResetEvent( device, event );
1262     }
1263 
vkCreateQueryPool(VkDevice device,const VkQueryPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkQueryPool * pQueryPool) const1264     VkResult vkCreateQueryPool( VkDevice                      device,
1265                                 const VkQueryPoolCreateInfo * pCreateInfo,
1266                                 const VkAllocationCallbacks * pAllocator,
1267                                 VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
1268     {
1269       return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
1270     }
1271 
vkDestroyQueryPool(VkDevice device,VkQueryPool queryPool,const VkAllocationCallbacks * pAllocator) const1272     void vkDestroyQueryPool( VkDevice device, VkQueryPool queryPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1273     {
1274       return ::vkDestroyQueryPool( device, queryPool, pAllocator );
1275     }
1276 
vkGetQueryPoolResults(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,size_t dataSize,void * pData,VkDeviceSize stride,VkQueryResultFlags flags) const1277     VkResult vkGetQueryPoolResults( VkDevice           device,
1278                                     VkQueryPool        queryPool,
1279                                     uint32_t           firstQuery,
1280                                     uint32_t           queryCount,
1281                                     size_t             dataSize,
1282                                     void *             pData,
1283                                     VkDeviceSize       stride,
1284                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1285     {
1286       return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
1287     }
1288 
vkCreateBuffer(VkDevice device,const VkBufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBuffer * pBuffer) const1289     VkResult vkCreateBuffer( VkDevice                      device,
1290                              const VkBufferCreateInfo *    pCreateInfo,
1291                              const VkAllocationCallbacks * pAllocator,
1292                              VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
1293     {
1294       return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
1295     }
1296 
vkDestroyBuffer(VkDevice device,VkBuffer buffer,const VkAllocationCallbacks * pAllocator) const1297     void vkDestroyBuffer( VkDevice device, VkBuffer buffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1298     {
1299       return ::vkDestroyBuffer( device, buffer, pAllocator );
1300     }
1301 
vkCreateBufferView(VkDevice device,const VkBufferViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferView * pView) const1302     VkResult vkCreateBufferView( VkDevice                       device,
1303                                  const VkBufferViewCreateInfo * pCreateInfo,
1304                                  const VkAllocationCallbacks *  pAllocator,
1305                                  VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
1306     {
1307       return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
1308     }
1309 
vkDestroyBufferView(VkDevice device,VkBufferView bufferView,const VkAllocationCallbacks * pAllocator) const1310     void vkDestroyBufferView( VkDevice device, VkBufferView bufferView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1311     {
1312       return ::vkDestroyBufferView( device, bufferView, pAllocator );
1313     }
1314 
vkCreateImage(VkDevice device,const VkImageCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImage * pImage) const1315     VkResult vkCreateImage( VkDevice                      device,
1316                             const VkImageCreateInfo *     pCreateInfo,
1317                             const VkAllocationCallbacks * pAllocator,
1318                             VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
1319     {
1320       return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
1321     }
1322 
vkDestroyImage(VkDevice device,VkImage image,const VkAllocationCallbacks * pAllocator) const1323     void vkDestroyImage( VkDevice device, VkImage image, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1324     {
1325       return ::vkDestroyImage( device, image, pAllocator );
1326     }
1327 
vkGetImageSubresourceLayout(VkDevice device,VkImage image,const VkImageSubresource * pSubresource,VkSubresourceLayout * pLayout) const1328     void vkGetImageSubresourceLayout( VkDevice                   device,
1329                                       VkImage                    image,
1330                                       const VkImageSubresource * pSubresource,
1331                                       VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
1332     {
1333       return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
1334     }
1335 
vkCreateImageView(VkDevice device,const VkImageViewCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkImageView * pView) const1336     VkResult vkCreateImageView( VkDevice                      device,
1337                                 const VkImageViewCreateInfo * pCreateInfo,
1338                                 const VkAllocationCallbacks * pAllocator,
1339                                 VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
1340     {
1341       return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
1342     }
1343 
vkDestroyImageView(VkDevice device,VkImageView imageView,const VkAllocationCallbacks * pAllocator) const1344     void vkDestroyImageView( VkDevice device, VkImageView imageView, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1345     {
1346       return ::vkDestroyImageView( device, imageView, pAllocator );
1347     }
1348 
vkCreateShaderModule(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkShaderModule * pShaderModule) const1349     VkResult vkCreateShaderModule( VkDevice                         device,
1350                                    const VkShaderModuleCreateInfo * pCreateInfo,
1351                                    const VkAllocationCallbacks *    pAllocator,
1352                                    VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
1353     {
1354       return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
1355     }
1356 
vkDestroyShaderModule(VkDevice device,VkShaderModule shaderModule,const VkAllocationCallbacks * pAllocator) const1357     void vkDestroyShaderModule( VkDevice device, VkShaderModule shaderModule, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1358     {
1359       return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
1360     }
1361 
vkCreatePipelineCache(VkDevice device,const VkPipelineCacheCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineCache * pPipelineCache) const1362     VkResult vkCreatePipelineCache( VkDevice                          device,
1363                                     const VkPipelineCacheCreateInfo * pCreateInfo,
1364                                     const VkAllocationCallbacks *     pAllocator,
1365                                     VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
1366     {
1367       return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
1368     }
1369 
vkDestroyPipelineCache(VkDevice device,VkPipelineCache pipelineCache,const VkAllocationCallbacks * pAllocator) const1370     void vkDestroyPipelineCache( VkDevice device, VkPipelineCache pipelineCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1371     {
1372       return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
1373     }
1374 
vkGetPipelineCacheData(VkDevice device,VkPipelineCache pipelineCache,size_t * pDataSize,void * pData) const1375     VkResult vkGetPipelineCacheData( VkDevice device, VkPipelineCache pipelineCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
1376     {
1377       return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
1378     }
1379 
1380     VkResult
vkMergePipelineCaches(VkDevice device,VkPipelineCache dstCache,uint32_t srcCacheCount,const VkPipelineCache * pSrcCaches) const1381       vkMergePipelineCaches( VkDevice device, VkPipelineCache dstCache, uint32_t srcCacheCount, const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
1382     {
1383       return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
1384     }
1385 
vkCreateGraphicsPipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkGraphicsPipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1386     VkResult vkCreateGraphicsPipelines( VkDevice                             device,
1387                                         VkPipelineCache                      pipelineCache,
1388                                         uint32_t                             createInfoCount,
1389                                         const VkGraphicsPipelineCreateInfo * pCreateInfos,
1390                                         const VkAllocationCallbacks *        pAllocator,
1391                                         VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
1392     {
1393       return ::vkCreateGraphicsPipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1394     }
1395 
vkCreateComputePipelines(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkComputePipelineCreateInfo * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const1396     VkResult vkCreateComputePipelines( VkDevice                            device,
1397                                        VkPipelineCache                     pipelineCache,
1398                                        uint32_t                            createInfoCount,
1399                                        const VkComputePipelineCreateInfo * pCreateInfos,
1400                                        const VkAllocationCallbacks *       pAllocator,
1401                                        VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
1402     {
1403       return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
1404     }
1405 
vkDestroyPipeline(VkDevice device,VkPipeline pipeline,const VkAllocationCallbacks * pAllocator) const1406     void vkDestroyPipeline( VkDevice device, VkPipeline pipeline, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1407     {
1408       return ::vkDestroyPipeline( device, pipeline, pAllocator );
1409     }
1410 
vkCreatePipelineLayout(VkDevice device,const VkPipelineLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineLayout * pPipelineLayout) const1411     VkResult vkCreatePipelineLayout( VkDevice                           device,
1412                                      const VkPipelineLayoutCreateInfo * pCreateInfo,
1413                                      const VkAllocationCallbacks *      pAllocator,
1414                                      VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
1415     {
1416       return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
1417     }
1418 
vkDestroyPipelineLayout(VkDevice device,VkPipelineLayout pipelineLayout,const VkAllocationCallbacks * pAllocator) const1419     void vkDestroyPipelineLayout( VkDevice device, VkPipelineLayout pipelineLayout, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1420     {
1421       return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
1422     }
1423 
vkCreateSampler(VkDevice device,const VkSamplerCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSampler * pSampler) const1424     VkResult vkCreateSampler( VkDevice                      device,
1425                               const VkSamplerCreateInfo *   pCreateInfo,
1426                               const VkAllocationCallbacks * pAllocator,
1427                               VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
1428     {
1429       return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
1430     }
1431 
vkDestroySampler(VkDevice device,VkSampler sampler,const VkAllocationCallbacks * pAllocator) const1432     void vkDestroySampler( VkDevice device, VkSampler sampler, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1433     {
1434       return ::vkDestroySampler( device, sampler, pAllocator );
1435     }
1436 
vkCreateDescriptorSetLayout(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorSetLayout * pSetLayout) const1437     VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
1438                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
1439                                           const VkAllocationCallbacks *           pAllocator,
1440                                           VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
1441     {
1442       return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
1443     }
1444 
vkDestroyDescriptorSetLayout(VkDevice device,VkDescriptorSetLayout descriptorSetLayout,const VkAllocationCallbacks * pAllocator) const1445     void vkDestroyDescriptorSetLayout( VkDevice                      device,
1446                                        VkDescriptorSetLayout         descriptorSetLayout,
1447                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1448     {
1449       return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
1450     }
1451 
vkCreateDescriptorPool(VkDevice device,const VkDescriptorPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorPool * pDescriptorPool) const1452     VkResult vkCreateDescriptorPool( VkDevice                           device,
1453                                      const VkDescriptorPoolCreateInfo * pCreateInfo,
1454                                      const VkAllocationCallbacks *      pAllocator,
1455                                      VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
1456     {
1457       return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
1458     }
1459 
vkDestroyDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,const VkAllocationCallbacks * pAllocator) const1460     void vkDestroyDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1461     {
1462       return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
1463     }
1464 
vkResetDescriptorPool(VkDevice device,VkDescriptorPool descriptorPool,VkDescriptorPoolResetFlags flags) const1465     VkResult vkResetDescriptorPool( VkDevice device, VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1466     {
1467       return ::vkResetDescriptorPool( device, descriptorPool, flags );
1468     }
1469 
vkAllocateDescriptorSets(VkDevice device,const VkDescriptorSetAllocateInfo * pAllocateInfo,VkDescriptorSet * pDescriptorSets) const1470     VkResult vkAllocateDescriptorSets( VkDevice                            device,
1471                                        const VkDescriptorSetAllocateInfo * pAllocateInfo,
1472                                        VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1473     {
1474       return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
1475     }
1476 
vkFreeDescriptorSets(VkDevice device,VkDescriptorPool descriptorPool,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets) const1477     VkResult vkFreeDescriptorSets( VkDevice                device,
1478                                    VkDescriptorPool        descriptorPool,
1479                                    uint32_t                descriptorSetCount,
1480                                    const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
1481     {
1482       return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
1483     }
1484 
vkUpdateDescriptorSets(VkDevice device,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites,uint32_t descriptorCopyCount,const VkCopyDescriptorSet * pDescriptorCopies) const1485     void vkUpdateDescriptorSets( VkDevice                     device,
1486                                  uint32_t                     descriptorWriteCount,
1487                                  const VkWriteDescriptorSet * pDescriptorWrites,
1488                                  uint32_t                     descriptorCopyCount,
1489                                  const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
1490     {
1491       return ::vkUpdateDescriptorSets( device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
1492     }
1493 
vkCreateFramebuffer(VkDevice device,const VkFramebufferCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkFramebuffer * pFramebuffer) const1494     VkResult vkCreateFramebuffer( VkDevice                        device,
1495                                   const VkFramebufferCreateInfo * pCreateInfo,
1496                                   const VkAllocationCallbacks *   pAllocator,
1497                                   VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
1498     {
1499       return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
1500     }
1501 
vkDestroyFramebuffer(VkDevice device,VkFramebuffer framebuffer,const VkAllocationCallbacks * pAllocator) const1502     void vkDestroyFramebuffer( VkDevice device, VkFramebuffer framebuffer, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1503     {
1504       return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
1505     }
1506 
vkCreateRenderPass(VkDevice device,const VkRenderPassCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const1507     VkResult vkCreateRenderPass( VkDevice                       device,
1508                                  const VkRenderPassCreateInfo * pCreateInfo,
1509                                  const VkAllocationCallbacks *  pAllocator,
1510                                  VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
1511     {
1512       return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
1513     }
1514 
vkDestroyRenderPass(VkDevice device,VkRenderPass renderPass,const VkAllocationCallbacks * pAllocator) const1515     void vkDestroyRenderPass( VkDevice device, VkRenderPass renderPass, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1516     {
1517       return ::vkDestroyRenderPass( device, renderPass, pAllocator );
1518     }
1519 
vkGetRenderAreaGranularity(VkDevice device,VkRenderPass renderPass,VkExtent2D * pGranularity) const1520     void vkGetRenderAreaGranularity( VkDevice device, VkRenderPass renderPass, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
1521     {
1522       return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
1523     }
1524 
vkCreateCommandPool(VkDevice device,const VkCommandPoolCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCommandPool * pCommandPool) const1525     VkResult vkCreateCommandPool( VkDevice                        device,
1526                                   const VkCommandPoolCreateInfo * pCreateInfo,
1527                                   const VkAllocationCallbacks *   pAllocator,
1528                                   VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
1529     {
1530       return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
1531     }
1532 
vkDestroyCommandPool(VkDevice device,VkCommandPool commandPool,const VkAllocationCallbacks * pAllocator) const1533     void vkDestroyCommandPool( VkDevice device, VkCommandPool commandPool, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
1534     {
1535       return ::vkDestroyCommandPool( device, commandPool, pAllocator );
1536     }
1537 
vkResetCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolResetFlags flags) const1538     VkResult vkResetCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1539     {
1540       return ::vkResetCommandPool( device, commandPool, flags );
1541     }
1542 
vkAllocateCommandBuffers(VkDevice device,const VkCommandBufferAllocateInfo * pAllocateInfo,VkCommandBuffer * pCommandBuffers) const1543     VkResult vkAllocateCommandBuffers( VkDevice                            device,
1544                                        const VkCommandBufferAllocateInfo * pAllocateInfo,
1545                                        VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1546     {
1547       return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
1548     }
1549 
vkFreeCommandBuffers(VkDevice device,VkCommandPool commandPool,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1550     void vkFreeCommandBuffers( VkDevice                device,
1551                                VkCommandPool           commandPool,
1552                                uint32_t                commandBufferCount,
1553                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1554     {
1555       return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
1556     }
1557 
vkBeginCommandBuffer(VkCommandBuffer commandBuffer,const VkCommandBufferBeginInfo * pBeginInfo) const1558     VkResult vkBeginCommandBuffer( VkCommandBuffer commandBuffer, const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
1559     {
1560       return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
1561     }
1562 
vkEndCommandBuffer(VkCommandBuffer commandBuffer) const1563     VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1564     {
1565       return ::vkEndCommandBuffer( commandBuffer );
1566     }
1567 
vkResetCommandBuffer(VkCommandBuffer commandBuffer,VkCommandBufferResetFlags flags) const1568     VkResult vkResetCommandBuffer( VkCommandBuffer commandBuffer, VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
1569     {
1570       return ::vkResetCommandBuffer( commandBuffer, flags );
1571     }
1572 
vkCmdBindPipeline(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const1573     void vkCmdBindPipeline( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
1574     {
1575       return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
1576     }
1577 
1578     void
vkCmdSetViewport(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewport * pViewports) const1579       vkCmdSetViewport( VkCommandBuffer commandBuffer, uint32_t firstViewport, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
1580     {
1581       return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
1582     }
1583 
vkCmdSetScissor(VkCommandBuffer commandBuffer,uint32_t firstScissor,uint32_t scissorCount,const VkRect2D * pScissors) const1584     void vkCmdSetScissor( VkCommandBuffer commandBuffer, uint32_t firstScissor, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
1585     {
1586       return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
1587     }
1588 
vkCmdSetLineWidth(VkCommandBuffer commandBuffer,float lineWidth) const1589     void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
1590     {
1591       return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
1592     }
1593 
vkCmdSetDepthBias(VkCommandBuffer commandBuffer,float depthBiasConstantFactor,float depthBiasClamp,float depthBiasSlopeFactor) const1594     void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
1595                             float           depthBiasConstantFactor,
1596                             float           depthBiasClamp,
1597                             float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
1598     {
1599       return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
1600     }
1601 
vkCmdSetBlendConstants(VkCommandBuffer commandBuffer,const float blendConstants[4]) const1602     void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer, const float blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
1603     {
1604       return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
1605     }
1606 
vkCmdSetDepthBounds(VkCommandBuffer commandBuffer,float minDepthBounds,float maxDepthBounds) const1607     void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer, float minDepthBounds, float maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
1608     {
1609       return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
1610     }
1611 
vkCmdSetStencilCompareMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t compareMask) const1612     void vkCmdSetStencilCompareMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t compareMask ) const VULKAN_HPP_NOEXCEPT
1613     {
1614       return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
1615     }
1616 
vkCmdSetStencilWriteMask(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t writeMask) const1617     void vkCmdSetStencilWriteMask( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t writeMask ) const VULKAN_HPP_NOEXCEPT
1618     {
1619       return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
1620     }
1621 
vkCmdSetStencilReference(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,uint32_t reference) const1622     void vkCmdSetStencilReference( VkCommandBuffer commandBuffer, VkStencilFaceFlags faceMask, uint32_t reference ) const VULKAN_HPP_NOEXCEPT
1623     {
1624       return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
1625     }
1626 
vkCmdBindDescriptorSets(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t descriptorSetCount,const VkDescriptorSet * pDescriptorSets,uint32_t dynamicOffsetCount,const uint32_t * pDynamicOffsets) const1627     void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
1628                                   VkPipelineBindPoint     pipelineBindPoint,
1629                                   VkPipelineLayout        layout,
1630                                   uint32_t                firstSet,
1631                                   uint32_t                descriptorSetCount,
1632                                   const VkDescriptorSet * pDescriptorSets,
1633                                   uint32_t                dynamicOffsetCount,
1634                                   const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
1635     {
1636       return ::vkCmdBindDescriptorSets(
1637         commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets );
1638     }
1639 
vkCmdBindIndexBuffer(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkIndexType indexType) const1640     void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) const VULKAN_HPP_NOEXCEPT
1641     {
1642       return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
1643     }
1644 
vkCmdBindVertexBuffers(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets) const1645     void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
1646                                  uint32_t             firstBinding,
1647                                  uint32_t             bindingCount,
1648                                  const VkBuffer *     pBuffers,
1649                                  const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
1650     {
1651       return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
1652     }
1653 
vkCmdDraw(VkCommandBuffer commandBuffer,uint32_t vertexCount,uint32_t instanceCount,uint32_t firstVertex,uint32_t firstInstance) const1654     void vkCmdDraw( VkCommandBuffer commandBuffer, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) const
1655       VULKAN_HPP_NOEXCEPT
1656     {
1657       return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
1658     }
1659 
vkCmdDrawIndexed(VkCommandBuffer commandBuffer,uint32_t indexCount,uint32_t instanceCount,uint32_t firstIndex,int32_t vertexOffset,uint32_t firstInstance) const1660     void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
1661                            uint32_t        indexCount,
1662                            uint32_t        instanceCount,
1663                            uint32_t        firstIndex,
1664                            int32_t         vertexOffset,
1665                            uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
1666     {
1667       return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
1668     }
1669 
vkCmdDrawIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1670     void vkCmdDrawIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const VULKAN_HPP_NOEXCEPT
1671     {
1672       return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
1673     }
1674 
vkCmdDrawIndexedIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const1675     void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
1676       VULKAN_HPP_NOEXCEPT
1677     {
1678       return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
1679     }
1680 
vkCmdDispatch(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1681     void vkCmdDispatch( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
1682     {
1683       return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
1684     }
1685 
vkCmdDispatchIndirect(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const1686     void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
1687     {
1688       return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
1689     }
1690 
vkCmdCopyBuffer(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferCopy * pRegions) const1691     void vkCmdCopyBuffer( VkCommandBuffer commandBuffer, VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const VkBufferCopy * pRegions ) const
1692       VULKAN_HPP_NOEXCEPT
1693     {
1694       return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
1695     }
1696 
vkCmdCopyImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageCopy * pRegions) const1697     void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
1698                          VkImage             srcImage,
1699                          VkImageLayout       srcImageLayout,
1700                          VkImage             dstImage,
1701                          VkImageLayout       dstImageLayout,
1702                          uint32_t            regionCount,
1703                          const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1704     {
1705       return ::vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1706     }
1707 
vkCmdBlitImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageBlit * pRegions,VkFilter filter) const1708     void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
1709                          VkImage             srcImage,
1710                          VkImageLayout       srcImageLayout,
1711                          VkImage             dstImage,
1712                          VkImageLayout       dstImageLayout,
1713                          uint32_t            regionCount,
1714                          const VkImageBlit * pRegions,
1715                          VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
1716     {
1717       return ::vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
1718     }
1719 
vkCmdCopyBufferToImage(VkCommandBuffer commandBuffer,VkBuffer srcBuffer,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1720     void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
1721                                  VkBuffer                  srcBuffer,
1722                                  VkImage                   dstImage,
1723                                  VkImageLayout             dstImageLayout,
1724                                  uint32_t                  regionCount,
1725                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1726     {
1727       return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
1728     }
1729 
vkCmdCopyImageToBuffer(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkBuffer dstBuffer,uint32_t regionCount,const VkBufferImageCopy * pRegions) const1730     void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
1731                                  VkImage                   srcImage,
1732                                  VkImageLayout             srcImageLayout,
1733                                  VkBuffer                  dstBuffer,
1734                                  uint32_t                  regionCount,
1735                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
1736     {
1737       return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
1738     }
1739 
vkCmdUpdateBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize dataSize,const void * pData) const1740     void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const void * pData ) const
1741       VULKAN_HPP_NOEXCEPT
1742     {
1743       return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
1744     }
1745 
1746     void
vkCmdFillBuffer(VkCommandBuffer commandBuffer,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize size,uint32_t data) const1747       vkCmdFillBuffer( VkCommandBuffer commandBuffer, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) const VULKAN_HPP_NOEXCEPT
1748     {
1749       return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
1750     }
1751 
vkCmdClearColorImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearColorValue * pColor,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1752     void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
1753                                VkImage                         image,
1754                                VkImageLayout                   imageLayout,
1755                                const VkClearColorValue *       pColor,
1756                                uint32_t                        rangeCount,
1757                                const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
1758     {
1759       return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
1760     }
1761 
vkCmdClearDepthStencilImage(VkCommandBuffer commandBuffer,VkImage image,VkImageLayout imageLayout,const VkClearDepthStencilValue * pDepthStencil,uint32_t rangeCount,const VkImageSubresourceRange * pRanges) const1762     void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
1763                                       VkImage                          image,
1764                                       VkImageLayout                    imageLayout,
1765                                       const VkClearDepthStencilValue * pDepthStencil,
1766                                       uint32_t                         rangeCount,
1767                                       const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
1768     {
1769       return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
1770     }
1771 
vkCmdClearAttachments(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkClearAttachment * pAttachments,uint32_t rectCount,const VkClearRect * pRects) const1772     void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
1773                                 uint32_t                  attachmentCount,
1774                                 const VkClearAttachment * pAttachments,
1775                                 uint32_t                  rectCount,
1776                                 const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
1777     {
1778       return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
1779     }
1780 
vkCmdResolveImage(VkCommandBuffer commandBuffer,VkImage srcImage,VkImageLayout srcImageLayout,VkImage dstImage,VkImageLayout dstImageLayout,uint32_t regionCount,const VkImageResolve * pRegions) const1781     void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
1782                             VkImage                srcImage,
1783                             VkImageLayout          srcImageLayout,
1784                             VkImage                dstImage,
1785                             VkImageLayout          dstImageLayout,
1786                             uint32_t               regionCount,
1787                             const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
1788     {
1789       return ::vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
1790     }
1791 
vkCmdSetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1792     void vkCmdSetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1793     {
1794       return ::vkCmdSetEvent( commandBuffer, event, stageMask );
1795     }
1796 
vkCmdResetEvent(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags stageMask) const1797     void vkCmdResetEvent( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
1798     {
1799       return ::vkCmdResetEvent( commandBuffer, event, stageMask );
1800     }
1801 
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) const1802     void vkCmdWaitEvents( VkCommandBuffer               commandBuffer,
1803                           uint32_t                      eventCount,
1804                           const VkEvent *               pEvents,
1805                           VkPipelineStageFlags          srcStageMask,
1806                           VkPipelineStageFlags          dstStageMask,
1807                           uint32_t                      memoryBarrierCount,
1808                           const VkMemoryBarrier *       pMemoryBarriers,
1809                           uint32_t                      bufferMemoryBarrierCount,
1810                           const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1811                           uint32_t                      imageMemoryBarrierCount,
1812                           const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1813     {
1814       return ::vkCmdWaitEvents( commandBuffer,
1815                                 eventCount,
1816                                 pEvents,
1817                                 srcStageMask,
1818                                 dstStageMask,
1819                                 memoryBarrierCount,
1820                                 pMemoryBarriers,
1821                                 bufferMemoryBarrierCount,
1822                                 pBufferMemoryBarriers,
1823                                 imageMemoryBarrierCount,
1824                                 pImageMemoryBarriers );
1825     }
1826 
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) const1827     void vkCmdPipelineBarrier( VkCommandBuffer               commandBuffer,
1828                                VkPipelineStageFlags          srcStageMask,
1829                                VkPipelineStageFlags          dstStageMask,
1830                                VkDependencyFlags             dependencyFlags,
1831                                uint32_t                      memoryBarrierCount,
1832                                const VkMemoryBarrier *       pMemoryBarriers,
1833                                uint32_t                      bufferMemoryBarrierCount,
1834                                const VkBufferMemoryBarrier * pBufferMemoryBarriers,
1835                                uint32_t                      imageMemoryBarrierCount,
1836                                const VkImageMemoryBarrier *  pImageMemoryBarriers ) const VULKAN_HPP_NOEXCEPT
1837     {
1838       return ::vkCmdPipelineBarrier( commandBuffer,
1839                                      srcStageMask,
1840                                      dstStageMask,
1841                                      dependencyFlags,
1842                                      memoryBarrierCount,
1843                                      pMemoryBarriers,
1844                                      bufferMemoryBarrierCount,
1845                                      pBufferMemoryBarriers,
1846                                      imageMemoryBarrierCount,
1847                                      pImageMemoryBarriers );
1848     }
1849 
vkCmdBeginQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags) const1850     void vkCmdBeginQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
1851     {
1852       return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
1853     }
1854 
vkCmdEndQuery(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query) const1855     void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
1856     {
1857       return ::vkCmdEndQuery( commandBuffer, queryPool, query );
1858     }
1859 
vkCmdResetQueryPool(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const1860     void vkCmdResetQueryPool( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
1861     {
1862       return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
1863     }
1864 
vkCmdWriteTimestamp(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkQueryPool queryPool,uint32_t query) const1865     void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
1866                               VkPipelineStageFlagBits pipelineStage,
1867                               VkQueryPool             queryPool,
1868                               uint32_t                query ) const VULKAN_HPP_NOEXCEPT
1869     {
1870       return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
1871     }
1872 
vkCmdCopyQueryPoolResults(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount,VkBuffer dstBuffer,VkDeviceSize dstOffset,VkDeviceSize stride,VkQueryResultFlags flags) const1873     void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
1874                                     VkQueryPool        queryPool,
1875                                     uint32_t           firstQuery,
1876                                     uint32_t           queryCount,
1877                                     VkBuffer           dstBuffer,
1878                                     VkDeviceSize       dstOffset,
1879                                     VkDeviceSize       stride,
1880                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
1881     {
1882       return ::vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
1883     }
1884 
vkCmdPushConstants(VkCommandBuffer commandBuffer,VkPipelineLayout layout,VkShaderStageFlags stageFlags,uint32_t offset,uint32_t size,const void * pValues) const1885     void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
1886                              VkPipelineLayout   layout,
1887                              VkShaderStageFlags stageFlags,
1888                              uint32_t           offset,
1889                              uint32_t           size,
1890                              const void *       pValues ) const VULKAN_HPP_NOEXCEPT
1891     {
1892       return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
1893     }
1894 
vkCmdBeginRenderPass(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,VkSubpassContents contents) const1895     void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
1896                                const VkRenderPassBeginInfo * pRenderPassBegin,
1897                                VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
1898     {
1899       return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
1900     }
1901 
vkCmdNextSubpass(VkCommandBuffer commandBuffer,VkSubpassContents contents) const1902     void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
1903     {
1904       return ::vkCmdNextSubpass( commandBuffer, contents );
1905     }
1906 
vkCmdEndRenderPass(VkCommandBuffer commandBuffer) const1907     void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
1908     {
1909       return ::vkCmdEndRenderPass( commandBuffer );
1910     }
1911 
vkCmdExecuteCommands(VkCommandBuffer commandBuffer,uint32_t commandBufferCount,const VkCommandBuffer * pCommandBuffers) const1912     void vkCmdExecuteCommands( VkCommandBuffer commandBuffer, uint32_t commandBufferCount, const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
1913     {
1914       return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
1915     }
1916 
1917     //=== VK_VERSION_1_1 ===
1918 
vkEnumerateInstanceVersion(uint32_t * pApiVersion) const1919     VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
1920     {
1921       return ::vkEnumerateInstanceVersion( pApiVersion );
1922     }
1923 
vkBindBufferMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const1924     VkResult vkBindBufferMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1925     {
1926       return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
1927     }
1928 
vkBindImageMemory2(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const1929     VkResult vkBindImageMemory2( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
1930     {
1931       return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
1932     }
1933 
vkGetDeviceGroupPeerMemoryFeatures(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const1934     void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
1935                                              uint32_t                   heapIndex,
1936                                              uint32_t                   localDeviceIndex,
1937                                              uint32_t                   remoteDeviceIndex,
1938                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
1939     {
1940       return ::vkGetDeviceGroupPeerMemoryFeatures( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
1941     }
1942 
vkCmdSetDeviceMask(VkCommandBuffer commandBuffer,uint32_t deviceMask) const1943     void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
1944     {
1945       return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
1946     }
1947 
vkCmdDispatchBase(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const1948     void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
1949                             uint32_t        baseGroupX,
1950                             uint32_t        baseGroupY,
1951                             uint32_t        baseGroupZ,
1952                             uint32_t        groupCountX,
1953                             uint32_t        groupCountY,
1954                             uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
1955     {
1956       return ::vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
1957     }
1958 
vkEnumeratePhysicalDeviceGroups(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const1959     VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
1960                                               uint32_t *                        pPhysicalDeviceGroupCount,
1961                                               VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
1962     {
1963       return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
1964     }
1965 
vkGetImageMemoryRequirements2(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const1966     void vkGetImageMemoryRequirements2( VkDevice                               device,
1967                                         const VkImageMemoryRequirementsInfo2 * pInfo,
1968                                         VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1969     {
1970       return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
1971     }
1972 
vkGetBufferMemoryRequirements2(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const1973     void vkGetBufferMemoryRequirements2( VkDevice                                device,
1974                                          const VkBufferMemoryRequirementsInfo2 * pInfo,
1975                                          VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1976     {
1977       return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
1978     }
1979 
vkGetImageSparseMemoryRequirements2(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const1980     void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
1981                                               const VkImageSparseMemoryRequirementsInfo2 * pInfo,
1982                                               uint32_t *                                   pSparseMemoryRequirementCount,
1983                                               VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
1984     {
1985       return ::vkGetImageSparseMemoryRequirements2( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
1986     }
1987 
vkGetPhysicalDeviceFeatures2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const1988     void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
1989     {
1990       return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
1991     }
1992 
vkGetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const1993     void vkGetPhysicalDeviceProperties2( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
1994     {
1995       return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
1996     }
1997 
vkGetPhysicalDeviceFormatProperties2(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const1998     void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
1999                                                VkFormat              format,
2000                                                VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
2001     {
2002       return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
2003     }
2004 
vkGetPhysicalDeviceImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const2005     VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
2006                                                         const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
2007                                                         VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
2008     {
2009       return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
2010     }
2011 
vkGetPhysicalDeviceQueueFamilyProperties2(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const2012     void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
2013                                                     uint32_t *                 pQueueFamilyPropertyCount,
2014                                                     VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
2015     {
2016       return ::vkGetPhysicalDeviceQueueFamilyProperties2( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
2017     }
2018 
vkGetPhysicalDeviceMemoryProperties2(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const2019     void vkGetPhysicalDeviceMemoryProperties2( VkPhysicalDevice                    physicalDevice,
2020                                                VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
2021     {
2022       return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
2023     }
2024 
vkGetPhysicalDeviceSparseImageFormatProperties2(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const2025     void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
2026                                                           const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
2027                                                           uint32_t *                                     pPropertyCount,
2028                                                           VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
2029     {
2030       return ::vkGetPhysicalDeviceSparseImageFormatProperties2( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
2031     }
2032 
vkTrimCommandPool(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const2033     void vkTrimCommandPool( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
2034     {
2035       return ::vkTrimCommandPool( device, commandPool, flags );
2036     }
2037 
vkGetDeviceQueue2(VkDevice device,const VkDeviceQueueInfo2 * pQueueInfo,VkQueue * pQueue) const2038     void vkGetDeviceQueue2( VkDevice device, const VkDeviceQueueInfo2 * pQueueInfo, VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
2039     {
2040       return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
2041     }
2042 
vkCreateSamplerYcbcrConversion(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const2043     VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
2044                                              const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
2045                                              const VkAllocationCallbacks *              pAllocator,
2046                                              VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
2047     {
2048       return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
2049     }
2050 
vkDestroySamplerYcbcrConversion(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const2051     void vkDestroySamplerYcbcrConversion( VkDevice                      device,
2052                                           VkSamplerYcbcrConversion      ycbcrConversion,
2053                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2054     {
2055       return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
2056     }
2057 
vkCreateDescriptorUpdateTemplate(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const2058     VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
2059                                                const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
2060                                                const VkAllocationCallbacks *                pAllocator,
2061                                                VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
2062     {
2063       return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
2064     }
2065 
vkDestroyDescriptorUpdateTemplate(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const2066     void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
2067                                             VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
2068                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2069     {
2070       return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
2071     }
2072 
vkUpdateDescriptorSetWithTemplate(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const2073     void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
2074                                             VkDescriptorSet            descriptorSet,
2075                                             VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2076                                             const void *               pData ) const VULKAN_HPP_NOEXCEPT
2077     {
2078       return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
2079     }
2080 
vkGetPhysicalDeviceExternalBufferProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const2081     void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
2082                                                       const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
2083                                                       VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
2084     {
2085       return ::vkGetPhysicalDeviceExternalBufferProperties( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
2086     }
2087 
vkGetPhysicalDeviceExternalFenceProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const2088     void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
2089                                                      const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
2090                                                      VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
2091     {
2092       return ::vkGetPhysicalDeviceExternalFenceProperties( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
2093     }
2094 
vkGetPhysicalDeviceExternalSemaphoreProperties(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const2095     void vkGetPhysicalDeviceExternalSemaphoreProperties( VkPhysicalDevice                              physicalDevice,
2096                                                          const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
2097                                                          VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
2098     {
2099       return ::vkGetPhysicalDeviceExternalSemaphoreProperties( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
2100     }
2101 
vkGetDescriptorSetLayoutSupport(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const2102     void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
2103                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
2104                                           VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
2105     {
2106       return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
2107     }
2108 
2109     //=== VK_VERSION_1_2 ===
2110 
vkCmdDrawIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2111     void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
2112                                  VkBuffer        buffer,
2113                                  VkDeviceSize    offset,
2114                                  VkBuffer        countBuffer,
2115                                  VkDeviceSize    countBufferOffset,
2116                                  uint32_t        maxDrawCount,
2117                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2118     {
2119       return ::vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2120     }
2121 
vkCmdDrawIndexedIndirectCount(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const2122     void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
2123                                         VkBuffer        buffer,
2124                                         VkDeviceSize    offset,
2125                                         VkBuffer        countBuffer,
2126                                         VkDeviceSize    countBufferOffset,
2127                                         uint32_t        maxDrawCount,
2128                                         uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
2129     {
2130       return ::vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
2131     }
2132 
vkCreateRenderPass2(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const2133     VkResult vkCreateRenderPass2( VkDevice                        device,
2134                                   const VkRenderPassCreateInfo2 * pCreateInfo,
2135                                   const VkAllocationCallbacks *   pAllocator,
2136                                   VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
2137     {
2138       return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
2139     }
2140 
vkCmdBeginRenderPass2(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const2141     void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
2142                                 const VkRenderPassBeginInfo * pRenderPassBegin,
2143                                 const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
2144     {
2145       return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
2146     }
2147 
vkCmdNextSubpass2(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const2148     void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
2149                             const VkSubpassBeginInfo * pSubpassBeginInfo,
2150                             const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2151     {
2152       return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
2153     }
2154 
vkCmdEndRenderPass2(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const2155     void vkCmdEndRenderPass2( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
2156     {
2157       return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
2158     }
2159 
vkResetQueryPool(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const2160     void vkResetQueryPool( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
2161     {
2162       return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
2163     }
2164 
vkGetSemaphoreCounterValue(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const2165     VkResult vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
2166     {
2167       return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
2168     }
2169 
vkWaitSemaphores(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const2170     VkResult vkWaitSemaphores( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
2171     {
2172       return ::vkWaitSemaphores( device, pWaitInfo, timeout );
2173     }
2174 
vkSignalSemaphore(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const2175     VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
2176     {
2177       return ::vkSignalSemaphore( device, pSignalInfo );
2178     }
2179 
vkGetBufferDeviceAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2180     VkDeviceAddress vkGetBufferDeviceAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2181     {
2182       return ::vkGetBufferDeviceAddress( device, pInfo );
2183     }
2184 
vkGetBufferOpaqueCaptureAddress(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const2185     uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2186     {
2187       return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
2188     }
2189 
vkGetDeviceMemoryOpaqueCaptureAddress(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const2190     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
2191     {
2192       return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
2193     }
2194 
2195     //=== VK_VERSION_1_3 ===
2196 
vkGetPhysicalDeviceToolProperties(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const2197     VkResult vkGetPhysicalDeviceToolProperties( VkPhysicalDevice                 physicalDevice,
2198                                                 uint32_t *                       pToolCount,
2199                                                 VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
2200     {
2201       return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
2202     }
2203 
vkCreatePrivateDataSlot(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const2204     VkResult vkCreatePrivateDataSlot( VkDevice                            device,
2205                                       const VkPrivateDataSlotCreateInfo * pCreateInfo,
2206                                       const VkAllocationCallbacks *       pAllocator,
2207                                       VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
2208     {
2209       return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
2210     }
2211 
vkDestroyPrivateDataSlot(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const2212     void vkDestroyPrivateDataSlot( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2213     {
2214       return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
2215     }
2216 
vkSetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const2217     VkResult vkSetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
2218       VULKAN_HPP_NOEXCEPT
2219     {
2220       return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
2221     }
2222 
vkGetPrivateData(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const2223     void vkGetPrivateData( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
2224       VULKAN_HPP_NOEXCEPT
2225     {
2226       return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
2227     }
2228 
vkCmdSetEvent2(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const2229     void vkCmdSetEvent2( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2230     {
2231       return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
2232     }
2233 
vkCmdResetEvent2(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const2234     void vkCmdResetEvent2( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
2235     {
2236       return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
2237     }
2238 
vkCmdWaitEvents2(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const2239     void vkCmdWaitEvents2( VkCommandBuffer          commandBuffer,
2240                            uint32_t                 eventCount,
2241                            const VkEvent *          pEvents,
2242                            const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
2243     {
2244       return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
2245     }
2246 
vkCmdPipelineBarrier2(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const2247     void vkCmdPipelineBarrier2( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
2248     {
2249       return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
2250     }
2251 
vkCmdWriteTimestamp2(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const2252     void vkCmdWriteTimestamp2( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
2253     {
2254       return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
2255     }
2256 
vkQueueSubmit2(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const2257     VkResult vkQueueSubmit2( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
2258     {
2259       return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
2260     }
2261 
vkCmdCopyBuffer2(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const2262     void vkCmdCopyBuffer2( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
2263     {
2264       return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
2265     }
2266 
vkCmdCopyImage2(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const2267     void vkCmdCopyImage2( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
2268     {
2269       return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
2270     }
2271 
vkCmdCopyBufferToImage2(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const2272     void vkCmdCopyBufferToImage2( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
2273     {
2274       return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
2275     }
2276 
vkCmdCopyImageToBuffer2(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const2277     void vkCmdCopyImageToBuffer2( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
2278     {
2279       return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
2280     }
2281 
vkCmdBlitImage2(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const2282     void vkCmdBlitImage2( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
2283     {
2284       return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
2285     }
2286 
vkCmdResolveImage2(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const2287     void vkCmdResolveImage2( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
2288     {
2289       return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
2290     }
2291 
vkCmdBeginRendering(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const2292     void vkCmdBeginRendering( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
2293     {
2294       return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
2295     }
2296 
vkCmdEndRendering(VkCommandBuffer commandBuffer) const2297     void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2298     {
2299       return ::vkCmdEndRendering( commandBuffer );
2300     }
2301 
vkCmdSetCullMode(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const2302     void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
2303     {
2304       return ::vkCmdSetCullMode( commandBuffer, cullMode );
2305     }
2306 
vkCmdSetFrontFace(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const2307     void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
2308     {
2309       return ::vkCmdSetFrontFace( commandBuffer, frontFace );
2310     }
2311 
vkCmdSetPrimitiveTopology(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const2312     void vkCmdSetPrimitiveTopology( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
2313     {
2314       return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
2315     }
2316 
vkCmdSetViewportWithCount(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const2317     void vkCmdSetViewportWithCount( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
2318     {
2319       return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
2320     }
2321 
vkCmdSetScissorWithCount(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const2322     void vkCmdSetScissorWithCount( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
2323     {
2324       return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
2325     }
2326 
vkCmdBindVertexBuffers2(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const2327     void vkCmdBindVertexBuffers2( VkCommandBuffer      commandBuffer,
2328                                   uint32_t             firstBinding,
2329                                   uint32_t             bindingCount,
2330                                   const VkBuffer *     pBuffers,
2331                                   const VkDeviceSize * pOffsets,
2332                                   const VkDeviceSize * pSizes,
2333                                   const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
2334     {
2335       return ::vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
2336     }
2337 
vkCmdSetDepthTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const2338     void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
2339     {
2340       return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
2341     }
2342 
vkCmdSetDepthWriteEnable(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const2343     void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
2344     {
2345       return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
2346     }
2347 
vkCmdSetDepthCompareOp(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const2348     void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
2349     {
2350       return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
2351     }
2352 
vkCmdSetDepthBoundsTestEnable(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const2353     void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
2354     {
2355       return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
2356     }
2357 
vkCmdSetStencilTestEnable(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const2358     void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
2359     {
2360       return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
2361     }
2362 
vkCmdSetStencilOp(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const2363     void vkCmdSetStencilOp( VkCommandBuffer    commandBuffer,
2364                             VkStencilFaceFlags faceMask,
2365                             VkStencilOp        failOp,
2366                             VkStencilOp        passOp,
2367                             VkStencilOp        depthFailOp,
2368                             VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
2369     {
2370       return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
2371     }
2372 
vkCmdSetRasterizerDiscardEnable(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const2373     void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
2374     {
2375       return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
2376     }
2377 
vkCmdSetDepthBiasEnable(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const2378     void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
2379     {
2380       return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
2381     }
2382 
vkCmdSetPrimitiveRestartEnable(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const2383     void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
2384     {
2385       return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
2386     }
2387 
vkGetDeviceBufferMemoryRequirements(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2388     void vkGetDeviceBufferMemoryRequirements( VkDevice                                 device,
2389                                               const VkDeviceBufferMemoryRequirements * pInfo,
2390                                               VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2391     {
2392       return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
2393     }
2394 
vkGetDeviceImageMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const2395     void vkGetDeviceImageMemoryRequirements( VkDevice                                device,
2396                                              const VkDeviceImageMemoryRequirements * pInfo,
2397                                              VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2398     {
2399       return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
2400     }
2401 
vkGetDeviceImageSparseMemoryRequirements(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const2402     void vkGetDeviceImageSparseMemoryRequirements( VkDevice                                device,
2403                                                    const VkDeviceImageMemoryRequirements * pInfo,
2404                                                    uint32_t *                              pSparseMemoryRequirementCount,
2405                                                    VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2406     {
2407       return ::vkGetDeviceImageSparseMemoryRequirements( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
2408     }
2409 
2410     //=== VK_VERSION_1_4 ===
2411 
vkCmdSetLineStipple(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const2412     void vkCmdSetLineStipple( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
2413     {
2414       return ::vkCmdSetLineStipple( commandBuffer, lineStippleFactor, lineStipplePattern );
2415     }
2416 
vkMapMemory2(VkDevice device,const VkMemoryMapInfo * pMemoryMapInfo,void ** ppData) const2417     VkResult vkMapMemory2( VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
2418     {
2419       return ::vkMapMemory2( device, pMemoryMapInfo, ppData );
2420     }
2421 
vkUnmapMemory2(VkDevice device,const VkMemoryUnmapInfo * pMemoryUnmapInfo) const2422     VkResult vkUnmapMemory2( VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
2423     {
2424       return ::vkUnmapMemory2( device, pMemoryUnmapInfo );
2425     }
2426 
vkCmdBindIndexBuffer2(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const2427     void vkCmdBindIndexBuffer2( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
2428       VULKAN_HPP_NOEXCEPT
2429     {
2430       return ::vkCmdBindIndexBuffer2( commandBuffer, buffer, offset, size, indexType );
2431     }
2432 
vkGetRenderingAreaGranularity(VkDevice device,const VkRenderingAreaInfo * pRenderingAreaInfo,VkExtent2D * pGranularity) const2433     void vkGetRenderingAreaGranularity( VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
2434     {
2435       return ::vkGetRenderingAreaGranularity( device, pRenderingAreaInfo, pGranularity );
2436     }
2437 
2438     void
vkGetDeviceImageSubresourceLayout(VkDevice device,const VkDeviceImageSubresourceInfo * pInfo,VkSubresourceLayout2 * pLayout) const2439       vkGetDeviceImageSubresourceLayout( VkDevice device, const VkDeviceImageSubresourceInfo * pInfo, VkSubresourceLayout2 * pLayout ) const VULKAN_HPP_NOEXCEPT
2440     {
2441       return ::vkGetDeviceImageSubresourceLayout( device, pInfo, pLayout );
2442     }
2443 
vkGetImageSubresourceLayout2(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const2444     void vkGetImageSubresourceLayout2( VkDevice                    device,
2445                                        VkImage                     image,
2446                                        const VkImageSubresource2 * pSubresource,
2447                                        VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
2448     {
2449       return ::vkGetImageSubresourceLayout2( device, image, pSubresource, pLayout );
2450     }
2451 
vkCmdPushDescriptorSet(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const2452     void vkCmdPushDescriptorSet( VkCommandBuffer              commandBuffer,
2453                                  VkPipelineBindPoint          pipelineBindPoint,
2454                                  VkPipelineLayout             layout,
2455                                  uint32_t                     set,
2456                                  uint32_t                     descriptorWriteCount,
2457                                  const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
2458     {
2459       return ::vkCmdPushDescriptorSet( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
2460     }
2461 
vkCmdPushDescriptorSetWithTemplate(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const2462     void vkCmdPushDescriptorSetWithTemplate( VkCommandBuffer            commandBuffer,
2463                                              VkDescriptorUpdateTemplate descriptorUpdateTemplate,
2464                                              VkPipelineLayout           layout,
2465                                              uint32_t                   set,
2466                                              const void *               pData ) const VULKAN_HPP_NOEXCEPT
2467     {
2468       return ::vkCmdPushDescriptorSetWithTemplate( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
2469     }
2470 
vkCmdSetRenderingAttachmentLocations(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfo * pLocationInfo) const2471     void vkCmdSetRenderingAttachmentLocations( VkCommandBuffer                           commandBuffer,
2472                                                const VkRenderingAttachmentLocationInfo * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
2473     {
2474       return ::vkCmdSetRenderingAttachmentLocations( commandBuffer, pLocationInfo );
2475     }
2476 
vkCmdSetRenderingInputAttachmentIndices(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) const2477     void vkCmdSetRenderingInputAttachmentIndices( VkCommandBuffer                             commandBuffer,
2478                                                   const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT
2479     {
2480       return ::vkCmdSetRenderingInputAttachmentIndices( commandBuffer, pInputAttachmentIndexInfo );
2481     }
2482 
vkCmdBindDescriptorSets2(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) const2483     void vkCmdBindDescriptorSets2( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
2484     {
2485       return ::vkCmdBindDescriptorSets2( commandBuffer, pBindDescriptorSetsInfo );
2486     }
2487 
vkCmdPushConstants2(VkCommandBuffer commandBuffer,const VkPushConstantsInfo * pPushConstantsInfo) const2488     void vkCmdPushConstants2( VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
2489     {
2490       return ::vkCmdPushConstants2( commandBuffer, pPushConstantsInfo );
2491     }
2492 
vkCmdPushDescriptorSet2(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) const2493     void vkCmdPushDescriptorSet2( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
2494     {
2495       return ::vkCmdPushDescriptorSet2( commandBuffer, pPushDescriptorSetInfo );
2496     }
2497 
vkCmdPushDescriptorSetWithTemplate2(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) const2498     void vkCmdPushDescriptorSetWithTemplate2( VkCommandBuffer                             commandBuffer,
2499                                               const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
2500     {
2501       return ::vkCmdPushDescriptorSetWithTemplate2( commandBuffer, pPushDescriptorSetWithTemplateInfo );
2502     }
2503 
vkCopyMemoryToImage(VkDevice device,const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) const2504     VkResult vkCopyMemoryToImage( VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
2505     {
2506       return ::vkCopyMemoryToImage( device, pCopyMemoryToImageInfo );
2507     }
2508 
vkCopyImageToMemory(VkDevice device,const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) const2509     VkResult vkCopyImageToMemory( VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
2510     {
2511       return ::vkCopyImageToMemory( device, pCopyImageToMemoryInfo );
2512     }
2513 
vkCopyImageToImage(VkDevice device,const VkCopyImageToImageInfo * pCopyImageToImageInfo) const2514     VkResult vkCopyImageToImage( VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
2515     {
2516       return ::vkCopyImageToImage( device, pCopyImageToImageInfo );
2517     }
2518 
2519     VkResult
vkTransitionImageLayout(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfo * pTransitions) const2520       vkTransitionImageLayout( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions ) const VULKAN_HPP_NOEXCEPT
2521     {
2522       return ::vkTransitionImageLayout( device, transitionCount, pTransitions );
2523     }
2524 
2525     //=== VK_KHR_surface ===
2526 
vkDestroySurfaceKHR(VkInstance instance,VkSurfaceKHR surface,const VkAllocationCallbacks * pAllocator) const2527     void vkDestroySurfaceKHR( VkInstance instance, VkSurfaceKHR surface, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2528     {
2529       return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
2530     }
2531 
vkGetPhysicalDeviceSurfaceSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,VkSurfaceKHR surface,VkBool32 * pSupported) const2532     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
2533                                                    uint32_t         queueFamilyIndex,
2534                                                    VkSurfaceKHR     surface,
2535                                                    VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
2536     {
2537       return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
2538     }
2539 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilitiesKHR * pSurfaceCapabilities) const2540     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
2541                                                         VkSurfaceKHR               surface,
2542                                                         VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
2543     {
2544       return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
2545     }
2546 
vkGetPhysicalDeviceSurfaceFormatsKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pSurfaceFormatCount,VkSurfaceFormatKHR * pSurfaceFormats) const2547     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
2548                                                    VkSurfaceKHR         surface,
2549                                                    uint32_t *           pSurfaceFormatCount,
2550                                                    VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
2551     {
2552       return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
2553     }
2554 
vkGetPhysicalDeviceSurfacePresentModesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const2555     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
2556                                                         VkSurfaceKHR       surface,
2557                                                         uint32_t *         pPresentModeCount,
2558                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
2559     {
2560       return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
2561     }
2562 
2563     //=== VK_KHR_swapchain ===
2564 
vkCreateSwapchainKHR(VkDevice device,const VkSwapchainCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchain) const2565     VkResult vkCreateSwapchainKHR( VkDevice                         device,
2566                                    const VkSwapchainCreateInfoKHR * pCreateInfo,
2567                                    const VkAllocationCallbacks *    pAllocator,
2568                                    VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
2569     {
2570       return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
2571     }
2572 
vkDestroySwapchainKHR(VkDevice device,VkSwapchainKHR swapchain,const VkAllocationCallbacks * pAllocator) const2573     void vkDestroySwapchainKHR( VkDevice device, VkSwapchainKHR swapchain, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2574     {
2575       return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
2576     }
2577 
vkGetSwapchainImagesKHR(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pSwapchainImageCount,VkImage * pSwapchainImages) const2578     VkResult vkGetSwapchainImagesKHR( VkDevice       device,
2579                                       VkSwapchainKHR swapchain,
2580                                       uint32_t *     pSwapchainImageCount,
2581                                       VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
2582     {
2583       return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
2584     }
2585 
vkAcquireNextImageKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t timeout,VkSemaphore semaphore,VkFence fence,uint32_t * pImageIndex) const2586     VkResult vkAcquireNextImageKHR(
2587       VkDevice device, VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2588     {
2589       return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
2590     }
2591 
vkQueuePresentKHR(VkQueue queue,const VkPresentInfoKHR * pPresentInfo) const2592     VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
2593     {
2594       return ::vkQueuePresentKHR( queue, pPresentInfo );
2595     }
2596 
vkGetDeviceGroupPresentCapabilitiesKHR(VkDevice device,VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities) const2597     VkResult vkGetDeviceGroupPresentCapabilitiesKHR( VkDevice                              device,
2598                                                      VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
2599     {
2600       return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
2601     }
2602 
2603     VkResult
vkGetDeviceGroupSurfacePresentModesKHR(VkDevice device,VkSurfaceKHR surface,VkDeviceGroupPresentModeFlagsKHR * pModes) const2604       vkGetDeviceGroupSurfacePresentModesKHR( VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
2605     {
2606       return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
2607     }
2608 
vkGetPhysicalDevicePresentRectanglesKHR(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,uint32_t * pRectCount,VkRect2D * pRects) const2609     VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
2610                                                       VkSurfaceKHR     surface,
2611                                                       uint32_t *       pRectCount,
2612                                                       VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
2613     {
2614       return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
2615     }
2616 
vkAcquireNextImage2KHR(VkDevice device,const VkAcquireNextImageInfoKHR * pAcquireInfo,uint32_t * pImageIndex) const2617     VkResult vkAcquireNextImage2KHR( VkDevice device, const VkAcquireNextImageInfoKHR * pAcquireInfo, uint32_t * pImageIndex ) const VULKAN_HPP_NOEXCEPT
2618     {
2619       return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
2620     }
2621 
2622     //=== VK_KHR_display ===
2623 
vkGetPhysicalDeviceDisplayPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPropertiesKHR * pProperties) const2624     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
2625                                                       uint32_t *               pPropertyCount,
2626                                                       VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2627     {
2628       return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2629     }
2630 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlanePropertiesKHR * pProperties) const2631     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
2632                                                            uint32_t *                    pPropertyCount,
2633                                                            VkDisplayPlanePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2634     {
2635       return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
2636     }
2637 
vkGetDisplayPlaneSupportedDisplaysKHR(VkPhysicalDevice physicalDevice,uint32_t planeIndex,uint32_t * pDisplayCount,VkDisplayKHR * pDisplays) const2638     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
2639                                                     uint32_t         planeIndex,
2640                                                     uint32_t *       pDisplayCount,
2641                                                     VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
2642     {
2643       return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
2644     }
2645 
vkGetDisplayModePropertiesKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModePropertiesKHR * pProperties) const2646     VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
2647                                             VkDisplayKHR                 display,
2648                                             uint32_t *                   pPropertyCount,
2649                                             VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
2650     {
2651       return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
2652     }
2653 
vkCreateDisplayModeKHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,const VkDisplayModeCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDisplayModeKHR * pMode) const2654     VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
2655                                      VkDisplayKHR                       display,
2656                                      const VkDisplayModeCreateInfoKHR * pCreateInfo,
2657                                      const VkAllocationCallbacks *      pAllocator,
2658                                      VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
2659     {
2660       return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
2661     }
2662 
vkGetDisplayPlaneCapabilitiesKHR(VkPhysicalDevice physicalDevice,VkDisplayModeKHR mode,uint32_t planeIndex,VkDisplayPlaneCapabilitiesKHR * pCapabilities) const2663     VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
2664                                                VkDisplayModeKHR                mode,
2665                                                uint32_t                        planeIndex,
2666                                                VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
2667     {
2668       return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
2669     }
2670 
vkCreateDisplayPlaneSurfaceKHR(VkInstance instance,const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2671     VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
2672                                              const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
2673                                              const VkAllocationCallbacks *         pAllocator,
2674                                              VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2675     {
2676       return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2677     }
2678 
2679     //=== VK_KHR_display_swapchain ===
2680 
vkCreateSharedSwapchainsKHR(VkDevice device,uint32_t swapchainCount,const VkSwapchainCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkSwapchainKHR * pSwapchains) const2681     VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
2682                                           uint32_t                         swapchainCount,
2683                                           const VkSwapchainCreateInfoKHR * pCreateInfos,
2684                                           const VkAllocationCallbacks *    pAllocator,
2685                                           VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
2686     {
2687       return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
2688     }
2689 
2690 #  if defined( VK_USE_PLATFORM_XLIB_KHR )
2691     //=== VK_KHR_xlib_surface ===
2692 
vkCreateXlibSurfaceKHR(VkInstance instance,const VkXlibSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2693     VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
2694                                      const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
2695                                      const VkAllocationCallbacks *      pAllocator,
2696                                      VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
2697     {
2698       return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2699     }
2700 
vkGetPhysicalDeviceXlibPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,Display * dpy,VisualID visualID) const2701     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
2702                                                             uint32_t         queueFamilyIndex,
2703                                                             Display *        dpy,
2704                                                             VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
2705     {
2706       return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
2707     }
2708 #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
2709 
2710 #  if defined( VK_USE_PLATFORM_XCB_KHR )
2711     //=== VK_KHR_xcb_surface ===
2712 
vkCreateXcbSurfaceKHR(VkInstance instance,const VkXcbSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2713     VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
2714                                     const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
2715                                     const VkAllocationCallbacks *     pAllocator,
2716                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
2717     {
2718       return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2719     }
2720 
vkGetPhysicalDeviceXcbPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,xcb_connection_t * connection,xcb_visualid_t visual_id) const2721     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
2722                                                            uint32_t           queueFamilyIndex,
2723                                                            xcb_connection_t * connection,
2724                                                            xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
2725     {
2726       return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
2727     }
2728 #  endif /*VK_USE_PLATFORM_XCB_KHR*/
2729 
2730 #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
2731     //=== VK_KHR_wayland_surface ===
2732 
vkCreateWaylandSurfaceKHR(VkInstance instance,const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2733     VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
2734                                         const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
2735                                         const VkAllocationCallbacks *         pAllocator,
2736                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2737     {
2738       return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2739     }
2740 
vkGetPhysicalDeviceWaylandPresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct wl_display * display) const2741     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
2742                                                                uint32_t            queueFamilyIndex,
2743                                                                struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
2744     {
2745       return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
2746     }
2747 #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
2748 
2749 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
2750     //=== VK_KHR_android_surface ===
2751 
vkCreateAndroidSurfaceKHR(VkInstance instance,const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2752     VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
2753                                         const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
2754                                         const VkAllocationCallbacks *         pAllocator,
2755                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
2756     {
2757       return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2758     }
2759 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
2760 
2761 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
2762     //=== VK_KHR_win32_surface ===
2763 
vkCreateWin32SurfaceKHR(VkInstance instance,const VkWin32SurfaceCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const2764     VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
2765                                       const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
2766                                       const VkAllocationCallbacks *       pAllocator,
2767                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
2768     {
2769       return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
2770     }
2771 
vkGetPhysicalDeviceWin32PresentationSupportKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex) const2772     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
2773     {
2774       return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
2775     }
2776 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
2777 
2778     //=== VK_EXT_debug_report ===
2779 
vkCreateDebugReportCallbackEXT(VkInstance instance,const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugReportCallbackEXT * pCallback) const2780     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
2781                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
2782                                              const VkAllocationCallbacks *              pAllocator,
2783                                              VkDebugReportCallbackEXT *                 pCallback ) const VULKAN_HPP_NOEXCEPT
2784     {
2785       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
2786     }
2787 
vkDestroyDebugReportCallbackEXT(VkInstance instance,VkDebugReportCallbackEXT callback,const VkAllocationCallbacks * pAllocator) const2788     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
2789                                           VkDebugReportCallbackEXT      callback,
2790                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2791     {
2792       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
2793     }
2794 
vkDebugReportMessageEXT(VkInstance instance,VkDebugReportFlagsEXT flags,VkDebugReportObjectTypeEXT objectType,uint64_t object,size_t location,int32_t messageCode,const char * pLayerPrefix,const char * pMessage) const2795     void vkDebugReportMessageEXT( VkInstance                 instance,
2796                                   VkDebugReportFlagsEXT      flags,
2797                                   VkDebugReportObjectTypeEXT objectType,
2798                                   uint64_t                   object,
2799                                   size_t                     location,
2800                                   int32_t                    messageCode,
2801                                   const char *               pLayerPrefix,
2802                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
2803     {
2804       return ::vkDebugReportMessageEXT( instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
2805     }
2806 
2807     //=== VK_EXT_debug_marker ===
2808 
vkDebugMarkerSetObjectTagEXT(VkDevice device,const VkDebugMarkerObjectTagInfoEXT * pTagInfo) const2809     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice device, const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
2810     {
2811       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
2812     }
2813 
vkDebugMarkerSetObjectNameEXT(VkDevice device,const VkDebugMarkerObjectNameInfoEXT * pNameInfo) const2814     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice device, const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
2815     {
2816       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
2817     }
2818 
vkCmdDebugMarkerBeginEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2819     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2820     {
2821       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
2822     }
2823 
vkCmdDebugMarkerEndEXT(VkCommandBuffer commandBuffer) const2824     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
2825     {
2826       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
2827     }
2828 
vkCmdDebugMarkerInsertEXT(VkCommandBuffer commandBuffer,const VkDebugMarkerMarkerInfoEXT * pMarkerInfo) const2829     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer commandBuffer, const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
2830     {
2831       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
2832     }
2833 
2834     //=== VK_KHR_video_queue ===
2835 
vkGetPhysicalDeviceVideoCapabilitiesKHR(VkPhysicalDevice physicalDevice,const VkVideoProfileInfoKHR * pVideoProfile,VkVideoCapabilitiesKHR * pCapabilities) const2836     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice              physicalDevice,
2837                                                       const VkVideoProfileInfoKHR * pVideoProfile,
2838                                                       VkVideoCapabilitiesKHR *      pCapabilities ) const VULKAN_HPP_NOEXCEPT
2839     {
2840       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
2841     }
2842 
vkGetPhysicalDeviceVideoFormatPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,uint32_t * pVideoFormatPropertyCount,VkVideoFormatPropertiesKHR * pVideoFormatProperties) const2843     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
2844                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
2845                                                           uint32_t *                                 pVideoFormatPropertyCount,
2846                                                           VkVideoFormatPropertiesKHR *               pVideoFormatProperties ) const VULKAN_HPP_NOEXCEPT
2847     {
2848       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR( physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
2849     }
2850 
vkCreateVideoSessionKHR(VkDevice device,const VkVideoSessionCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionKHR * pVideoSession) const2851     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
2852                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
2853                                       const VkAllocationCallbacks *       pAllocator,
2854                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
2855     {
2856       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
2857     }
2858 
vkDestroyVideoSessionKHR(VkDevice device,VkVideoSessionKHR videoSession,const VkAllocationCallbacks * pAllocator) const2859     void vkDestroyVideoSessionKHR( VkDevice device, VkVideoSessionKHR videoSession, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2860     {
2861       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
2862     }
2863 
vkGetVideoSessionMemoryRequirementsKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t * pMemoryRequirementsCount,VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements) const2864     VkResult vkGetVideoSessionMemoryRequirementsKHR( VkDevice                              device,
2865                                                      VkVideoSessionKHR                     videoSession,
2866                                                      uint32_t *                            pMemoryRequirementsCount,
2867                                                      VkVideoSessionMemoryRequirementsKHR * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
2868     {
2869       return ::vkGetVideoSessionMemoryRequirementsKHR( device, videoSession, pMemoryRequirementsCount, pMemoryRequirements );
2870     }
2871 
vkBindVideoSessionMemoryKHR(VkDevice device,VkVideoSessionKHR videoSession,uint32_t bindSessionMemoryInfoCount,const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos) const2872     VkResult vkBindVideoSessionMemoryKHR( VkDevice                                device,
2873                                           VkVideoSessionKHR                       videoSession,
2874                                           uint32_t                                bindSessionMemoryInfoCount,
2875                                           const VkBindVideoSessionMemoryInfoKHR * pBindSessionMemoryInfos ) const VULKAN_HPP_NOEXCEPT
2876     {
2877       return ::vkBindVideoSessionMemoryKHR( device, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos );
2878     }
2879 
vkCreateVideoSessionParametersKHR(VkDevice device,const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkVideoSessionParametersKHR * pVideoSessionParameters) const2880     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
2881                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
2882                                                 const VkAllocationCallbacks *                 pAllocator,
2883                                                 VkVideoSessionParametersKHR *                 pVideoSessionParameters ) const VULKAN_HPP_NOEXCEPT
2884     {
2885       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
2886     }
2887 
vkUpdateVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo) const2888     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
2889                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
2890                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const VULKAN_HPP_NOEXCEPT
2891     {
2892       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
2893     }
2894 
vkDestroyVideoSessionParametersKHR(VkDevice device,VkVideoSessionParametersKHR videoSessionParameters,const VkAllocationCallbacks * pAllocator) const2895     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
2896                                              VkVideoSessionParametersKHR   videoSessionParameters,
2897                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2898     {
2899       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
2900     }
2901 
vkCmdBeginVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoBeginCodingInfoKHR * pBeginInfo) const2902     void vkCmdBeginVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
2903     {
2904       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
2905     }
2906 
vkCmdEndVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoEndCodingInfoKHR * pEndCodingInfo) const2907     void vkCmdEndVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
2908     {
2909       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
2910     }
2911 
vkCmdControlVideoCodingKHR(VkCommandBuffer commandBuffer,const VkVideoCodingControlInfoKHR * pCodingControlInfo) const2912     void vkCmdControlVideoCodingKHR( VkCommandBuffer commandBuffer, const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
2913     {
2914       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
2915     }
2916 
2917     //=== VK_KHR_video_decode_queue ===
2918 
vkCmdDecodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoDecodeInfoKHR * pDecodeInfo) const2919     void vkCmdDecodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoDecodeInfoKHR * pDecodeInfo ) const VULKAN_HPP_NOEXCEPT
2920     {
2921       return ::vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo );
2922     }
2923 
2924     //=== VK_EXT_transform_feedback ===
2925 
vkCmdBindTransformFeedbackBuffersEXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes) const2926     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
2927                                                uint32_t             firstBinding,
2928                                                uint32_t             bindingCount,
2929                                                const VkBuffer *     pBuffers,
2930                                                const VkDeviceSize * pOffsets,
2931                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
2932     {
2933       return ::vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
2934     }
2935 
vkCmdBeginTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2936     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
2937                                          uint32_t             firstCounterBuffer,
2938                                          uint32_t             counterBufferCount,
2939                                          const VkBuffer *     pCounterBuffers,
2940                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
2941     {
2942       return ::vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2943     }
2944 
vkCmdEndTransformFeedbackEXT(VkCommandBuffer commandBuffer,uint32_t firstCounterBuffer,uint32_t counterBufferCount,const VkBuffer * pCounterBuffers,const VkDeviceSize * pCounterBufferOffsets) const2945     void vkCmdEndTransformFeedbackEXT( 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 ::vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
2952     }
2953 
vkCmdBeginQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,VkQueryControlFlags flags,uint32_t index) const2954     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) const
2955       VULKAN_HPP_NOEXCEPT
2956     {
2957       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
2958     }
2959 
vkCmdEndQueryIndexedEXT(VkCommandBuffer commandBuffer,VkQueryPool queryPool,uint32_t query,uint32_t index) const2960     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query, uint32_t index ) const VULKAN_HPP_NOEXCEPT
2961     {
2962       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
2963     }
2964 
vkCmdDrawIndirectByteCountEXT(VkCommandBuffer commandBuffer,uint32_t instanceCount,uint32_t firstInstance,VkBuffer counterBuffer,VkDeviceSize counterBufferOffset,uint32_t counterOffset,uint32_t vertexStride) const2965     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
2966                                         uint32_t        instanceCount,
2967                                         uint32_t        firstInstance,
2968                                         VkBuffer        counterBuffer,
2969                                         VkDeviceSize    counterBufferOffset,
2970                                         uint32_t        counterOffset,
2971                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
2972     {
2973       return ::vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
2974     }
2975 
2976     //=== VK_NVX_binary_import ===
2977 
vkCreateCuModuleNVX(VkDevice device,const VkCuModuleCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuModuleNVX * pModule) const2978     VkResult vkCreateCuModuleNVX( VkDevice                        device,
2979                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
2980                                   const VkAllocationCallbacks *   pAllocator,
2981                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
2982     {
2983       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
2984     }
2985 
vkCreateCuFunctionNVX(VkDevice device,const VkCuFunctionCreateInfoNVX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCuFunctionNVX * pFunction) const2986     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
2987                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
2988                                     const VkAllocationCallbacks *     pAllocator,
2989                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
2990     {
2991       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
2992     }
2993 
vkDestroyCuModuleNVX(VkDevice device,VkCuModuleNVX module,const VkAllocationCallbacks * pAllocator) const2994     void vkDestroyCuModuleNVX( VkDevice device, VkCuModuleNVX module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
2995     {
2996       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
2997     }
2998 
vkDestroyCuFunctionNVX(VkDevice device,VkCuFunctionNVX function,const VkAllocationCallbacks * pAllocator) const2999     void vkDestroyCuFunctionNVX( VkDevice device, VkCuFunctionNVX function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3000     {
3001       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
3002     }
3003 
vkCmdCuLaunchKernelNVX(VkCommandBuffer commandBuffer,const VkCuLaunchInfoNVX * pLaunchInfo) const3004     void vkCmdCuLaunchKernelNVX( VkCommandBuffer commandBuffer, const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
3005     {
3006       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
3007     }
3008 
3009     //=== VK_NVX_image_view_handle ===
3010 
vkGetImageViewHandleNVX(VkDevice device,const VkImageViewHandleInfoNVX * pInfo) const3011     uint32_t vkGetImageViewHandleNVX( VkDevice device, const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
3012     {
3013       return ::vkGetImageViewHandleNVX( device, pInfo );
3014     }
3015 
vkGetImageViewAddressNVX(VkDevice device,VkImageView imageView,VkImageViewAddressPropertiesNVX * pProperties) const3016     VkResult vkGetImageViewAddressNVX( VkDevice device, VkImageView imageView, VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
3017     {
3018       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
3019     }
3020 
3021     //=== VK_AMD_draw_indirect_count ===
3022 
vkCmdDrawIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3023     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
3024                                     VkBuffer        buffer,
3025                                     VkDeviceSize    offset,
3026                                     VkBuffer        countBuffer,
3027                                     VkDeviceSize    countBufferOffset,
3028                                     uint32_t        maxDrawCount,
3029                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3030     {
3031       return ::vkCmdDrawIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3032     }
3033 
vkCmdDrawIndexedIndirectCountAMD(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const3034     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
3035                                            VkBuffer        buffer,
3036                                            VkDeviceSize    offset,
3037                                            VkBuffer        countBuffer,
3038                                            VkDeviceSize    countBufferOffset,
3039                                            uint32_t        maxDrawCount,
3040                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
3041     {
3042       return ::vkCmdDrawIndexedIndirectCountAMD( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
3043     }
3044 
3045     //=== VK_AMD_shader_info ===
3046 
vkGetShaderInfoAMD(VkDevice device,VkPipeline pipeline,VkShaderStageFlagBits shaderStage,VkShaderInfoTypeAMD infoType,size_t * pInfoSize,void * pInfo) const3047     VkResult vkGetShaderInfoAMD( VkDevice              device,
3048                                  VkPipeline            pipeline,
3049                                  VkShaderStageFlagBits shaderStage,
3050                                  VkShaderInfoTypeAMD   infoType,
3051                                  size_t *              pInfoSize,
3052                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
3053     {
3054       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
3055     }
3056 
3057     //=== VK_KHR_dynamic_rendering ===
3058 
vkCmdBeginRenderingKHR(VkCommandBuffer commandBuffer,const VkRenderingInfo * pRenderingInfo) const3059     void vkCmdBeginRenderingKHR( VkCommandBuffer commandBuffer, const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
3060     {
3061       return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
3062     }
3063 
vkCmdEndRenderingKHR(VkCommandBuffer commandBuffer) const3064     void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3065     {
3066       return ::vkCmdEndRenderingKHR( commandBuffer );
3067     }
3068 
3069 #  if defined( VK_USE_PLATFORM_GGP )
3070     //=== VK_GGP_stream_descriptor_surface ===
3071 
vkCreateStreamDescriptorSurfaceGGP(VkInstance instance,const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3072     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
3073                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
3074                                                  const VkAllocationCallbacks *                  pAllocator,
3075                                                  VkSurfaceKHR *                                 pSurface ) const VULKAN_HPP_NOEXCEPT
3076     {
3077       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
3078     }
3079 #  endif /*VK_USE_PLATFORM_GGP*/
3080 
3081     //=== VK_NV_external_memory_capabilities ===
3082 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV(VkPhysicalDevice physicalDevice,VkFormat format,VkImageType type,VkImageTiling tiling,VkImageUsageFlags usage,VkImageCreateFlags flags,VkExternalMemoryHandleTypeFlagsNV externalHandleType,VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties) const3083     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV( VkPhysicalDevice                    physicalDevice,
3084                                                                  VkFormat                            format,
3085                                                                  VkImageType                         type,
3086                                                                  VkImageTiling                       tiling,
3087                                                                  VkImageUsageFlags                   usage,
3088                                                                  VkImageCreateFlags                  flags,
3089                                                                  VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
3090                                                                  VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3091     {
3092       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
3093         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
3094     }
3095 
3096 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3097     //=== VK_NV_external_memory_win32 ===
3098 
vkGetMemoryWin32HandleNV(VkDevice device,VkDeviceMemory memory,VkExternalMemoryHandleTypeFlagsNV handleType,HANDLE * pHandle) const3099     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
3100                                        VkDeviceMemory                    memory,
3101                                        VkExternalMemoryHandleTypeFlagsNV handleType,
3102                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
3103     {
3104       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
3105     }
3106 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3107 
3108     //=== VK_KHR_get_physical_device_properties2 ===
3109 
vkGetPhysicalDeviceFeatures2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceFeatures2 * pFeatures) const3110     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
3111     {
3112       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
3113     }
3114 
vkGetPhysicalDeviceProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceProperties2 * pProperties) const3115     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice physicalDevice, VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
3116     {
3117       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
3118     }
3119 
vkGetPhysicalDeviceFormatProperties2KHR(VkPhysicalDevice physicalDevice,VkFormat format,VkFormatProperties2 * pFormatProperties) const3120     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
3121                                                   VkFormat              format,
3122                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
3123     {
3124       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
3125     }
3126 
vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,VkImageFormatProperties2 * pImageFormatProperties) const3127     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
3128                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
3129                                                            VkImageFormatProperties2 *               pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
3130     {
3131       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
3132     }
3133 
vkGetPhysicalDeviceQueueFamilyProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pQueueFamilyPropertyCount,VkQueueFamilyProperties2 * pQueueFamilyProperties) const3134     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
3135                                                        uint32_t *                 pQueueFamilyPropertyCount,
3136                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const VULKAN_HPP_NOEXCEPT
3137     {
3138       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR( physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
3139     }
3140 
vkGetPhysicalDeviceMemoryProperties2KHR(VkPhysicalDevice physicalDevice,VkPhysicalDeviceMemoryProperties2 * pMemoryProperties) const3141     void vkGetPhysicalDeviceMemoryProperties2KHR( VkPhysicalDevice                    physicalDevice,
3142                                                   VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
3143     {
3144       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
3145     }
3146 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,uint32_t * pPropertyCount,VkSparseImageFormatProperties2 * pProperties) const3147     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice                               physicalDevice,
3148                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
3149                                                              uint32_t *                                     pPropertyCount,
3150                                                              VkSparseImageFormatProperties2 *               pProperties ) const VULKAN_HPP_NOEXCEPT
3151     {
3152       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR( physicalDevice, pFormatInfo, pPropertyCount, pProperties );
3153     }
3154 
3155     //=== VK_KHR_device_group ===
3156 
vkGetDeviceGroupPeerMemoryFeaturesKHR(VkDevice device,uint32_t heapIndex,uint32_t localDeviceIndex,uint32_t remoteDeviceIndex,VkPeerMemoryFeatureFlags * pPeerMemoryFeatures) const3157     void vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
3158                                                 uint32_t                   heapIndex,
3159                                                 uint32_t                   localDeviceIndex,
3160                                                 uint32_t                   remoteDeviceIndex,
3161                                                 VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
3162     {
3163       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR( device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
3164     }
3165 
vkCmdSetDeviceMaskKHR(VkCommandBuffer commandBuffer,uint32_t deviceMask) const3166     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
3167     {
3168       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
3169     }
3170 
vkCmdDispatchBaseKHR(VkCommandBuffer commandBuffer,uint32_t baseGroupX,uint32_t baseGroupY,uint32_t baseGroupZ,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const3171     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
3172                                uint32_t        baseGroupX,
3173                                uint32_t        baseGroupY,
3174                                uint32_t        baseGroupZ,
3175                                uint32_t        groupCountX,
3176                                uint32_t        groupCountY,
3177                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
3178     {
3179       return ::vkCmdDispatchBaseKHR( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
3180     }
3181 
3182 #  if defined( VK_USE_PLATFORM_VI_NN )
3183     //=== VK_NN_vi_surface ===
3184 
vkCreateViSurfaceNN(VkInstance instance,const VkViSurfaceCreateInfoNN * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3185     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
3186                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
3187                                   const VkAllocationCallbacks *   pAllocator,
3188                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
3189     {
3190       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
3191     }
3192 #  endif /*VK_USE_PLATFORM_VI_NN*/
3193 
3194     //=== VK_KHR_maintenance1 ===
3195 
vkTrimCommandPoolKHR(VkDevice device,VkCommandPool commandPool,VkCommandPoolTrimFlags flags) const3196     void vkTrimCommandPoolKHR( VkDevice device, VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
3197     {
3198       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
3199     }
3200 
3201     //=== VK_KHR_device_group_creation ===
3202 
vkEnumeratePhysicalDeviceGroupsKHR(VkInstance instance,uint32_t * pPhysicalDeviceGroupCount,VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties) const3203     VkResult vkEnumeratePhysicalDeviceGroupsKHR( VkInstance                        instance,
3204                                                  uint32_t *                        pPhysicalDeviceGroupCount,
3205                                                  VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
3206     {
3207       return ::vkEnumeratePhysicalDeviceGroupsKHR( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
3208     }
3209 
3210     //=== VK_KHR_external_memory_capabilities ===
3211 
vkGetPhysicalDeviceExternalBufferPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,VkExternalBufferProperties * pExternalBufferProperties) const3212     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
3213                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
3214                                                          VkExternalBufferProperties *               pExternalBufferProperties ) const VULKAN_HPP_NOEXCEPT
3215     {
3216       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR( physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
3217     }
3218 
3219 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3220     //=== VK_KHR_external_memory_win32 ===
3221 
vkGetMemoryWin32HandleKHR(VkDevice device,const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3222     VkResult vkGetMemoryWin32HandleKHR( VkDevice device, const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3223     {
3224       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3225     }
3226 
vkGetMemoryWin32HandlePropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,HANDLE handle,VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties) const3227     VkResult vkGetMemoryWin32HandlePropertiesKHR( VkDevice                           device,
3228                                                   VkExternalMemoryHandleTypeFlagBits handleType,
3229                                                   HANDLE                             handle,
3230                                                   VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
3231     {
3232       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
3233     }
3234 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3235 
3236     //=== VK_KHR_external_memory_fd ===
3237 
vkGetMemoryFdKHR(VkDevice device,const VkMemoryGetFdInfoKHR * pGetFdInfo,int * pFd) const3238     VkResult vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3239     {
3240       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
3241     }
3242 
vkGetMemoryFdPropertiesKHR(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,int fd,VkMemoryFdPropertiesKHR * pMemoryFdProperties) const3243     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
3244                                          VkExternalMemoryHandleTypeFlagBits handleType,
3245                                          int                                fd,
3246                                          VkMemoryFdPropertiesKHR *          pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
3247     {
3248       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
3249     }
3250 
3251     //=== VK_KHR_external_semaphore_capabilities ===
3252 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,VkExternalSemaphoreProperties * pExternalSemaphoreProperties) const3253     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( VkPhysicalDevice                              physicalDevice,
3254                                                             const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
3255                                                             VkExternalSemaphoreProperties * pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
3256     {
3257       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
3258     }
3259 
3260 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3261     //=== VK_KHR_external_semaphore_win32 ===
3262 
vkImportSemaphoreWin32HandleKHR(VkDevice device,const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo) const3263     VkResult vkImportSemaphoreWin32HandleKHR( VkDevice                                    device,
3264                                               const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3265     {
3266       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
3267     }
3268 
3269     VkResult
vkGetSemaphoreWin32HandleKHR(VkDevice device,const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3270       vkGetSemaphoreWin32HandleKHR( VkDevice device, const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3271     {
3272       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3273     }
3274 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3275 
3276     //=== VK_KHR_external_semaphore_fd ===
3277 
vkImportSemaphoreFdKHR(VkDevice device,const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo) const3278     VkResult vkImportSemaphoreFdKHR( VkDevice device, const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
3279     {
3280       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
3281     }
3282 
vkGetSemaphoreFdKHR(VkDevice device,const VkSemaphoreGetFdInfoKHR * pGetFdInfo,int * pFd) const3283     VkResult vkGetSemaphoreFdKHR( VkDevice device, const VkSemaphoreGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3284     {
3285       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
3286     }
3287 
3288     //=== VK_KHR_push_descriptor ===
3289 
vkCmdPushDescriptorSetKHR(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set,uint32_t descriptorWriteCount,const VkWriteDescriptorSet * pDescriptorWrites) const3290     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
3291                                     VkPipelineBindPoint          pipelineBindPoint,
3292                                     VkPipelineLayout             layout,
3293                                     uint32_t                     set,
3294                                     uint32_t                     descriptorWriteCount,
3295                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
3296     {
3297       return ::vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
3298     }
3299 
vkCmdPushDescriptorSetWithTemplateKHR(VkCommandBuffer commandBuffer,VkDescriptorUpdateTemplate descriptorUpdateTemplate,VkPipelineLayout layout,uint32_t set,const void * pData) const3300     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
3301                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3302                                                 VkPipelineLayout           layout,
3303                                                 uint32_t                   set,
3304                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
3305     {
3306       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
3307     }
3308 
3309     //=== VK_EXT_conditional_rendering ===
3310 
vkCmdBeginConditionalRenderingEXT(VkCommandBuffer commandBuffer,const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin) const3311     void vkCmdBeginConditionalRenderingEXT( VkCommandBuffer                            commandBuffer,
3312                                             const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
3313     {
3314       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
3315     }
3316 
vkCmdEndConditionalRenderingEXT(VkCommandBuffer commandBuffer) const3317     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3318     {
3319       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
3320     }
3321 
3322     //=== VK_KHR_descriptor_update_template ===
3323 
vkCreateDescriptorUpdateTemplateKHR(VkDevice device,const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate) const3324     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
3325                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
3326                                                   const VkAllocationCallbacks *                pAllocator,
3327                                                   VkDescriptorUpdateTemplate *                 pDescriptorUpdateTemplate ) const VULKAN_HPP_NOEXCEPT
3328     {
3329       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
3330     }
3331 
vkDestroyDescriptorUpdateTemplateKHR(VkDevice device,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const VkAllocationCallbacks * pAllocator) const3332     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
3333                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
3334                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3335     {
3336       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
3337     }
3338 
vkUpdateDescriptorSetWithTemplateKHR(VkDevice device,VkDescriptorSet descriptorSet,VkDescriptorUpdateTemplate descriptorUpdateTemplate,const void * pData) const3339     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
3340                                                VkDescriptorSet            descriptorSet,
3341                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
3342                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
3343     {
3344       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
3345     }
3346 
3347     //=== VK_NV_clip_space_w_scaling ===
3348 
vkCmdSetViewportWScalingNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportWScalingNV * pViewportWScalings) const3349     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
3350                                      uint32_t                     firstViewport,
3351                                      uint32_t                     viewportCount,
3352                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
3353     {
3354       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
3355     }
3356 
3357     //=== VK_EXT_direct_mode_display ===
3358 
vkReleaseDisplayEXT(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const3359     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3360     {
3361       return ::vkReleaseDisplayEXT( physicalDevice, display );
3362     }
3363 
3364 #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
3365     //=== VK_EXT_acquire_xlib_display ===
3366 
vkAcquireXlibDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,VkDisplayKHR display) const3367     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
3368     {
3369       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
3370     }
3371 
vkGetRandROutputDisplayEXT(VkPhysicalDevice physicalDevice,Display * dpy,RROutput rrOutput,VkDisplayKHR * pDisplay) const3372     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice, Display * dpy, RROutput rrOutput, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
3373     {
3374       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
3375     }
3376 #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
3377 
3378     //=== VK_EXT_display_surface_counter ===
3379 
vkGetPhysicalDeviceSurfaceCapabilities2EXT(VkPhysicalDevice physicalDevice,VkSurfaceKHR surface,VkSurfaceCapabilities2EXT * pSurfaceCapabilities) const3380     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
3381                                                          VkSurfaceKHR                surface,
3382                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3383     {
3384       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
3385     }
3386 
3387     //=== VK_EXT_display_control ===
3388 
vkDisplayPowerControlEXT(VkDevice device,VkDisplayKHR display,const VkDisplayPowerInfoEXT * pDisplayPowerInfo) const3389     VkResult vkDisplayPowerControlEXT( VkDevice device, VkDisplayKHR display, const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
3390     {
3391       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
3392     }
3393 
vkRegisterDeviceEventEXT(VkDevice device,const VkDeviceEventInfoEXT * pDeviceEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3394     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
3395                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
3396                                        const VkAllocationCallbacks * pAllocator,
3397                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3398     {
3399       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
3400     }
3401 
vkRegisterDisplayEventEXT(VkDevice device,VkDisplayKHR display,const VkDisplayEventInfoEXT * pDisplayEventInfo,const VkAllocationCallbacks * pAllocator,VkFence * pFence) const3402     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
3403                                         VkDisplayKHR                  display,
3404                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
3405                                         const VkAllocationCallbacks * pAllocator,
3406                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
3407     {
3408       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
3409     }
3410 
vkGetSwapchainCounterEXT(VkDevice device,VkSwapchainKHR swapchain,VkSurfaceCounterFlagBitsEXT counter,uint64_t * pCounterValue) const3411     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
3412                                        VkSwapchainKHR              swapchain,
3413                                        VkSurfaceCounterFlagBitsEXT counter,
3414                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
3415     {
3416       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
3417     }
3418 
3419     //=== VK_GOOGLE_display_timing ===
3420 
vkGetRefreshCycleDurationGOOGLE(VkDevice device,VkSwapchainKHR swapchain,VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties) const3421     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
3422                                               VkSwapchainKHR                 swapchain,
3423                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const VULKAN_HPP_NOEXCEPT
3424     {
3425       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
3426     }
3427 
vkGetPastPresentationTimingGOOGLE(VkDevice device,VkSwapchainKHR swapchain,uint32_t * pPresentationTimingCount,VkPastPresentationTimingGOOGLE * pPresentationTimings) const3428     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
3429                                                 VkSwapchainKHR                   swapchain,
3430                                                 uint32_t *                       pPresentationTimingCount,
3431                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const VULKAN_HPP_NOEXCEPT
3432     {
3433       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
3434     }
3435 
3436     //=== VK_EXT_discard_rectangles ===
3437 
vkCmdSetDiscardRectangleEXT(VkCommandBuffer commandBuffer,uint32_t firstDiscardRectangle,uint32_t discardRectangleCount,const VkRect2D * pDiscardRectangles) const3438     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
3439                                       uint32_t         firstDiscardRectangle,
3440                                       uint32_t         discardRectangleCount,
3441                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
3442     {
3443       return ::vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
3444     }
3445 
vkCmdSetDiscardRectangleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 discardRectangleEnable) const3446     void vkCmdSetDiscardRectangleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 discardRectangleEnable ) const VULKAN_HPP_NOEXCEPT
3447     {
3448       return ::vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable );
3449     }
3450 
vkCmdSetDiscardRectangleModeEXT(VkCommandBuffer commandBuffer,VkDiscardRectangleModeEXT discardRectangleMode) const3451     void vkCmdSetDiscardRectangleModeEXT( VkCommandBuffer commandBuffer, VkDiscardRectangleModeEXT discardRectangleMode ) const VULKAN_HPP_NOEXCEPT
3452     {
3453       return ::vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode );
3454     }
3455 
3456     //=== VK_EXT_hdr_metadata ===
3457 
vkSetHdrMetadataEXT(VkDevice device,uint32_t swapchainCount,const VkSwapchainKHR * pSwapchains,const VkHdrMetadataEXT * pMetadata) const3458     void vkSetHdrMetadataEXT( VkDevice                 device,
3459                               uint32_t                 swapchainCount,
3460                               const VkSwapchainKHR *   pSwapchains,
3461                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
3462     {
3463       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
3464     }
3465 
3466     //=== VK_KHR_create_renderpass2 ===
3467 
vkCreateRenderPass2KHR(VkDevice device,const VkRenderPassCreateInfo2 * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkRenderPass * pRenderPass) const3468     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
3469                                      const VkRenderPassCreateInfo2 * pCreateInfo,
3470                                      const VkAllocationCallbacks *   pAllocator,
3471                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
3472     {
3473       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
3474     }
3475 
vkCmdBeginRenderPass2KHR(VkCommandBuffer commandBuffer,const VkRenderPassBeginInfo * pRenderPassBegin,const VkSubpassBeginInfo * pSubpassBeginInfo) const3476     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
3477                                    const VkRenderPassBeginInfo * pRenderPassBegin,
3478                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
3479     {
3480       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
3481     }
3482 
vkCmdNextSubpass2KHR(VkCommandBuffer commandBuffer,const VkSubpassBeginInfo * pSubpassBeginInfo,const VkSubpassEndInfo * pSubpassEndInfo) const3483     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
3484                                const VkSubpassBeginInfo * pSubpassBeginInfo,
3485                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3486     {
3487       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
3488     }
3489 
vkCmdEndRenderPass2KHR(VkCommandBuffer commandBuffer,const VkSubpassEndInfo * pSubpassEndInfo) const3490     void vkCmdEndRenderPass2KHR( VkCommandBuffer commandBuffer, const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
3491     {
3492       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
3493     }
3494 
3495     //=== VK_KHR_shared_presentable_image ===
3496 
vkGetSwapchainStatusKHR(VkDevice device,VkSwapchainKHR swapchain) const3497     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
3498     {
3499       return ::vkGetSwapchainStatusKHR( device, swapchain );
3500     }
3501 
3502     //=== VK_KHR_external_fence_capabilities ===
3503 
vkGetPhysicalDeviceExternalFencePropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,VkExternalFenceProperties * pExternalFenceProperties) const3504     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
3505                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
3506                                                         VkExternalFenceProperties *               pExternalFenceProperties ) const VULKAN_HPP_NOEXCEPT
3507     {
3508       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR( physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
3509     }
3510 
3511 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
3512     //=== VK_KHR_external_fence_win32 ===
3513 
vkImportFenceWin32HandleKHR(VkDevice device,const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo) const3514     VkResult vkImportFenceWin32HandleKHR( VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
3515     {
3516       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
3517     }
3518 
vkGetFenceWin32HandleKHR(VkDevice device,const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,HANDLE * pHandle) const3519     VkResult vkGetFenceWin32HandleKHR( VkDevice device, const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo, HANDLE * pHandle ) const VULKAN_HPP_NOEXCEPT
3520     {
3521       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
3522     }
3523 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
3524 
3525     //=== VK_KHR_external_fence_fd ===
3526 
vkImportFenceFdKHR(VkDevice device,const VkImportFenceFdInfoKHR * pImportFenceFdInfo) const3527     VkResult vkImportFenceFdKHR( VkDevice device, const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
3528     {
3529       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
3530     }
3531 
vkGetFenceFdKHR(VkDevice device,const VkFenceGetFdInfoKHR * pGetFdInfo,int * pFd) const3532     VkResult vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
3533     {
3534       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
3535     }
3536 
3537     //=== VK_KHR_performance_query ===
3538 
3539     VkResult
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,uint32_t * pCounterCount,VkPerformanceCounterKHR * pCounters,VkPerformanceCounterDescriptionKHR * pCounterDescriptions) const3540       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR( VkPhysicalDevice                     physicalDevice,
3541                                                                        uint32_t                             queueFamilyIndex,
3542                                                                        uint32_t *                           pCounterCount,
3543                                                                        VkPerformanceCounterKHR *            pCounters,
3544                                                                        VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
3545     {
3546       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
3547         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
3548     }
3549 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(VkPhysicalDevice physicalDevice,const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,uint32_t * pNumPasses) const3550     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( VkPhysicalDevice                            physicalDevice,
3551                                                                   const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
3552                                                                   uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
3553     {
3554       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR( physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
3555     }
3556 
vkAcquireProfilingLockKHR(VkDevice device,const VkAcquireProfilingLockInfoKHR * pInfo) const3557     VkResult vkAcquireProfilingLockKHR( VkDevice device, const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3558     {
3559       return ::vkAcquireProfilingLockKHR( device, pInfo );
3560     }
3561 
vkReleaseProfilingLockKHR(VkDevice device) const3562     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
3563     {
3564       return ::vkReleaseProfilingLockKHR( device );
3565     }
3566 
3567     //=== VK_KHR_get_surface_capabilities2 ===
3568 
vkGetPhysicalDeviceSurfaceCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkSurfaceCapabilities2KHR * pSurfaceCapabilities) const3569     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
3570                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3571                                                          VkSurfaceCapabilities2KHR *             pSurfaceCapabilities ) const VULKAN_HPP_NOEXCEPT
3572     {
3573       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
3574     }
3575 
vkGetPhysicalDeviceSurfaceFormats2KHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pSurfaceFormatCount,VkSurfaceFormat2KHR * pSurfaceFormats) const3576     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
3577                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
3578                                                     uint32_t *                              pSurfaceFormatCount,
3579                                                     VkSurfaceFormat2KHR *                   pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
3580     {
3581       return ::vkGetPhysicalDeviceSurfaceFormats2KHR( physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
3582     }
3583 
3584     //=== VK_KHR_get_display_properties2 ===
3585 
vkGetPhysicalDeviceDisplayProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayProperties2KHR * pProperties) const3586     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
3587                                                        uint32_t *                pPropertyCount,
3588                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3589     {
3590       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3591     }
3592 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkDisplayPlaneProperties2KHR * pProperties) const3593     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
3594                                                             uint32_t *                     pPropertyCount,
3595                                                             VkDisplayPlaneProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3596     {
3597       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
3598     }
3599 
vkGetDisplayModeProperties2KHR(VkPhysicalDevice physicalDevice,VkDisplayKHR display,uint32_t * pPropertyCount,VkDisplayModeProperties2KHR * pProperties) const3600     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
3601                                              VkDisplayKHR                  display,
3602                                              uint32_t *                    pPropertyCount,
3603                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
3604     {
3605       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
3606     }
3607 
vkGetDisplayPlaneCapabilities2KHR(VkPhysicalDevice physicalDevice,const VkDisplayPlaneInfo2KHR * pDisplayPlaneInfo,VkDisplayPlaneCapabilities2KHR * pCapabilities) const3608     VkResult vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
3609                                                 const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
3610                                                 VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
3611     {
3612       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
3613     }
3614 
3615 #  if defined( VK_USE_PLATFORM_IOS_MVK )
3616     //=== VK_MVK_ios_surface ===
3617 
vkCreateIOSSurfaceMVK(VkInstance instance,const VkIOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3618     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
3619                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
3620                                     const VkAllocationCallbacks *     pAllocator,
3621                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
3622     {
3623       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3624     }
3625 #  endif /*VK_USE_PLATFORM_IOS_MVK*/
3626 
3627 #  if defined( VK_USE_PLATFORM_MACOS_MVK )
3628     //=== VK_MVK_macos_surface ===
3629 
vkCreateMacOSSurfaceMVK(VkInstance instance,const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const3630     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
3631                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
3632                                       const VkAllocationCallbacks *       pAllocator,
3633                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
3634     {
3635       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
3636     }
3637 #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
3638 
3639     //=== VK_EXT_debug_utils ===
3640 
vkSetDebugUtilsObjectNameEXT(VkDevice device,const VkDebugUtilsObjectNameInfoEXT * pNameInfo) const3641     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice device, const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
3642     {
3643       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
3644     }
3645 
vkSetDebugUtilsObjectTagEXT(VkDevice device,const VkDebugUtilsObjectTagInfoEXT * pTagInfo) const3646     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice device, const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
3647     {
3648       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
3649     }
3650 
vkQueueBeginDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3651     void vkQueueBeginDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3652     {
3653       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
3654     }
3655 
vkQueueEndDebugUtilsLabelEXT(VkQueue queue) const3656     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
3657     {
3658       return ::vkQueueEndDebugUtilsLabelEXT( queue );
3659     }
3660 
vkQueueInsertDebugUtilsLabelEXT(VkQueue queue,const VkDebugUtilsLabelEXT * pLabelInfo) const3661     void vkQueueInsertDebugUtilsLabelEXT( VkQueue queue, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3662     {
3663       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
3664     }
3665 
vkCmdBeginDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3666     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3667     {
3668       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3669     }
3670 
vkCmdEndDebugUtilsLabelEXT(VkCommandBuffer commandBuffer) const3671     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
3672     {
3673       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
3674     }
3675 
vkCmdInsertDebugUtilsLabelEXT(VkCommandBuffer commandBuffer,const VkDebugUtilsLabelEXT * pLabelInfo) const3676     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer commandBuffer, const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
3677     {
3678       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
3679     }
3680 
vkCreateDebugUtilsMessengerEXT(VkInstance instance,const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkDebugUtilsMessengerEXT * pMessenger) const3681     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
3682                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
3683                                              const VkAllocationCallbacks *              pAllocator,
3684                                              VkDebugUtilsMessengerEXT *                 pMessenger ) const VULKAN_HPP_NOEXCEPT
3685     {
3686       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
3687     }
3688 
vkDestroyDebugUtilsMessengerEXT(VkInstance instance,VkDebugUtilsMessengerEXT messenger,const VkAllocationCallbacks * pAllocator) const3689     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
3690                                           VkDebugUtilsMessengerEXT      messenger,
3691                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3692     {
3693       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
3694     }
3695 
vkSubmitDebugUtilsMessageEXT(VkInstance instance,VkDebugUtilsMessageSeverityFlagBitsEXT messageSeverity,VkDebugUtilsMessageTypeFlagsEXT messageTypes,const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData) const3696     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
3697                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
3698                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
3699                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const VULKAN_HPP_NOEXCEPT
3700     {
3701       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
3702     }
3703 
3704 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
3705     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
3706 
vkGetAndroidHardwareBufferPropertiesANDROID(VkDevice device,const struct AHardwareBuffer * buffer,VkAndroidHardwareBufferPropertiesANDROID * pProperties) const3707     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
3708                                                           const struct AHardwareBuffer *             buffer,
3709                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const VULKAN_HPP_NOEXCEPT
3710     {
3711       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
3712     }
3713 
vkGetMemoryAndroidHardwareBufferANDROID(VkDevice device,const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,struct AHardwareBuffer ** pBuffer) const3714     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
3715                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
3716                                                       struct AHardwareBuffer **                           pBuffer ) const VULKAN_HPP_NOEXCEPT
3717     {
3718       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
3719     }
3720 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
3721 
3722 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
3723     //=== VK_AMDX_shader_enqueue ===
3724 
vkCreateExecutionGraphPipelinesAMDX(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3725     VkResult vkCreateExecutionGraphPipelinesAMDX( VkDevice                                       device,
3726                                                   VkPipelineCache                                pipelineCache,
3727                                                   uint32_t                                       createInfoCount,
3728                                                   const VkExecutionGraphPipelineCreateInfoAMDX * pCreateInfos,
3729                                                   const VkAllocationCallbacks *                  pAllocator,
3730                                                   VkPipeline *                                   pPipelines ) const VULKAN_HPP_NOEXCEPT
3731     {
3732       return ::vkCreateExecutionGraphPipelinesAMDX( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3733     }
3734 
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device,VkPipeline executionGraph,VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo) const3735     VkResult vkGetExecutionGraphPipelineScratchSizeAMDX( VkDevice                                  device,
3736                                                          VkPipeline                                executionGraph,
3737                                                          VkExecutionGraphPipelineScratchSizeAMDX * pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3738     {
3739       return ::vkGetExecutionGraphPipelineScratchSizeAMDX( device, executionGraph, pSizeInfo );
3740     }
3741 
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device,VkPipeline executionGraph,const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,uint32_t * pNodeIndex) const3742     VkResult vkGetExecutionGraphPipelineNodeIndexAMDX( VkDevice                                        device,
3743                                                        VkPipeline                                      executionGraph,
3744                                                        const VkPipelineShaderStageNodeCreateInfoAMDX * pNodeInfo,
3745                                                        uint32_t *                                      pNodeIndex ) const VULKAN_HPP_NOEXCEPT
3746     {
3747       return ::vkGetExecutionGraphPipelineNodeIndexAMDX( device, executionGraph, pNodeInfo, pNodeIndex );
3748     }
3749 
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch) const3750     void vkCmdInitializeGraphScratchMemoryAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch ) const VULKAN_HPP_NOEXCEPT
3751     {
3752       return ::vkCmdInitializeGraphScratchMemoryAMDX( commandBuffer, scratch );
3753     }
3754 
vkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3755     void vkCmdDispatchGraphAMDX( VkCommandBuffer                      commandBuffer,
3756                                  VkDeviceAddress                      scratch,
3757                                  const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3758     {
3759       return ::vkCmdDispatchGraphAMDX( commandBuffer, scratch, pCountInfo );
3760     }
3761 
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,const VkDispatchGraphCountInfoAMDX * pCountInfo) const3762     void vkCmdDispatchGraphIndirectAMDX( VkCommandBuffer                      commandBuffer,
3763                                          VkDeviceAddress                      scratch,
3764                                          const VkDispatchGraphCountInfoAMDX * pCountInfo ) const VULKAN_HPP_NOEXCEPT
3765     {
3766       return ::vkCmdDispatchGraphIndirectAMDX( commandBuffer, scratch, pCountInfo );
3767     }
3768 
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer commandBuffer,VkDeviceAddress scratch,VkDeviceAddress countInfo) const3769     void vkCmdDispatchGraphIndirectCountAMDX( VkCommandBuffer commandBuffer, VkDeviceAddress scratch, VkDeviceAddress countInfo ) const VULKAN_HPP_NOEXCEPT
3770     {
3771       return ::vkCmdDispatchGraphIndirectCountAMDX( commandBuffer, scratch, countInfo );
3772     }
3773 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
3774 
3775     //=== VK_EXT_sample_locations ===
3776 
vkCmdSetSampleLocationsEXT(VkCommandBuffer commandBuffer,const VkSampleLocationsInfoEXT * pSampleLocationsInfo) const3777     void vkCmdSetSampleLocationsEXT( VkCommandBuffer commandBuffer, const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
3778     {
3779       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
3780     }
3781 
vkGetPhysicalDeviceMultisamplePropertiesEXT(VkPhysicalDevice physicalDevice,VkSampleCountFlagBits samples,VkMultisamplePropertiesEXT * pMultisampleProperties) const3782     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
3783                                                       VkSampleCountFlagBits        samples,
3784                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const VULKAN_HPP_NOEXCEPT
3785     {
3786       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
3787     }
3788 
3789     //=== VK_KHR_get_memory_requirements2 ===
3790 
vkGetImageMemoryRequirements2KHR(VkDevice device,const VkImageMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3791     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
3792                                            const VkImageMemoryRequirementsInfo2 * pInfo,
3793                                            VkMemoryRequirements2 *                pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3794     {
3795       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3796     }
3797 
vkGetBufferMemoryRequirements2KHR(VkDevice device,const VkBufferMemoryRequirementsInfo2 * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const3798     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
3799                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
3800                                             VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3801     {
3802       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
3803     }
3804 
vkGetImageSparseMemoryRequirements2KHR(VkDevice device,const VkImageSparseMemoryRequirementsInfo2 * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const3805     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
3806                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
3807                                                  uint32_t *                                   pSparseMemoryRequirementCount,
3808                                                  VkSparseImageMemoryRequirements2 *           pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
3809     {
3810       return ::vkGetImageSparseMemoryRequirements2KHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
3811     }
3812 
3813     //=== VK_KHR_acceleration_structure ===
3814 
vkCreateAccelerationStructureKHR(VkDevice device,const VkAccelerationStructureCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureKHR * pAccelerationStructure) const3815     VkResult vkCreateAccelerationStructureKHR( VkDevice                                     device,
3816                                                const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
3817                                                const VkAllocationCallbacks *                pAllocator,
3818                                                VkAccelerationStructureKHR *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
3819     {
3820       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
3821     }
3822 
vkDestroyAccelerationStructureKHR(VkDevice device,VkAccelerationStructureKHR accelerationStructure,const VkAllocationCallbacks * pAllocator) const3823     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
3824                                             VkAccelerationStructureKHR    accelerationStructure,
3825                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
3826     {
3827       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
3828     }
3829 
vkCmdBuildAccelerationStructuresKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3830     void vkCmdBuildAccelerationStructuresKHR( VkCommandBuffer                                          commandBuffer,
3831                                               uint32_t                                                 infoCount,
3832                                               const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3833                                               const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3834     {
3835       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
3836     }
3837 
vkCmdBuildAccelerationStructuresIndirectKHR(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkDeviceAddress * pIndirectDeviceAddresses,const uint32_t * pIndirectStrides,const uint32_t * const * ppMaxPrimitiveCounts) const3838     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
3839                                                       uint32_t                                            infoCount,
3840                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
3841                                                       const VkDeviceAddress *                             pIndirectDeviceAddresses,
3842                                                       const uint32_t *                                    pIndirectStrides,
3843                                                       const uint32_t * const *                            ppMaxPrimitiveCounts ) const VULKAN_HPP_NOEXCEPT
3844     {
3845       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
3846         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
3847     }
3848 
vkBuildAccelerationStructuresKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos) const3849     VkResult vkBuildAccelerationStructuresKHR( VkDevice                                                 device,
3850                                                VkDeferredOperationKHR                                   deferredOperation,
3851                                                uint32_t                                                 infoCount,
3852                                                const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
3853                                                const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
3854     {
3855       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
3856     }
3857 
vkCopyAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureInfoKHR * pInfo) const3858     VkResult vkCopyAccelerationStructureKHR( VkDevice                                   device,
3859                                              VkDeferredOperationKHR                     deferredOperation,
3860                                              const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3861     {
3862       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
3863     }
3864 
vkCopyAccelerationStructureToMemoryKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3865     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice                                           device,
3866                                                      VkDeferredOperationKHR                             deferredOperation,
3867                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3868     {
3869       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
3870     }
3871 
vkCopyMemoryToAccelerationStructureKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3872     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice                                           device,
3873                                                      VkDeferredOperationKHR                             deferredOperation,
3874                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3875     {
3876       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
3877     }
3878 
vkWriteAccelerationStructuresPropertiesKHR(VkDevice device,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const3879     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
3880                                                          uint32_t                           accelerationStructureCount,
3881                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
3882                                                          VkQueryType                        queryType,
3883                                                          size_t                             dataSize,
3884                                                          void *                             pData,
3885                                                          size_t                             stride ) const VULKAN_HPP_NOEXCEPT
3886     {
3887       return ::vkWriteAccelerationStructuresPropertiesKHR( device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
3888     }
3889 
vkCmdCopyAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureInfoKHR * pInfo) const3890     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer commandBuffer, const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3891     {
3892       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
3893     }
3894 
vkCmdCopyAccelerationStructureToMemoryKHR(VkCommandBuffer commandBuffer,const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo) const3895     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
3896                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3897     {
3898       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
3899     }
3900 
vkCmdCopyMemoryToAccelerationStructureKHR(VkCommandBuffer commandBuffer,const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo) const3901     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
3902                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3903     {
3904       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
3905     }
3906 
vkGetAccelerationStructureDeviceAddressKHR(VkDevice device,const VkAccelerationStructureDeviceAddressInfoKHR * pInfo) const3907     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR( VkDevice                                            device,
3908                                                                 const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
3909     {
3910       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
3911     }
3912 
vkCmdWriteAccelerationStructuresPropertiesKHR(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureKHR * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const3913     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
3914                                                         uint32_t                           accelerationStructureCount,
3915                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
3916                                                         VkQueryType                        queryType,
3917                                                         VkQueryPool                        queryPool,
3918                                                         uint32_t                           firstQuery ) const VULKAN_HPP_NOEXCEPT
3919     {
3920       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
3921         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
3922     }
3923 
vkGetDeviceAccelerationStructureCompatibilityKHR(VkDevice device,const VkAccelerationStructureVersionInfoKHR * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const3924     void vkGetDeviceAccelerationStructureCompatibilityKHR( VkDevice                                      device,
3925                                                            const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
3926                                                            VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
3927     {
3928       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
3929     }
3930 
vkGetAccelerationStructureBuildSizesKHR(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,const uint32_t * pMaxPrimitiveCounts,VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo) const3931     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
3932                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
3933                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
3934                                                   const uint32_t *                                    pMaxPrimitiveCounts,
3935                                                   VkAccelerationStructureBuildSizesInfoKHR *          pSizeInfo ) const VULKAN_HPP_NOEXCEPT
3936     {
3937       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
3938     }
3939 
3940     //=== VK_KHR_ray_tracing_pipeline ===
3941 
vkCmdTraceRaysKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,uint32_t width,uint32_t height,uint32_t depth) const3942     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
3943                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3944                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3945                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3946                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3947                             uint32_t                                width,
3948                             uint32_t                                height,
3949                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
3950     {
3951       return ::vkCmdTraceRaysKHR(
3952         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth );
3953     }
3954 
vkCreateRayTracingPipelinesKHR(VkDevice device,VkDeferredOperationKHR deferredOperation,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const3955     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
3956                                              VkDeferredOperationKHR                    deferredOperation,
3957                                              VkPipelineCache                           pipelineCache,
3958                                              uint32_t                                  createInfoCount,
3959                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
3960                                              const VkAllocationCallbacks *             pAllocator,
3961                                              VkPipeline *                              pPipelines ) const VULKAN_HPP_NOEXCEPT
3962     {
3963       return ::vkCreateRayTracingPipelinesKHR( device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
3964     }
3965 
vkGetRayTracingShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3966     VkResult vkGetRayTracingShaderGroupHandlesKHR(
3967       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3968     {
3969       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3970     }
3971 
vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const3972     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
3973       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
3974     {
3975       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
3976     }
3977 
vkCmdTraceRaysIndirectKHR(VkCommandBuffer commandBuffer,const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,VkDeviceAddress indirectDeviceAddress) const3978     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
3979                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
3980                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
3981                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
3982                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
3983                                     VkDeviceAddress                         indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
3984     {
3985       return ::vkCmdTraceRaysIndirectKHR(
3986         commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress );
3987     }
3988 
vkGetRayTracingShaderGroupStackSizeKHR(VkDevice device,VkPipeline pipeline,uint32_t group,VkShaderGroupShaderKHR groupShader) const3989     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
3990                                                          VkPipeline             pipeline,
3991                                                          uint32_t               group,
3992                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
3993     {
3994       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
3995     }
3996 
vkCmdSetRayTracingPipelineStackSizeKHR(VkCommandBuffer commandBuffer,uint32_t pipelineStackSize) const3997     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer, uint32_t pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
3998     {
3999       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
4000     }
4001 
4002     //=== VK_KHR_sampler_ycbcr_conversion ===
4003 
vkCreateSamplerYcbcrConversionKHR(VkDevice device,const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSamplerYcbcrConversion * pYcbcrConversion) const4004     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
4005                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
4006                                                 const VkAllocationCallbacks *              pAllocator,
4007                                                 VkSamplerYcbcrConversion *                 pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
4008     {
4009       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
4010     }
4011 
vkDestroySamplerYcbcrConversionKHR(VkDevice device,VkSamplerYcbcrConversion ycbcrConversion,const VkAllocationCallbacks * pAllocator) const4012     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
4013                                              VkSamplerYcbcrConversion      ycbcrConversion,
4014                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4015     {
4016       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
4017     }
4018 
4019     //=== VK_KHR_bind_memory2 ===
4020 
vkBindBufferMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindBufferMemoryInfo * pBindInfos) const4021     VkResult vkBindBufferMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4022     {
4023       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
4024     }
4025 
vkBindImageMemory2KHR(VkDevice device,uint32_t bindInfoCount,const VkBindImageMemoryInfo * pBindInfos) const4026     VkResult vkBindImageMemory2KHR( VkDevice device, uint32_t bindInfoCount, const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4027     {
4028       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
4029     }
4030 
4031     //=== VK_EXT_image_drm_format_modifier ===
4032 
4033     VkResult
vkGetImageDrmFormatModifierPropertiesEXT(VkDevice device,VkImage image,VkImageDrmFormatModifierPropertiesEXT * pProperties) const4034       vkGetImageDrmFormatModifierPropertiesEXT( VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
4035     {
4036       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
4037     }
4038 
4039     //=== VK_EXT_validation_cache ===
4040 
vkCreateValidationCacheEXT(VkDevice device,const VkValidationCacheCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkValidationCacheEXT * pValidationCache) const4041     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
4042                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
4043                                          const VkAllocationCallbacks *          pAllocator,
4044                                          VkValidationCacheEXT *                 pValidationCache ) const VULKAN_HPP_NOEXCEPT
4045     {
4046       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
4047     }
4048 
4049     void
vkDestroyValidationCacheEXT(VkDevice device,VkValidationCacheEXT validationCache,const VkAllocationCallbacks * pAllocator) const4050       vkDestroyValidationCacheEXT( VkDevice device, VkValidationCacheEXT validationCache, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4051     {
4052       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
4053     }
4054 
vkMergeValidationCachesEXT(VkDevice device,VkValidationCacheEXT dstCache,uint32_t srcCacheCount,const VkValidationCacheEXT * pSrcCaches) const4055     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
4056                                          VkValidationCacheEXT         dstCache,
4057                                          uint32_t                     srcCacheCount,
4058                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
4059     {
4060       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
4061     }
4062 
vkGetValidationCacheDataEXT(VkDevice device,VkValidationCacheEXT validationCache,size_t * pDataSize,void * pData) const4063     VkResult vkGetValidationCacheDataEXT( VkDevice device, VkValidationCacheEXT validationCache, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4064     {
4065       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
4066     }
4067 
4068     //=== VK_NV_shading_rate_image ===
4069 
vkCmdBindShadingRateImageNV(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const4070     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
4071     {
4072       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
4073     }
4074 
vkCmdSetViewportShadingRatePaletteNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkShadingRatePaletteNV * pShadingRatePalettes) const4075     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
4076                                                uint32_t                       firstViewport,
4077                                                uint32_t                       viewportCount,
4078                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const VULKAN_HPP_NOEXCEPT
4079     {
4080       return ::vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
4081     }
4082 
vkCmdSetCoarseSampleOrderNV(VkCommandBuffer commandBuffer,VkCoarseSampleOrderTypeNV sampleOrderType,uint32_t customSampleOrderCount,const VkCoarseSampleOrderCustomNV * pCustomSampleOrders) const4083     void vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
4084                                       VkCoarseSampleOrderTypeNV           sampleOrderType,
4085                                       uint32_t                            customSampleOrderCount,
4086                                       const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
4087     {
4088       return ::vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
4089     }
4090 
4091     //=== VK_NV_ray_tracing ===
4092 
vkCreateAccelerationStructureNV(VkDevice device,const VkAccelerationStructureCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkAccelerationStructureNV * pAccelerationStructure) const4093     VkResult vkCreateAccelerationStructureNV( VkDevice                                    device,
4094                                               const VkAccelerationStructureCreateInfoNV * pCreateInfo,
4095                                               const VkAllocationCallbacks *               pAllocator,
4096                                               VkAccelerationStructureNV *                 pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
4097     {
4098       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
4099     }
4100 
vkDestroyAccelerationStructureNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,const VkAllocationCallbacks * pAllocator) const4101     void vkDestroyAccelerationStructureNV( VkDevice                      device,
4102                                            VkAccelerationStructureNV     accelerationStructure,
4103                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4104     {
4105       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
4106     }
4107 
vkGetAccelerationStructureMemoryRequirementsNV(VkDevice device,const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2KHR * pMemoryRequirements) const4108     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
4109                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
4110                                                          VkMemoryRequirements2KHR *                              pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4111     {
4112       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4113     }
4114 
vkBindAccelerationStructureMemoryNV(VkDevice device,uint32_t bindInfoCount,const VkBindAccelerationStructureMemoryInfoNV * pBindInfos) const4115     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
4116                                                   uint32_t                                        bindInfoCount,
4117                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const VULKAN_HPP_NOEXCEPT
4118     {
4119       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
4120     }
4121 
vkCmdBuildAccelerationStructureNV(VkCommandBuffer commandBuffer,const VkAccelerationStructureInfoNV * pInfo,VkBuffer instanceData,VkDeviceSize instanceOffset,VkBool32 update,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkBuffer scratch,VkDeviceSize scratchOffset) const4122     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
4123                                             const VkAccelerationStructureInfoNV * pInfo,
4124                                             VkBuffer                              instanceData,
4125                                             VkDeviceSize                          instanceOffset,
4126                                             VkBool32                              update,
4127                                             VkAccelerationStructureNV             dst,
4128                                             VkAccelerationStructureNV             src,
4129                                             VkBuffer                              scratch,
4130                                             VkDeviceSize                          scratchOffset ) const VULKAN_HPP_NOEXCEPT
4131     {
4132       return ::vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
4133     }
4134 
vkCmdCopyAccelerationStructureNV(VkCommandBuffer commandBuffer,VkAccelerationStructureNV dst,VkAccelerationStructureNV src,VkCopyAccelerationStructureModeKHR mode) const4135     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
4136                                            VkAccelerationStructureNV          dst,
4137                                            VkAccelerationStructureNV          src,
4138                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
4139     {
4140       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
4141     }
4142 
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) const4143     void vkCmdTraceRaysNV( VkCommandBuffer commandBuffer,
4144                            VkBuffer        raygenShaderBindingTableBuffer,
4145                            VkDeviceSize    raygenShaderBindingOffset,
4146                            VkBuffer        missShaderBindingTableBuffer,
4147                            VkDeviceSize    missShaderBindingOffset,
4148                            VkDeviceSize    missShaderBindingStride,
4149                            VkBuffer        hitShaderBindingTableBuffer,
4150                            VkDeviceSize    hitShaderBindingOffset,
4151                            VkDeviceSize    hitShaderBindingStride,
4152                            VkBuffer        callableShaderBindingTableBuffer,
4153                            VkDeviceSize    callableShaderBindingOffset,
4154                            VkDeviceSize    callableShaderBindingStride,
4155                            uint32_t        width,
4156                            uint32_t        height,
4157                            uint32_t        depth ) const VULKAN_HPP_NOEXCEPT
4158     {
4159       return ::vkCmdTraceRaysNV( commandBuffer,
4160                                  raygenShaderBindingTableBuffer,
4161                                  raygenShaderBindingOffset,
4162                                  missShaderBindingTableBuffer,
4163                                  missShaderBindingOffset,
4164                                  missShaderBindingStride,
4165                                  hitShaderBindingTableBuffer,
4166                                  hitShaderBindingOffset,
4167                                  hitShaderBindingStride,
4168                                  callableShaderBindingTableBuffer,
4169                                  callableShaderBindingOffset,
4170                                  callableShaderBindingStride,
4171                                  width,
4172                                  height,
4173                                  depth );
4174     }
4175 
vkCreateRayTracingPipelinesNV(VkDevice device,VkPipelineCache pipelineCache,uint32_t createInfoCount,const VkRayTracingPipelineCreateInfoNV * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkPipeline * pPipelines) const4176     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
4177                                             VkPipelineCache                          pipelineCache,
4178                                             uint32_t                                 createInfoCount,
4179                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
4180                                             const VkAllocationCallbacks *            pAllocator,
4181                                             VkPipeline *                             pPipelines ) const VULKAN_HPP_NOEXCEPT
4182     {
4183       return ::vkCreateRayTracingPipelinesNV( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
4184     }
4185 
vkGetRayTracingShaderGroupHandlesNV(VkDevice device,VkPipeline pipeline,uint32_t firstGroup,uint32_t groupCount,size_t dataSize,void * pData) const4186     VkResult vkGetRayTracingShaderGroupHandlesNV(
4187       VkDevice device, VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
4188     {
4189       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
4190     }
4191 
vkGetAccelerationStructureHandleNV(VkDevice device,VkAccelerationStructureNV accelerationStructure,size_t dataSize,void * pData) const4192     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
4193                                                  VkAccelerationStructureNV accelerationStructure,
4194                                                  size_t                    dataSize,
4195                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
4196     {
4197       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
4198     }
4199 
vkCmdWriteAccelerationStructuresPropertiesNV(VkCommandBuffer commandBuffer,uint32_t accelerationStructureCount,const VkAccelerationStructureNV * pAccelerationStructures,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const4200     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
4201                                                        uint32_t                          accelerationStructureCount,
4202                                                        const VkAccelerationStructureNV * pAccelerationStructures,
4203                                                        VkQueryType                       queryType,
4204                                                        VkQueryPool                       queryPool,
4205                                                        uint32_t                          firstQuery ) const VULKAN_HPP_NOEXCEPT
4206     {
4207       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
4208         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
4209     }
4210 
vkCompileDeferredNV(VkDevice device,VkPipeline pipeline,uint32_t shader) const4211     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
4212     {
4213       return ::vkCompileDeferredNV( device, pipeline, shader );
4214     }
4215 
4216     //=== VK_KHR_maintenance3 ===
4217 
vkGetDescriptorSetLayoutSupportKHR(VkDevice device,const VkDescriptorSetLayoutCreateInfo * pCreateInfo,VkDescriptorSetLayoutSupport * pSupport) const4218     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
4219                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
4220                                              VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
4221     {
4222       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
4223     }
4224 
4225     //=== VK_KHR_draw_indirect_count ===
4226 
vkCmdDrawIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4227     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
4228                                     VkBuffer        buffer,
4229                                     VkDeviceSize    offset,
4230                                     VkBuffer        countBuffer,
4231                                     VkDeviceSize    countBufferOffset,
4232                                     uint32_t        maxDrawCount,
4233                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4234     {
4235       return ::vkCmdDrawIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4236     }
4237 
vkCmdDrawIndexedIndirectCountKHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4238     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
4239                                            VkBuffer        buffer,
4240                                            VkDeviceSize    offset,
4241                                            VkBuffer        countBuffer,
4242                                            VkDeviceSize    countBufferOffset,
4243                                            uint32_t        maxDrawCount,
4244                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4245     {
4246       return ::vkCmdDrawIndexedIndirectCountKHR( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4247     }
4248 
4249     //=== VK_EXT_external_memory_host ===
4250 
vkGetMemoryHostPointerPropertiesEXT(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,const void * pHostPointer,VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties) const4251     VkResult vkGetMemoryHostPointerPropertiesEXT( VkDevice                           device,
4252                                                   VkExternalMemoryHandleTypeFlagBits handleType,
4253                                                   const void *                       pHostPointer,
4254                                                   VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
4255     {
4256       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
4257     }
4258 
4259     //=== VK_AMD_buffer_marker ===
4260 
vkCmdWriteBufferMarkerAMD(VkCommandBuffer commandBuffer,VkPipelineStageFlagBits pipelineStage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4261     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
4262                                     VkPipelineStageFlagBits pipelineStage,
4263                                     VkBuffer                dstBuffer,
4264                                     VkDeviceSize            dstOffset,
4265                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
4266     {
4267       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
4268     }
4269 
4270     //=== VK_EXT_calibrated_timestamps ===
4271 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const4272     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
4273                                                              uint32_t *        pTimeDomainCount,
4274                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
4275     {
4276       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
4277     }
4278 
vkGetCalibratedTimestampsEXT(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const4279     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
4280                                            uint32_t                             timestampCount,
4281                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
4282                                            uint64_t *                           pTimestamps,
4283                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
4284     {
4285       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
4286     }
4287 
4288     //=== VK_NV_mesh_shader ===
4289 
vkCmdDrawMeshTasksNV(VkCommandBuffer commandBuffer,uint32_t taskCount,uint32_t firstTask) const4290     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer, uint32_t taskCount, uint32_t firstTask ) const VULKAN_HPP_NOEXCEPT
4291     {
4292       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
4293     }
4294 
vkCmdDrawMeshTasksIndirectNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const4295     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
4296       VULKAN_HPP_NOEXCEPT
4297     {
4298       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
4299     }
4300 
vkCmdDrawMeshTasksIndirectCountNV(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const4301     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
4302                                             VkBuffer        buffer,
4303                                             VkDeviceSize    offset,
4304                                             VkBuffer        countBuffer,
4305                                             VkDeviceSize    countBufferOffset,
4306                                             uint32_t        maxDrawCount,
4307                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
4308     {
4309       return ::vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
4310     }
4311 
4312     //=== VK_NV_scissor_exclusive ===
4313 
vkCmdSetExclusiveScissorEnableNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkBool32 * pExclusiveScissorEnables) const4314     void vkCmdSetExclusiveScissorEnableNV( VkCommandBuffer  commandBuffer,
4315                                            uint32_t         firstExclusiveScissor,
4316                                            uint32_t         exclusiveScissorCount,
4317                                            const VkBool32 * pExclusiveScissorEnables ) const VULKAN_HPP_NOEXCEPT
4318     {
4319       return ::vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables );
4320     }
4321 
vkCmdSetExclusiveScissorNV(VkCommandBuffer commandBuffer,uint32_t firstExclusiveScissor,uint32_t exclusiveScissorCount,const VkRect2D * pExclusiveScissors) const4322     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
4323                                      uint32_t         firstExclusiveScissor,
4324                                      uint32_t         exclusiveScissorCount,
4325                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
4326     {
4327       return ::vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
4328     }
4329 
4330     //=== VK_NV_device_diagnostic_checkpoints ===
4331 
vkCmdSetCheckpointNV(VkCommandBuffer commandBuffer,const void * pCheckpointMarker) const4332     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
4333     {
4334       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
4335     }
4336 
vkGetQueueCheckpointDataNV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointDataNV * pCheckpointData) const4337     void vkGetQueueCheckpointDataNV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4338     {
4339       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
4340     }
4341 
4342     //=== VK_KHR_timeline_semaphore ===
4343 
vkGetSemaphoreCounterValueKHR(VkDevice device,VkSemaphore semaphore,uint64_t * pValue) const4344     VkResult vkGetSemaphoreCounterValueKHR( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
4345     {
4346       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
4347     }
4348 
vkWaitSemaphoresKHR(VkDevice device,const VkSemaphoreWaitInfo * pWaitInfo,uint64_t timeout) const4349     VkResult vkWaitSemaphoresKHR( VkDevice device, const VkSemaphoreWaitInfo * pWaitInfo, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4350     {
4351       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
4352     }
4353 
vkSignalSemaphoreKHR(VkDevice device,const VkSemaphoreSignalInfo * pSignalInfo) const4354     VkResult vkSignalSemaphoreKHR( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
4355     {
4356       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
4357     }
4358 
4359     //=== VK_INTEL_performance_query ===
4360 
vkInitializePerformanceApiINTEL(VkDevice device,const VkInitializePerformanceApiInfoINTEL * pInitializeInfo) const4361     VkResult vkInitializePerformanceApiINTEL( VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
4362     {
4363       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
4364     }
4365 
vkUninitializePerformanceApiINTEL(VkDevice device) const4366     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
4367     {
4368       return ::vkUninitializePerformanceApiINTEL( device );
4369     }
4370 
vkCmdSetPerformanceMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceMarkerInfoINTEL * pMarkerInfo) const4371     VkResult vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer commandBuffer, const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4372     {
4373       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
4374     }
4375 
vkCmdSetPerformanceStreamMarkerINTEL(VkCommandBuffer commandBuffer,const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo) const4376     VkResult vkCmdSetPerformanceStreamMarkerINTEL( VkCommandBuffer                            commandBuffer,
4377                                                    const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
4378     {
4379       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
4380     }
4381 
vkCmdSetPerformanceOverrideINTEL(VkCommandBuffer commandBuffer,const VkPerformanceOverrideInfoINTEL * pOverrideInfo) const4382     VkResult vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer commandBuffer, const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
4383     {
4384       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
4385     }
4386 
vkAcquirePerformanceConfigurationINTEL(VkDevice device,const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,VkPerformanceConfigurationINTEL * pConfiguration) const4387     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
4388                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
4389                                                      VkPerformanceConfigurationINTEL *                  pConfiguration ) const VULKAN_HPP_NOEXCEPT
4390     {
4391       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
4392     }
4393 
vkReleasePerformanceConfigurationINTEL(VkDevice device,VkPerformanceConfigurationINTEL configuration) const4394     VkResult vkReleasePerformanceConfigurationINTEL( VkDevice device, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4395     {
4396       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
4397     }
4398 
vkQueueSetPerformanceConfigurationINTEL(VkQueue queue,VkPerformanceConfigurationINTEL configuration) const4399     VkResult vkQueueSetPerformanceConfigurationINTEL( VkQueue queue, VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
4400     {
4401       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
4402     }
4403 
4404     VkResult
vkGetPerformanceParameterINTEL(VkDevice device,VkPerformanceParameterTypeINTEL parameter,VkPerformanceValueINTEL * pValue) const4405       vkGetPerformanceParameterINTEL( VkDevice device, VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL * pValue ) const VULKAN_HPP_NOEXCEPT
4406     {
4407       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
4408     }
4409 
4410     //=== VK_AMD_display_native_hdr ===
4411 
vkSetLocalDimmingAMD(VkDevice device,VkSwapchainKHR swapChain,VkBool32 localDimmingEnable) const4412     void vkSetLocalDimmingAMD( VkDevice device, VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
4413     {
4414       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
4415     }
4416 
4417 #  if defined( VK_USE_PLATFORM_FUCHSIA )
4418     //=== VK_FUCHSIA_imagepipe_surface ===
4419 
vkCreateImagePipeSurfaceFUCHSIA(VkInstance instance,const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4420     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
4421                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
4422                                               const VkAllocationCallbacks *               pAllocator,
4423                                               VkSurfaceKHR *                              pSurface ) const VULKAN_HPP_NOEXCEPT
4424     {
4425       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
4426     }
4427 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
4428 
4429 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4430     //=== VK_EXT_metal_surface ===
4431 
vkCreateMetalSurfaceEXT(VkInstance instance,const VkMetalSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4432     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
4433                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
4434                                       const VkAllocationCallbacks *       pAllocator,
4435                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
4436     {
4437       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4438     }
4439 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4440 
4441     //=== VK_KHR_fragment_shading_rate ===
4442 
vkGetPhysicalDeviceFragmentShadingRatesKHR(VkPhysicalDevice physicalDevice,uint32_t * pFragmentShadingRateCount,VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates) const4443     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR( VkPhysicalDevice                         physicalDevice,
4444                                                          uint32_t *                               pFragmentShadingRateCount,
4445                                                          VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
4446     {
4447       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR( physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
4448     }
4449 
vkCmdSetFragmentShadingRateKHR(VkCommandBuffer commandBuffer,const VkExtent2D * pFragmentSize,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const4450     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
4451                                          const VkExtent2D *                       pFragmentSize,
4452                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
4453     {
4454       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
4455     }
4456 
4457     //=== VK_KHR_dynamic_rendering_local_read ===
4458 
vkCmdSetRenderingAttachmentLocationsKHR(VkCommandBuffer commandBuffer,const VkRenderingAttachmentLocationInfo * pLocationInfo) const4459     void vkCmdSetRenderingAttachmentLocationsKHR( VkCommandBuffer                           commandBuffer,
4460                                                   const VkRenderingAttachmentLocationInfo * pLocationInfo ) const VULKAN_HPP_NOEXCEPT
4461     {
4462       return ::vkCmdSetRenderingAttachmentLocationsKHR( commandBuffer, pLocationInfo );
4463     }
4464 
vkCmdSetRenderingInputAttachmentIndicesKHR(VkCommandBuffer commandBuffer,const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo) const4465     void vkCmdSetRenderingInputAttachmentIndicesKHR( VkCommandBuffer                             commandBuffer,
4466                                                      const VkRenderingInputAttachmentIndexInfo * pInputAttachmentIndexInfo ) const VULKAN_HPP_NOEXCEPT
4467     {
4468       return ::vkCmdSetRenderingInputAttachmentIndicesKHR( commandBuffer, pInputAttachmentIndexInfo );
4469     }
4470 
4471     //=== VK_EXT_buffer_device_address ===
4472 
vkGetBufferDeviceAddressEXT(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4473     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4474     {
4475       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
4476     }
4477 
4478     //=== VK_EXT_tooling_info ===
4479 
vkGetPhysicalDeviceToolPropertiesEXT(VkPhysicalDevice physicalDevice,uint32_t * pToolCount,VkPhysicalDeviceToolProperties * pToolProperties) const4480     VkResult vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
4481                                                    uint32_t *                       pToolCount,
4482                                                    VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
4483     {
4484       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
4485     }
4486 
4487     //=== VK_KHR_present_wait ===
4488 
vkWaitForPresentKHR(VkDevice device,VkSwapchainKHR swapchain,uint64_t presentId,uint64_t timeout) const4489     VkResult vkWaitForPresentKHR( VkDevice device, VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) const VULKAN_HPP_NOEXCEPT
4490     {
4491       return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
4492     }
4493 
4494     //=== VK_NV_cooperative_matrix ===
4495 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesNV * pProperties) const4496     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
4497                                                                uint32_t *                        pPropertyCount,
4498                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const VULKAN_HPP_NOEXCEPT
4499     {
4500       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
4501     }
4502 
4503     //=== VK_NV_coverage_reduction_mode ===
4504 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(VkPhysicalDevice physicalDevice,uint32_t * pCombinationCount,VkFramebufferMixedSamplesCombinationNV * pCombinations) const4505     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
4506       VkPhysicalDevice physicalDevice, uint32_t * pCombinationCount, VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
4507     {
4508       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV( physicalDevice, pCombinationCount, pCombinations );
4509     }
4510 
4511 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
4512     //=== VK_EXT_full_screen_exclusive ===
4513 
vkGetPhysicalDeviceSurfacePresentModes2EXT(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,uint32_t * pPresentModeCount,VkPresentModeKHR * pPresentModes) const4514     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
4515                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4516                                                          uint32_t *                              pPresentModeCount,
4517                                                          VkPresentModeKHR *                      pPresentModes ) const VULKAN_HPP_NOEXCEPT
4518     {
4519       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT( physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
4520     }
4521 
vkAcquireFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4522     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4523     {
4524       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
4525     }
4526 
vkReleaseFullScreenExclusiveModeEXT(VkDevice device,VkSwapchainKHR swapchain) const4527     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
4528     {
4529       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
4530     }
4531 
vkGetDeviceGroupSurfacePresentModes2EXT(VkDevice device,const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,VkDeviceGroupPresentModeFlagsKHR * pModes) const4532     VkResult vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
4533                                                       const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
4534                                                       VkDeviceGroupPresentModeFlagsKHR *      pModes ) const VULKAN_HPP_NOEXCEPT
4535     {
4536       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
4537     }
4538 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
4539 
4540     //=== VK_EXT_headless_surface ===
4541 
vkCreateHeadlessSurfaceEXT(VkInstance instance,const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const4542     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
4543                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
4544                                          const VkAllocationCallbacks *          pAllocator,
4545                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
4546     {
4547       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
4548     }
4549 
4550     //=== VK_KHR_buffer_device_address ===
4551 
vkGetBufferDeviceAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4552     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4553     {
4554       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
4555     }
4556 
vkGetBufferOpaqueCaptureAddressKHR(VkDevice device,const VkBufferDeviceAddressInfo * pInfo) const4557     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice device, const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4558     {
4559       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
4560     }
4561 
vkGetDeviceMemoryOpaqueCaptureAddressKHR(VkDevice device,const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo) const4562     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR( VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
4563     {
4564       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
4565     }
4566 
4567     //=== VK_EXT_line_rasterization ===
4568 
vkCmdSetLineStippleEXT(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const4569     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
4570     {
4571       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
4572     }
4573 
4574     //=== VK_EXT_host_query_reset ===
4575 
vkResetQueryPoolEXT(VkDevice device,VkQueryPool queryPool,uint32_t firstQuery,uint32_t queryCount) const4576     void vkResetQueryPoolEXT( VkDevice device, VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) const VULKAN_HPP_NOEXCEPT
4577     {
4578       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
4579     }
4580 
4581     //=== VK_EXT_extended_dynamic_state ===
4582 
vkCmdSetCullModeEXT(VkCommandBuffer commandBuffer,VkCullModeFlags cullMode) const4583     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
4584     {
4585       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
4586     }
4587 
vkCmdSetFrontFaceEXT(VkCommandBuffer commandBuffer,VkFrontFace frontFace) const4588     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
4589     {
4590       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
4591     }
4592 
vkCmdSetPrimitiveTopologyEXT(VkCommandBuffer commandBuffer,VkPrimitiveTopology primitiveTopology) const4593     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer commandBuffer, VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
4594     {
4595       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
4596     }
4597 
vkCmdSetViewportWithCountEXT(VkCommandBuffer commandBuffer,uint32_t viewportCount,const VkViewport * pViewports) const4598     void vkCmdSetViewportWithCountEXT( VkCommandBuffer commandBuffer, uint32_t viewportCount, const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
4599     {
4600       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
4601     }
4602 
vkCmdSetScissorWithCountEXT(VkCommandBuffer commandBuffer,uint32_t scissorCount,const VkRect2D * pScissors) const4603     void vkCmdSetScissorWithCountEXT( VkCommandBuffer commandBuffer, uint32_t scissorCount, const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
4604     {
4605       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
4606     }
4607 
vkCmdBindVertexBuffers2EXT(VkCommandBuffer commandBuffer,uint32_t firstBinding,uint32_t bindingCount,const VkBuffer * pBuffers,const VkDeviceSize * pOffsets,const VkDeviceSize * pSizes,const VkDeviceSize * pStrides) const4608     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
4609                                      uint32_t             firstBinding,
4610                                      uint32_t             bindingCount,
4611                                      const VkBuffer *     pBuffers,
4612                                      const VkDeviceSize * pOffsets,
4613                                      const VkDeviceSize * pSizes,
4614                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
4615     {
4616       return ::vkCmdBindVertexBuffers2EXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
4617     }
4618 
vkCmdSetDepthTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthTestEnable) const4619     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
4620     {
4621       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
4622     }
4623 
vkCmdSetDepthWriteEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthWriteEnable) const4624     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
4625     {
4626       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
4627     }
4628 
vkCmdSetDepthCompareOpEXT(VkCommandBuffer commandBuffer,VkCompareOp depthCompareOp) const4629     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
4630     {
4631       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
4632     }
4633 
vkCmdSetDepthBoundsTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBoundsTestEnable) const4634     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
4635     {
4636       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
4637     }
4638 
vkCmdSetStencilTestEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stencilTestEnable) const4639     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
4640     {
4641       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
4642     }
4643 
vkCmdSetStencilOpEXT(VkCommandBuffer commandBuffer,VkStencilFaceFlags faceMask,VkStencilOp failOp,VkStencilOp passOp,VkStencilOp depthFailOp,VkCompareOp compareOp) const4644     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
4645                                VkStencilFaceFlags faceMask,
4646                                VkStencilOp        failOp,
4647                                VkStencilOp        passOp,
4648                                VkStencilOp        depthFailOp,
4649                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
4650     {
4651       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
4652     }
4653 
4654     //=== VK_KHR_deferred_host_operations ===
4655 
vkCreateDeferredOperationKHR(VkDevice device,const VkAllocationCallbacks * pAllocator,VkDeferredOperationKHR * pDeferredOperation) const4656     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
4657                                            const VkAllocationCallbacks * pAllocator,
4658                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
4659     {
4660       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
4661     }
4662 
vkDestroyDeferredOperationKHR(VkDevice device,VkDeferredOperationKHR operation,const VkAllocationCallbacks * pAllocator) const4663     void vkDestroyDeferredOperationKHR( VkDevice device, VkDeferredOperationKHR operation, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4664     {
4665       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
4666     }
4667 
vkGetDeferredOperationMaxConcurrencyKHR(VkDevice device,VkDeferredOperationKHR operation) const4668     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4669     {
4670       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
4671     }
4672 
vkGetDeferredOperationResultKHR(VkDevice device,VkDeferredOperationKHR operation) const4673     VkResult vkGetDeferredOperationResultKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4674     {
4675       return ::vkGetDeferredOperationResultKHR( device, operation );
4676     }
4677 
vkDeferredOperationJoinKHR(VkDevice device,VkDeferredOperationKHR operation) const4678     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
4679     {
4680       return ::vkDeferredOperationJoinKHR( device, operation );
4681     }
4682 
4683     //=== VK_KHR_pipeline_executable_properties ===
4684 
vkGetPipelineExecutablePropertiesKHR(VkDevice device,const VkPipelineInfoKHR * pPipelineInfo,uint32_t * pExecutableCount,VkPipelineExecutablePropertiesKHR * pProperties) const4685     VkResult vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
4686                                                    const VkPipelineInfoKHR *           pPipelineInfo,
4687                                                    uint32_t *                          pExecutableCount,
4688                                                    VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
4689     {
4690       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
4691     }
4692 
vkGetPipelineExecutableStatisticsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pStatisticCount,VkPipelineExecutableStatisticKHR * pStatistics) const4693     VkResult vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
4694                                                    const VkPipelineExecutableInfoKHR * pExecutableInfo,
4695                                                    uint32_t *                          pStatisticCount,
4696                                                    VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
4697     {
4698       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
4699     }
4700 
4701     VkResult
vkGetPipelineExecutableInternalRepresentationsKHR(VkDevice device,const VkPipelineExecutableInfoKHR * pExecutableInfo,uint32_t * pInternalRepresentationCount,VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations) const4702       vkGetPipelineExecutableInternalRepresentationsKHR( VkDevice                                        device,
4703                                                          const VkPipelineExecutableInfoKHR *             pExecutableInfo,
4704                                                          uint32_t *                                      pInternalRepresentationCount,
4705                                                          VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
4706     {
4707       return ::vkGetPipelineExecutableInternalRepresentationsKHR( device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
4708     }
4709 
4710     //=== VK_EXT_host_image_copy ===
4711 
vkCopyMemoryToImageEXT(VkDevice device,const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo) const4712     VkResult vkCopyMemoryToImageEXT( VkDevice device, const VkCopyMemoryToImageInfo * pCopyMemoryToImageInfo ) const VULKAN_HPP_NOEXCEPT
4713     {
4714       return ::vkCopyMemoryToImageEXT( device, pCopyMemoryToImageInfo );
4715     }
4716 
vkCopyImageToMemoryEXT(VkDevice device,const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo) const4717     VkResult vkCopyImageToMemoryEXT( VkDevice device, const VkCopyImageToMemoryInfo * pCopyImageToMemoryInfo ) const VULKAN_HPP_NOEXCEPT
4718     {
4719       return ::vkCopyImageToMemoryEXT( device, pCopyImageToMemoryInfo );
4720     }
4721 
vkCopyImageToImageEXT(VkDevice device,const VkCopyImageToImageInfo * pCopyImageToImageInfo) const4722     VkResult vkCopyImageToImageEXT( VkDevice device, const VkCopyImageToImageInfo * pCopyImageToImageInfo ) const VULKAN_HPP_NOEXCEPT
4723     {
4724       return ::vkCopyImageToImageEXT( device, pCopyImageToImageInfo );
4725     }
4726 
4727     VkResult
vkTransitionImageLayoutEXT(VkDevice device,uint32_t transitionCount,const VkHostImageLayoutTransitionInfo * pTransitions) const4728       vkTransitionImageLayoutEXT( VkDevice device, uint32_t transitionCount, const VkHostImageLayoutTransitionInfo * pTransitions ) const VULKAN_HPP_NOEXCEPT
4729     {
4730       return ::vkTransitionImageLayoutEXT( device, transitionCount, pTransitions );
4731     }
4732 
vkGetImageSubresourceLayout2EXT(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const4733     void vkGetImageSubresourceLayout2EXT( VkDevice                    device,
4734                                           VkImage                     image,
4735                                           const VkImageSubresource2 * pSubresource,
4736                                           VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
4737     {
4738       return ::vkGetImageSubresourceLayout2EXT( device, image, pSubresource, pLayout );
4739     }
4740 
4741     //=== VK_KHR_map_memory2 ===
4742 
vkMapMemory2KHR(VkDevice device,const VkMemoryMapInfo * pMemoryMapInfo,void ** ppData) const4743     VkResult vkMapMemory2KHR( VkDevice device, const VkMemoryMapInfo * pMemoryMapInfo, void ** ppData ) const VULKAN_HPP_NOEXCEPT
4744     {
4745       return ::vkMapMemory2KHR( device, pMemoryMapInfo, ppData );
4746     }
4747 
vkUnmapMemory2KHR(VkDevice device,const VkMemoryUnmapInfo * pMemoryUnmapInfo) const4748     VkResult vkUnmapMemory2KHR( VkDevice device, const VkMemoryUnmapInfo * pMemoryUnmapInfo ) const VULKAN_HPP_NOEXCEPT
4749     {
4750       return ::vkUnmapMemory2KHR( device, pMemoryUnmapInfo );
4751     }
4752 
4753     //=== VK_EXT_swapchain_maintenance1 ===
4754 
vkReleaseSwapchainImagesEXT(VkDevice device,const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo) const4755     VkResult vkReleaseSwapchainImagesEXT( VkDevice device, const VkReleaseSwapchainImagesInfoEXT * pReleaseInfo ) const VULKAN_HPP_NOEXCEPT
4756     {
4757       return ::vkReleaseSwapchainImagesEXT( device, pReleaseInfo );
4758     }
4759 
4760     //=== VK_NV_device_generated_commands ===
4761 
vkGetGeneratedCommandsMemoryRequirementsNV(VkDevice device,const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const4762     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
4763                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
4764                                                      VkMemoryRequirements2 *                             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
4765     {
4766       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
4767     }
4768 
vkCmdPreprocessGeneratedCommandsNV(VkCommandBuffer commandBuffer,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4769     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer commandBuffer, const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4770     {
4771       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
4772     }
4773 
vkCmdExecuteGeneratedCommandsNV(VkCommandBuffer commandBuffer,VkBool32 isPreprocessed,const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo) const4774     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
4775                                           VkBool32                          isPreprocessed,
4776                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const VULKAN_HPP_NOEXCEPT
4777     {
4778       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
4779     }
4780 
vkCmdBindPipelineShaderGroupNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline,uint32_t groupIndex) const4781     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
4782                                          VkPipelineBindPoint pipelineBindPoint,
4783                                          VkPipeline          pipeline,
4784                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
4785     {
4786       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
4787     }
4788 
vkCreateIndirectCommandsLayoutNV(VkDevice device,const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkIndirectCommandsLayoutNV * pIndirectCommandsLayout) const4789     VkResult vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
4790                                                const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
4791                                                const VkAllocationCallbacks *                pAllocator,
4792                                                VkIndirectCommandsLayoutNV *                 pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
4793     {
4794       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
4795     }
4796 
vkDestroyIndirectCommandsLayoutNV(VkDevice device,VkIndirectCommandsLayoutNV indirectCommandsLayout,const VkAllocationCallbacks * pAllocator) const4797     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
4798                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
4799                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4800     {
4801       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
4802     }
4803 
4804     //=== VK_EXT_depth_bias_control ===
4805 
vkCmdSetDepthBias2EXT(VkCommandBuffer commandBuffer,const VkDepthBiasInfoEXT * pDepthBiasInfo) const4806     void vkCmdSetDepthBias2EXT( VkCommandBuffer commandBuffer, const VkDepthBiasInfoEXT * pDepthBiasInfo ) const VULKAN_HPP_NOEXCEPT
4807     {
4808       return ::vkCmdSetDepthBias2EXT( commandBuffer, pDepthBiasInfo );
4809     }
4810 
4811     //=== VK_EXT_acquire_drm_display ===
4812 
vkAcquireDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,VkDisplayKHR display) const4813     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
4814     {
4815       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
4816     }
4817 
vkGetDrmDisplayEXT(VkPhysicalDevice physicalDevice,int32_t drmFd,uint32_t connectorId,VkDisplayKHR * display) const4818     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice, int32_t drmFd, uint32_t connectorId, VkDisplayKHR * display ) const VULKAN_HPP_NOEXCEPT
4819     {
4820       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
4821     }
4822 
4823     //=== VK_EXT_private_data ===
4824 
vkCreatePrivateDataSlotEXT(VkDevice device,const VkPrivateDataSlotCreateInfo * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPrivateDataSlot * pPrivateDataSlot) const4825     VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
4826                                          const VkPrivateDataSlotCreateInfo * pCreateInfo,
4827                                          const VkAllocationCallbacks *       pAllocator,
4828                                          VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
4829     {
4830       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
4831     }
4832 
vkDestroyPrivateDataSlotEXT(VkDevice device,VkPrivateDataSlot privateDataSlot,const VkAllocationCallbacks * pAllocator) const4833     void vkDestroyPrivateDataSlotEXT( VkDevice device, VkPrivateDataSlot privateDataSlot, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4834     {
4835       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
4836     }
4837 
vkSetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t data) const4838     VkResult vkSetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) const
4839       VULKAN_HPP_NOEXCEPT
4840     {
4841       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
4842     }
4843 
vkGetPrivateDataEXT(VkDevice device,VkObjectType objectType,uint64_t objectHandle,VkPrivateDataSlot privateDataSlot,uint64_t * pData) const4844     void vkGetPrivateDataEXT( VkDevice device, VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t * pData ) const
4845       VULKAN_HPP_NOEXCEPT
4846     {
4847       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
4848     }
4849 
4850     //=== VK_KHR_video_encode_queue ===
4851 
4852     VkResult
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(VkPhysicalDevice physicalDevice,const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties) const4853       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( VkPhysicalDevice                                       physicalDevice,
4854                                                                const VkPhysicalDeviceVideoEncodeQualityLevelInfoKHR * pQualityLevelInfo,
4855                                                                VkVideoEncodeQualityLevelPropertiesKHR * pQualityLevelProperties ) const VULKAN_HPP_NOEXCEPT
4856     {
4857       return ::vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR( physicalDevice, pQualityLevelInfo, pQualityLevelProperties );
4858     }
4859 
vkGetEncodedVideoSessionParametersKHR(VkDevice device,const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,VkVideoEncodeSessionParametersFeedbackInfoKHR * pFeedbackInfo,size_t * pDataSize,void * pData) const4860     VkResult vkGetEncodedVideoSessionParametersKHR( VkDevice                                         device,
4861                                                     const VkVideoEncodeSessionParametersGetInfoKHR * pVideoSessionParametersInfo,
4862                                                     VkVideoEncodeSessionParametersFeedbackInfoKHR *  pFeedbackInfo,
4863                                                     size_t *                                         pDataSize,
4864                                                     void *                                           pData ) const VULKAN_HPP_NOEXCEPT
4865     {
4866       return ::vkGetEncodedVideoSessionParametersKHR( device, pVideoSessionParametersInfo, pFeedbackInfo, pDataSize, pData );
4867     }
4868 
vkCmdEncodeVideoKHR(VkCommandBuffer commandBuffer,const VkVideoEncodeInfoKHR * pEncodeInfo) const4869     void vkCmdEncodeVideoKHR( VkCommandBuffer commandBuffer, const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
4870     {
4871       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
4872     }
4873 
4874 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
4875     //=== VK_NV_cuda_kernel_launch ===
4876 
vkCreateCudaModuleNV(VkDevice device,const VkCudaModuleCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaModuleNV * pModule) const4877     VkResult vkCreateCudaModuleNV( VkDevice                         device,
4878                                    const VkCudaModuleCreateInfoNV * pCreateInfo,
4879                                    const VkAllocationCallbacks *    pAllocator,
4880                                    VkCudaModuleNV *                 pModule ) const VULKAN_HPP_NOEXCEPT
4881     {
4882       return ::vkCreateCudaModuleNV( device, pCreateInfo, pAllocator, pModule );
4883     }
4884 
vkGetCudaModuleCacheNV(VkDevice device,VkCudaModuleNV module,size_t * pCacheSize,void * pCacheData) const4885     VkResult vkGetCudaModuleCacheNV( VkDevice device, VkCudaModuleNV module, size_t * pCacheSize, void * pCacheData ) const VULKAN_HPP_NOEXCEPT
4886     {
4887       return ::vkGetCudaModuleCacheNV( device, module, pCacheSize, pCacheData );
4888     }
4889 
vkCreateCudaFunctionNV(VkDevice device,const VkCudaFunctionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkCudaFunctionNV * pFunction) const4890     VkResult vkCreateCudaFunctionNV( VkDevice                           device,
4891                                      const VkCudaFunctionCreateInfoNV * pCreateInfo,
4892                                      const VkAllocationCallbacks *      pAllocator,
4893                                      VkCudaFunctionNV *                 pFunction ) const VULKAN_HPP_NOEXCEPT
4894     {
4895       return ::vkCreateCudaFunctionNV( device, pCreateInfo, pAllocator, pFunction );
4896     }
4897 
vkDestroyCudaModuleNV(VkDevice device,VkCudaModuleNV module,const VkAllocationCallbacks * pAllocator) const4898     void vkDestroyCudaModuleNV( VkDevice device, VkCudaModuleNV module, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4899     {
4900       return ::vkDestroyCudaModuleNV( device, module, pAllocator );
4901     }
4902 
vkDestroyCudaFunctionNV(VkDevice device,VkCudaFunctionNV function,const VkAllocationCallbacks * pAllocator) const4903     void vkDestroyCudaFunctionNV( VkDevice device, VkCudaFunctionNV function, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
4904     {
4905       return ::vkDestroyCudaFunctionNV( device, function, pAllocator );
4906     }
4907 
vkCmdCudaLaunchKernelNV(VkCommandBuffer commandBuffer,const VkCudaLaunchInfoNV * pLaunchInfo) const4908     void vkCmdCudaLaunchKernelNV( VkCommandBuffer commandBuffer, const VkCudaLaunchInfoNV * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
4909     {
4910       return ::vkCmdCudaLaunchKernelNV( commandBuffer, pLaunchInfo );
4911     }
4912 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
4913 
4914 #  if defined( VK_USE_PLATFORM_METAL_EXT )
4915     //=== VK_EXT_metal_objects ===
4916 
vkExportMetalObjectsEXT(VkDevice device,VkExportMetalObjectsInfoEXT * pMetalObjectsInfo) const4917     void vkExportMetalObjectsEXT( VkDevice device, VkExportMetalObjectsInfoEXT * pMetalObjectsInfo ) const VULKAN_HPP_NOEXCEPT
4918     {
4919       return ::vkExportMetalObjectsEXT( device, pMetalObjectsInfo );
4920     }
4921 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
4922 
4923     //=== VK_KHR_synchronization2 ===
4924 
vkCmdSetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,const VkDependencyInfo * pDependencyInfo) const4925     void vkCmdSetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4926     {
4927       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
4928     }
4929 
vkCmdResetEvent2KHR(VkCommandBuffer commandBuffer,VkEvent event,VkPipelineStageFlags2 stageMask) const4930     void vkCmdResetEvent2KHR( VkCommandBuffer commandBuffer, VkEvent event, VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
4931     {
4932       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
4933     }
4934 
vkCmdWaitEvents2KHR(VkCommandBuffer commandBuffer,uint32_t eventCount,const VkEvent * pEvents,const VkDependencyInfo * pDependencyInfos) const4935     void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
4936                               uint32_t                 eventCount,
4937                               const VkEvent *          pEvents,
4938                               const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
4939     {
4940       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
4941     }
4942 
vkCmdPipelineBarrier2KHR(VkCommandBuffer commandBuffer,const VkDependencyInfo * pDependencyInfo) const4943     void vkCmdPipelineBarrier2KHR( VkCommandBuffer commandBuffer, const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
4944     {
4945       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
4946     }
4947 
vkCmdWriteTimestamp2KHR(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkQueryPool queryPool,uint32_t query) const4948     void vkCmdWriteTimestamp2KHR( VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
4949     {
4950       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
4951     }
4952 
vkQueueSubmit2KHR(VkQueue queue,uint32_t submitCount,const VkSubmitInfo2 * pSubmits,VkFence fence) const4953     VkResult vkQueueSubmit2KHR( VkQueue queue, uint32_t submitCount, const VkSubmitInfo2 * pSubmits, VkFence fence ) const VULKAN_HPP_NOEXCEPT
4954     {
4955       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
4956     }
4957 
vkCmdWriteBufferMarker2AMD(VkCommandBuffer commandBuffer,VkPipelineStageFlags2 stage,VkBuffer dstBuffer,VkDeviceSize dstOffset,uint32_t marker) const4958     void vkCmdWriteBufferMarker2AMD(
4959       VkCommandBuffer commandBuffer, VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) const VULKAN_HPP_NOEXCEPT
4960     {
4961       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
4962     }
4963 
vkGetQueueCheckpointData2NV(VkQueue queue,uint32_t * pCheckpointDataCount,VkCheckpointData2NV * pCheckpointData) const4964     void vkGetQueueCheckpointData2NV( VkQueue queue, uint32_t * pCheckpointDataCount, VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
4965     {
4966       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
4967     }
4968 
4969     //=== VK_EXT_descriptor_buffer ===
4970 
vkGetDescriptorSetLayoutSizeEXT(VkDevice device,VkDescriptorSetLayout layout,VkDeviceSize * pLayoutSizeInBytes) const4971     void vkGetDescriptorSetLayoutSizeEXT( VkDevice device, VkDescriptorSetLayout layout, VkDeviceSize * pLayoutSizeInBytes ) const VULKAN_HPP_NOEXCEPT
4972     {
4973       return ::vkGetDescriptorSetLayoutSizeEXT( device, layout, pLayoutSizeInBytes );
4974     }
4975 
vkGetDescriptorSetLayoutBindingOffsetEXT(VkDevice device,VkDescriptorSetLayout layout,uint32_t binding,VkDeviceSize * pOffset) const4976     void vkGetDescriptorSetLayoutBindingOffsetEXT( VkDevice              device,
4977                                                    VkDescriptorSetLayout layout,
4978                                                    uint32_t              binding,
4979                                                    VkDeviceSize *        pOffset ) const VULKAN_HPP_NOEXCEPT
4980     {
4981       return ::vkGetDescriptorSetLayoutBindingOffsetEXT( device, layout, binding, pOffset );
4982     }
4983 
vkGetDescriptorEXT(VkDevice device,const VkDescriptorGetInfoEXT * pDescriptorInfo,size_t dataSize,void * pDescriptor) const4984     void vkGetDescriptorEXT( VkDevice device, const VkDescriptorGetInfoEXT * pDescriptorInfo, size_t dataSize, void * pDescriptor ) const VULKAN_HPP_NOEXCEPT
4985     {
4986       return ::vkGetDescriptorEXT( device, pDescriptorInfo, dataSize, pDescriptor );
4987     }
4988 
vkCmdBindDescriptorBuffersEXT(VkCommandBuffer commandBuffer,uint32_t bufferCount,const VkDescriptorBufferBindingInfoEXT * pBindingInfos) const4989     void vkCmdBindDescriptorBuffersEXT( VkCommandBuffer                          commandBuffer,
4990                                         uint32_t                                 bufferCount,
4991                                         const VkDescriptorBufferBindingInfoEXT * pBindingInfos ) const VULKAN_HPP_NOEXCEPT
4992     {
4993       return ::vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos );
4994     }
4995 
vkCmdSetDescriptorBufferOffsetsEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t firstSet,uint32_t setCount,const uint32_t * pBufferIndices,const VkDeviceSize * pOffsets) const4996     void vkCmdSetDescriptorBufferOffsetsEXT( VkCommandBuffer      commandBuffer,
4997                                              VkPipelineBindPoint  pipelineBindPoint,
4998                                              VkPipelineLayout     layout,
4999                                              uint32_t             firstSet,
5000                                              uint32_t             setCount,
5001                                              const uint32_t *     pBufferIndices,
5002                                              const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
5003     {
5004       return ::vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets );
5005     }
5006 
vkCmdBindDescriptorBufferEmbeddedSamplersEXT(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipelineLayout layout,uint32_t set) const5007     void vkCmdBindDescriptorBufferEmbeddedSamplersEXT( VkCommandBuffer     commandBuffer,
5008                                                        VkPipelineBindPoint pipelineBindPoint,
5009                                                        VkPipelineLayout    layout,
5010                                                        uint32_t            set ) const VULKAN_HPP_NOEXCEPT
5011     {
5012       return ::vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set );
5013     }
5014 
5015     VkResult
vkGetBufferOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkBufferCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5016       vkGetBufferOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkBufferCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5017     {
5018       return ::vkGetBufferOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5019     }
5020 
5021     VkResult
vkGetImageOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5022       vkGetImageOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkImageCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5023     {
5024       return ::vkGetImageOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5025     }
5026 
vkGetImageViewOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5027     VkResult vkGetImageViewOpaqueCaptureDescriptorDataEXT( VkDevice                                        device,
5028                                                            const VkImageViewCaptureDescriptorDataInfoEXT * pInfo,
5029                                                            void *                                          pData ) const VULKAN_HPP_NOEXCEPT
5030     {
5031       return ::vkGetImageViewOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5032     }
5033 
5034     VkResult
vkGetSamplerOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkSamplerCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5035       vkGetSamplerOpaqueCaptureDescriptorDataEXT( VkDevice device, const VkSamplerCaptureDescriptorDataInfoEXT * pInfo, void * pData ) const VULKAN_HPP_NOEXCEPT
5036     {
5037       return ::vkGetSamplerOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5038     }
5039 
vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(VkDevice device,const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,void * pData) const5040     VkResult vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( VkDevice                                                    device,
5041                                                                        const VkAccelerationStructureCaptureDescriptorDataInfoEXT * pInfo,
5042                                                                        void * pData ) const VULKAN_HPP_NOEXCEPT
5043     {
5044       return ::vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( device, pInfo, pData );
5045     }
5046 
5047     //=== VK_NV_fragment_shading_rate_enums ===
5048 
vkCmdSetFragmentShadingRateEnumNV(VkCommandBuffer commandBuffer,VkFragmentShadingRateNV shadingRate,const VkFragmentShadingRateCombinerOpKHR combinerOps[2]) const5049     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
5050                                             VkFragmentShadingRateNV                  shadingRate,
5051                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const VULKAN_HPP_NOEXCEPT
5052     {
5053       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
5054     }
5055 
5056     //=== VK_EXT_mesh_shader ===
5057 
vkCmdDrawMeshTasksEXT(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5058     void vkCmdDrawMeshTasksEXT( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5059     {
5060       return ::vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ );
5061     }
5062 
vkCmdDrawMeshTasksIndirectEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,uint32_t drawCount,uint32_t stride) const5063     void vkCmdDrawMeshTasksIndirectEXT( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) const
5064       VULKAN_HPP_NOEXCEPT
5065     {
5066       return ::vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride );
5067     }
5068 
vkCmdDrawMeshTasksIndirectCountEXT(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkBuffer countBuffer,VkDeviceSize countBufferOffset,uint32_t maxDrawCount,uint32_t stride) const5069     void vkCmdDrawMeshTasksIndirectCountEXT( VkCommandBuffer commandBuffer,
5070                                              VkBuffer        buffer,
5071                                              VkDeviceSize    offset,
5072                                              VkBuffer        countBuffer,
5073                                              VkDeviceSize    countBufferOffset,
5074                                              uint32_t        maxDrawCount,
5075                                              uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5076     {
5077       return ::vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
5078     }
5079 
5080     //=== VK_KHR_copy_commands2 ===
5081 
vkCmdCopyBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferInfo2 * pCopyBufferInfo) const5082     void vkCmdCopyBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
5083     {
5084       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
5085     }
5086 
vkCmdCopyImage2KHR(VkCommandBuffer commandBuffer,const VkCopyImageInfo2 * pCopyImageInfo) const5087     void vkCmdCopyImage2KHR( VkCommandBuffer commandBuffer, const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
5088     {
5089       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
5090     }
5091 
vkCmdCopyBufferToImage2KHR(VkCommandBuffer commandBuffer,const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo) const5092     void vkCmdCopyBufferToImage2KHR( VkCommandBuffer commandBuffer, const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
5093     {
5094       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
5095     }
5096 
vkCmdCopyImageToBuffer2KHR(VkCommandBuffer commandBuffer,const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo) const5097     void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer commandBuffer, const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
5098     {
5099       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
5100     }
5101 
vkCmdBlitImage2KHR(VkCommandBuffer commandBuffer,const VkBlitImageInfo2 * pBlitImageInfo) const5102     void vkCmdBlitImage2KHR( VkCommandBuffer commandBuffer, const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
5103     {
5104       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
5105     }
5106 
vkCmdResolveImage2KHR(VkCommandBuffer commandBuffer,const VkResolveImageInfo2 * pResolveImageInfo) const5107     void vkCmdResolveImage2KHR( VkCommandBuffer commandBuffer, const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
5108     {
5109       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
5110     }
5111 
5112     //=== VK_EXT_device_fault ===
5113 
vkGetDeviceFaultInfoEXT(VkDevice device,VkDeviceFaultCountsEXT * pFaultCounts,VkDeviceFaultInfoEXT * pFaultInfo) const5114     VkResult vkGetDeviceFaultInfoEXT( VkDevice device, VkDeviceFaultCountsEXT * pFaultCounts, VkDeviceFaultInfoEXT * pFaultInfo ) const VULKAN_HPP_NOEXCEPT
5115     {
5116       return ::vkGetDeviceFaultInfoEXT( device, pFaultCounts, pFaultInfo );
5117     }
5118 
5119 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
5120     //=== VK_NV_acquire_winrt_display ===
5121 
vkAcquireWinrtDisplayNV(VkPhysicalDevice physicalDevice,VkDisplayKHR display) const5122     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
5123     {
5124       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
5125     }
5126 
vkGetWinrtDisplayNV(VkPhysicalDevice physicalDevice,uint32_t deviceRelativeId,VkDisplayKHR * pDisplay) const5127     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice, uint32_t deviceRelativeId, VkDisplayKHR * pDisplay ) const VULKAN_HPP_NOEXCEPT
5128     {
5129       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
5130     }
5131 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
5132 
5133 #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
5134     //=== VK_EXT_directfb_surface ===
5135 
vkCreateDirectFBSurfaceEXT(VkInstance instance,const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5136     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
5137                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
5138                                          const VkAllocationCallbacks *          pAllocator,
5139                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
5140     {
5141       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
5142     }
5143 
5144     VkBool32
vkGetPhysicalDeviceDirectFBPresentationSupportEXT(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,IDirectFB * dfb) const5145       vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice, uint32_t queueFamilyIndex, IDirectFB * dfb ) const VULKAN_HPP_NOEXCEPT
5146     {
5147       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
5148     }
5149 #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
5150 
5151     //=== VK_EXT_vertex_input_dynamic_state ===
5152 
vkCmdSetVertexInputEXT(VkCommandBuffer commandBuffer,uint32_t vertexBindingDescriptionCount,const VkVertexInputBindingDescription2EXT * pVertexBindingDescriptions,uint32_t vertexAttributeDescriptionCount,const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions) const5153     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
5154                                  uint32_t                                      vertexBindingDescriptionCount,
5155                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
5156                                  uint32_t                                      vertexAttributeDescriptionCount,
5157                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const VULKAN_HPP_NOEXCEPT
5158     {
5159       return ::vkCmdSetVertexInputEXT(
5160         commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions );
5161     }
5162 
5163 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5164     //=== VK_FUCHSIA_external_memory ===
5165 
vkGetMemoryZirconHandleFUCHSIA(VkDevice device,const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5166     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
5167                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5168                                              zx_handle_t *                              pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5169     {
5170       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5171     }
5172 
vkGetMemoryZirconHandlePropertiesFUCHSIA(VkDevice device,VkExternalMemoryHandleTypeFlagBits handleType,zx_handle_t zirconHandle,VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties) const5173     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA( VkDevice                                device,
5174                                                        VkExternalMemoryHandleTypeFlagBits      handleType,
5175                                                        zx_handle_t                             zirconHandle,
5176                                                        VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
5177     {
5178       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA( device, handleType, zirconHandle, pMemoryZirconHandleProperties );
5179     }
5180 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5181 
5182 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5183     //=== VK_FUCHSIA_external_semaphore ===
5184 
vkImportSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo) const5185     VkResult vkImportSemaphoreZirconHandleFUCHSIA( VkDevice                                         device,
5186                                                    const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
5187     {
5188       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
5189     }
5190 
vkGetSemaphoreZirconHandleFUCHSIA(VkDevice device,const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,zx_handle_t * pZirconHandle) const5191     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
5192                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
5193                                                 zx_handle_t *                                 pZirconHandle ) const VULKAN_HPP_NOEXCEPT
5194     {
5195       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
5196     }
5197 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5198 
5199 #  if defined( VK_USE_PLATFORM_FUCHSIA )
5200     //=== VK_FUCHSIA_buffer_collection ===
5201 
vkCreateBufferCollectionFUCHSIA(VkDevice device,const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkBufferCollectionFUCHSIA * pCollection) const5202     VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
5203                                               const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
5204                                               const VkAllocationCallbacks *               pAllocator,
5205                                               VkBufferCollectionFUCHSIA *                 pCollection ) const VULKAN_HPP_NOEXCEPT
5206     {
5207       return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
5208     }
5209 
vkSetBufferCollectionImageConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo) const5210     VkResult vkSetBufferCollectionImageConstraintsFUCHSIA( VkDevice                              device,
5211                                                            VkBufferCollectionFUCHSIA             collection,
5212                                                            const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5213     {
5214       return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
5215     }
5216 
vkSetBufferCollectionBufferConstraintsFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo) const5217     VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA( VkDevice                               device,
5218                                                             VkBufferCollectionFUCHSIA              collection,
5219                                                             const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
5220     {
5221       return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
5222     }
5223 
vkDestroyBufferCollectionFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,const VkAllocationCallbacks * pAllocator) const5224     void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
5225                                            VkBufferCollectionFUCHSIA     collection,
5226                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5227     {
5228       return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
5229     }
5230 
vkGetBufferCollectionPropertiesFUCHSIA(VkDevice device,VkBufferCollectionFUCHSIA collection,VkBufferCollectionPropertiesFUCHSIA * pProperties) const5231     VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
5232                                                      VkBufferCollectionFUCHSIA             collection,
5233                                                      VkBufferCollectionPropertiesFUCHSIA * pProperties ) const VULKAN_HPP_NOEXCEPT
5234     {
5235       return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
5236     }
5237 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
5238 
5239     //=== VK_HUAWEI_subpass_shading ===
5240 
5241     VkResult
vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(VkDevice device,VkRenderPass renderpass,VkExtent2D * pMaxWorkgroupSize) const5242       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice device, VkRenderPass renderpass, VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
5243     {
5244       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
5245     }
5246 
vkCmdSubpassShadingHUAWEI(VkCommandBuffer commandBuffer) const5247     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
5248     {
5249       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
5250     }
5251 
5252     //=== VK_HUAWEI_invocation_mask ===
5253 
vkCmdBindInvocationMaskHUAWEI(VkCommandBuffer commandBuffer,VkImageView imageView,VkImageLayout imageLayout) const5254     void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer, VkImageView imageView, VkImageLayout imageLayout ) const VULKAN_HPP_NOEXCEPT
5255     {
5256       return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
5257     }
5258 
5259     //=== VK_NV_external_memory_rdma ===
5260 
vkGetMemoryRemoteAddressNV(VkDevice device,const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,VkRemoteAddressNV * pAddress) const5261     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
5262                                          const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
5263                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
5264     {
5265       return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
5266     }
5267 
5268     //=== VK_EXT_pipeline_properties ===
5269 
5270     VkResult
vkGetPipelinePropertiesEXT(VkDevice device,const VkPipelineInfoEXT * pPipelineInfo,VkBaseOutStructure * pPipelineProperties) const5271       vkGetPipelinePropertiesEXT( VkDevice device, const VkPipelineInfoEXT * pPipelineInfo, VkBaseOutStructure * pPipelineProperties ) const VULKAN_HPP_NOEXCEPT
5272     {
5273       return ::vkGetPipelinePropertiesEXT( device, pPipelineInfo, pPipelineProperties );
5274     }
5275 
5276     //=== VK_EXT_extended_dynamic_state2 ===
5277 
vkCmdSetPatchControlPointsEXT(VkCommandBuffer commandBuffer,uint32_t patchControlPoints) const5278     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer, uint32_t patchControlPoints ) const VULKAN_HPP_NOEXCEPT
5279     {
5280       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
5281     }
5282 
vkCmdSetRasterizerDiscardEnableEXT(VkCommandBuffer commandBuffer,VkBool32 rasterizerDiscardEnable) const5283     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer, VkBool32 rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
5284     {
5285       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
5286     }
5287 
vkCmdSetDepthBiasEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthBiasEnable) const5288     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
5289     {
5290       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
5291     }
5292 
vkCmdSetLogicOpEXT(VkCommandBuffer commandBuffer,VkLogicOp logicOp) const5293     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
5294     {
5295       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
5296     }
5297 
vkCmdSetPrimitiveRestartEnableEXT(VkCommandBuffer commandBuffer,VkBool32 primitiveRestartEnable) const5298     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer, VkBool32 primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
5299     {
5300       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
5301     }
5302 
5303 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5304     //=== VK_QNX_screen_surface ===
5305 
vkCreateScreenSurfaceQNX(VkInstance instance,const VkScreenSurfaceCreateInfoQNX * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkSurfaceKHR * pSurface) const5306     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
5307                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
5308                                        const VkAllocationCallbacks *        pAllocator,
5309                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
5310     {
5311       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
5312     }
5313 
vkGetPhysicalDeviceScreenPresentationSupportQNX(VkPhysicalDevice physicalDevice,uint32_t queueFamilyIndex,struct _screen_window * window) const5314     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
5315                                                               uint32_t                queueFamilyIndex,
5316                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
5317     {
5318       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
5319     }
5320 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5321 
5322     //=== VK_EXT_color_write_enable ===
5323 
vkCmdSetColorWriteEnableEXT(VkCommandBuffer commandBuffer,uint32_t attachmentCount,const VkBool32 * pColorWriteEnables) const5324     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer commandBuffer, uint32_t attachmentCount, const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
5325     {
5326       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
5327     }
5328 
5329     //=== VK_KHR_ray_tracing_maintenance1 ===
5330 
vkCmdTraceRaysIndirect2KHR(VkCommandBuffer commandBuffer,VkDeviceAddress indirectDeviceAddress) const5331     void vkCmdTraceRaysIndirect2KHR( VkCommandBuffer commandBuffer, VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
5332     {
5333       return ::vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress );
5334     }
5335 
5336     //=== VK_EXT_multi_draw ===
5337 
vkCmdDrawMultiEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawInfoEXT * pVertexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride) const5338     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
5339                             uint32_t                   drawCount,
5340                             const VkMultiDrawInfoEXT * pVertexInfo,
5341                             uint32_t                   instanceCount,
5342                             uint32_t                   firstInstance,
5343                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
5344     {
5345       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
5346     }
5347 
vkCmdDrawMultiIndexedEXT(VkCommandBuffer commandBuffer,uint32_t drawCount,const VkMultiDrawIndexedInfoEXT * pIndexInfo,uint32_t instanceCount,uint32_t firstInstance,uint32_t stride,const int32_t * pVertexOffset) const5348     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
5349                                    uint32_t                          drawCount,
5350                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
5351                                    uint32_t                          instanceCount,
5352                                    uint32_t                          firstInstance,
5353                                    uint32_t                          stride,
5354                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
5355     {
5356       return ::vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
5357     }
5358 
5359     //=== VK_EXT_opacity_micromap ===
5360 
vkCreateMicromapEXT(VkDevice device,const VkMicromapCreateInfoEXT * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkMicromapEXT * pMicromap) const5361     VkResult vkCreateMicromapEXT( VkDevice                        device,
5362                                   const VkMicromapCreateInfoEXT * pCreateInfo,
5363                                   const VkAllocationCallbacks *   pAllocator,
5364                                   VkMicromapEXT *                 pMicromap ) const VULKAN_HPP_NOEXCEPT
5365     {
5366       return ::vkCreateMicromapEXT( device, pCreateInfo, pAllocator, pMicromap );
5367     }
5368 
vkDestroyMicromapEXT(VkDevice device,VkMicromapEXT micromap,const VkAllocationCallbacks * pAllocator) const5369     void vkDestroyMicromapEXT( VkDevice device, VkMicromapEXT micromap, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5370     {
5371       return ::vkDestroyMicromapEXT( device, micromap, pAllocator );
5372     }
5373 
vkCmdBuildMicromapsEXT(VkCommandBuffer commandBuffer,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5374     void vkCmdBuildMicromapsEXT( VkCommandBuffer commandBuffer, uint32_t infoCount, const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5375     {
5376       return ::vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos );
5377     }
5378 
vkBuildMicromapsEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,uint32_t infoCount,const VkMicromapBuildInfoEXT * pInfos) const5379     VkResult vkBuildMicromapsEXT( VkDevice                       device,
5380                                   VkDeferredOperationKHR         deferredOperation,
5381                                   uint32_t                       infoCount,
5382                                   const VkMicromapBuildInfoEXT * pInfos ) const VULKAN_HPP_NOEXCEPT
5383     {
5384       return ::vkBuildMicromapsEXT( device, deferredOperation, infoCount, pInfos );
5385     }
5386 
vkCopyMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapInfoEXT * pInfo) const5387     VkResult vkCopyMicromapEXT( VkDevice device, VkDeferredOperationKHR deferredOperation, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5388     {
5389       return ::vkCopyMicromapEXT( device, deferredOperation, pInfo );
5390     }
5391 
vkCopyMicromapToMemoryEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5392     VkResult vkCopyMicromapToMemoryEXT( VkDevice                              device,
5393                                         VkDeferredOperationKHR                deferredOperation,
5394                                         const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5395     {
5396       return ::vkCopyMicromapToMemoryEXT( device, deferredOperation, pInfo );
5397     }
5398 
vkCopyMemoryToMicromapEXT(VkDevice device,VkDeferredOperationKHR deferredOperation,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5399     VkResult vkCopyMemoryToMicromapEXT( VkDevice                              device,
5400                                         VkDeferredOperationKHR                deferredOperation,
5401                                         const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5402     {
5403       return ::vkCopyMemoryToMicromapEXT( device, deferredOperation, pInfo );
5404     }
5405 
vkWriteMicromapsPropertiesEXT(VkDevice device,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,size_t dataSize,void * pData,size_t stride) const5406     VkResult vkWriteMicromapsPropertiesEXT( VkDevice              device,
5407                                             uint32_t              micromapCount,
5408                                             const VkMicromapEXT * pMicromaps,
5409                                             VkQueryType           queryType,
5410                                             size_t                dataSize,
5411                                             void *                pData,
5412                                             size_t                stride ) const VULKAN_HPP_NOEXCEPT
5413     {
5414       return ::vkWriteMicromapsPropertiesEXT( device, micromapCount, pMicromaps, queryType, dataSize, pData, stride );
5415     }
5416 
vkCmdCopyMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapInfoEXT * pInfo) const5417     void vkCmdCopyMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5418     {
5419       return ::vkCmdCopyMicromapEXT( commandBuffer, pInfo );
5420     }
5421 
vkCmdCopyMicromapToMemoryEXT(VkCommandBuffer commandBuffer,const VkCopyMicromapToMemoryInfoEXT * pInfo) const5422     void vkCmdCopyMicromapToMemoryEXT( VkCommandBuffer commandBuffer, const VkCopyMicromapToMemoryInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5423     {
5424       return ::vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo );
5425     }
5426 
vkCmdCopyMemoryToMicromapEXT(VkCommandBuffer commandBuffer,const VkCopyMemoryToMicromapInfoEXT * pInfo) const5427     void vkCmdCopyMemoryToMicromapEXT( VkCommandBuffer commandBuffer, const VkCopyMemoryToMicromapInfoEXT * pInfo ) const VULKAN_HPP_NOEXCEPT
5428     {
5429       return ::vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo );
5430     }
5431 
vkCmdWriteMicromapsPropertiesEXT(VkCommandBuffer commandBuffer,uint32_t micromapCount,const VkMicromapEXT * pMicromaps,VkQueryType queryType,VkQueryPool queryPool,uint32_t firstQuery) const5432     void vkCmdWriteMicromapsPropertiesEXT( VkCommandBuffer       commandBuffer,
5433                                            uint32_t              micromapCount,
5434                                            const VkMicromapEXT * pMicromaps,
5435                                            VkQueryType           queryType,
5436                                            VkQueryPool           queryPool,
5437                                            uint32_t              firstQuery ) const VULKAN_HPP_NOEXCEPT
5438     {
5439       return ::vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery );
5440     }
5441 
vkGetDeviceMicromapCompatibilityEXT(VkDevice device,const VkMicromapVersionInfoEXT * pVersionInfo,VkAccelerationStructureCompatibilityKHR * pCompatibility) const5442     void vkGetDeviceMicromapCompatibilityEXT( VkDevice                                  device,
5443                                               const VkMicromapVersionInfoEXT *          pVersionInfo,
5444                                               VkAccelerationStructureCompatibilityKHR * pCompatibility ) const VULKAN_HPP_NOEXCEPT
5445     {
5446       return ::vkGetDeviceMicromapCompatibilityEXT( device, pVersionInfo, pCompatibility );
5447     }
5448 
vkGetMicromapBuildSizesEXT(VkDevice device,VkAccelerationStructureBuildTypeKHR buildType,const VkMicromapBuildInfoEXT * pBuildInfo,VkMicromapBuildSizesInfoEXT * pSizeInfo) const5449     void vkGetMicromapBuildSizesEXT( VkDevice                            device,
5450                                      VkAccelerationStructureBuildTypeKHR buildType,
5451                                      const VkMicromapBuildInfoEXT *      pBuildInfo,
5452                                      VkMicromapBuildSizesInfoEXT *       pSizeInfo ) const VULKAN_HPP_NOEXCEPT
5453     {
5454       return ::vkGetMicromapBuildSizesEXT( device, buildType, pBuildInfo, pSizeInfo );
5455     }
5456 
5457     //=== VK_HUAWEI_cluster_culling_shader ===
5458 
vkCmdDrawClusterHUAWEI(VkCommandBuffer commandBuffer,uint32_t groupCountX,uint32_t groupCountY,uint32_t groupCountZ) const5459     void vkCmdDrawClusterHUAWEI( VkCommandBuffer commandBuffer, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) const VULKAN_HPP_NOEXCEPT
5460     {
5461       return ::vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ );
5462     }
5463 
vkCmdDrawClusterIndirectHUAWEI(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset) const5464     void vkCmdDrawClusterIndirectHUAWEI( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset ) const VULKAN_HPP_NOEXCEPT
5465     {
5466       return ::vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset );
5467     }
5468 
5469     //=== VK_EXT_pageable_device_local_memory ===
5470 
vkSetDeviceMemoryPriorityEXT(VkDevice device,VkDeviceMemory memory,float priority) const5471     void vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
5472     {
5473       return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
5474     }
5475 
5476     //=== VK_KHR_maintenance4 ===
5477 
vkGetDeviceBufferMemoryRequirementsKHR(VkDevice device,const VkDeviceBufferMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5478     void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
5479                                                  const VkDeviceBufferMemoryRequirements * pInfo,
5480                                                  VkMemoryRequirements2 *                  pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5481     {
5482       return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5483     }
5484 
vkGetDeviceImageMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,VkMemoryRequirements2 * pMemoryRequirements) const5485     void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
5486                                                 const VkDeviceImageMemoryRequirements * pInfo,
5487                                                 VkMemoryRequirements2 *                 pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5488     {
5489       return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
5490     }
5491 
vkGetDeviceImageSparseMemoryRequirementsKHR(VkDevice device,const VkDeviceImageMemoryRequirements * pInfo,uint32_t * pSparseMemoryRequirementCount,VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements) const5492     void vkGetDeviceImageSparseMemoryRequirementsKHR( VkDevice                                device,
5493                                                       const VkDeviceImageMemoryRequirements * pInfo,
5494                                                       uint32_t *                              pSparseMemoryRequirementCount,
5495                                                       VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5496     {
5497       return ::vkGetDeviceImageSparseMemoryRequirementsKHR( device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
5498     }
5499 
5500     //=== VK_VALVE_descriptor_set_host_mapping ===
5501 
vkGetDescriptorSetLayoutHostMappingInfoVALVE(VkDevice device,const VkDescriptorSetBindingReferenceVALVE * pBindingReference,VkDescriptorSetLayoutHostMappingInfoVALVE * pHostMapping) const5502     void vkGetDescriptorSetLayoutHostMappingInfoVALVE( VkDevice                                     device,
5503                                                        const VkDescriptorSetBindingReferenceVALVE * pBindingReference,
5504                                                        VkDescriptorSetLayoutHostMappingInfoVALVE *  pHostMapping ) const VULKAN_HPP_NOEXCEPT
5505     {
5506       return ::vkGetDescriptorSetLayoutHostMappingInfoVALVE( device, pBindingReference, pHostMapping );
5507     }
5508 
vkGetDescriptorSetHostMappingVALVE(VkDevice device,VkDescriptorSet descriptorSet,void ** ppData) const5509     void vkGetDescriptorSetHostMappingVALVE( VkDevice device, VkDescriptorSet descriptorSet, void ** ppData ) const VULKAN_HPP_NOEXCEPT
5510     {
5511       return ::vkGetDescriptorSetHostMappingVALVE( device, descriptorSet, ppData );
5512     }
5513 
5514     //=== VK_NV_copy_memory_indirect ===
5515 
vkCmdCopyMemoryIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride) const5516     void vkCmdCopyMemoryIndirectNV( VkCommandBuffer commandBuffer,
5517                                     VkDeviceAddress copyBufferAddress,
5518                                     uint32_t        copyCount,
5519                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5520     {
5521       return ::vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride );
5522     }
5523 
vkCmdCopyMemoryToImageIndirectNV(VkCommandBuffer commandBuffer,VkDeviceAddress copyBufferAddress,uint32_t copyCount,uint32_t stride,VkImage dstImage,VkImageLayout dstImageLayout,const VkImageSubresourceLayers * pImageSubresources) const5524     void vkCmdCopyMemoryToImageIndirectNV( VkCommandBuffer                  commandBuffer,
5525                                            VkDeviceAddress                  copyBufferAddress,
5526                                            uint32_t                         copyCount,
5527                                            uint32_t                         stride,
5528                                            VkImage                          dstImage,
5529                                            VkImageLayout                    dstImageLayout,
5530                                            const VkImageSubresourceLayers * pImageSubresources ) const VULKAN_HPP_NOEXCEPT
5531     {
5532       return ::vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources );
5533     }
5534 
5535     //=== VK_NV_memory_decompression ===
5536 
vkCmdDecompressMemoryNV(VkCommandBuffer commandBuffer,uint32_t decompressRegionCount,const VkDecompressMemoryRegionNV * pDecompressMemoryRegions) const5537     void vkCmdDecompressMemoryNV( VkCommandBuffer                    commandBuffer,
5538                                   uint32_t                           decompressRegionCount,
5539                                   const VkDecompressMemoryRegionNV * pDecompressMemoryRegions ) const VULKAN_HPP_NOEXCEPT
5540     {
5541       return ::vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions );
5542     }
5543 
vkCmdDecompressMemoryIndirectCountNV(VkCommandBuffer commandBuffer,VkDeviceAddress indirectCommandsAddress,VkDeviceAddress indirectCommandsCountAddress,uint32_t stride) const5544     void vkCmdDecompressMemoryIndirectCountNV( VkCommandBuffer commandBuffer,
5545                                                VkDeviceAddress indirectCommandsAddress,
5546                                                VkDeviceAddress indirectCommandsCountAddress,
5547                                                uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
5548     {
5549       return ::vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride );
5550     }
5551 
5552     //=== VK_NV_device_generated_commands_compute ===
5553 
vkGetPipelineIndirectMemoryRequirementsNV(VkDevice device,const VkComputePipelineCreateInfo * pCreateInfo,VkMemoryRequirements2 * pMemoryRequirements) const5554     void vkGetPipelineIndirectMemoryRequirementsNV( VkDevice                            device,
5555                                                     const VkComputePipelineCreateInfo * pCreateInfo,
5556                                                     VkMemoryRequirements2 *             pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
5557     {
5558       return ::vkGetPipelineIndirectMemoryRequirementsNV( device, pCreateInfo, pMemoryRequirements );
5559     }
5560 
5561     void
vkCmdUpdatePipelineIndirectBufferNV(VkCommandBuffer commandBuffer,VkPipelineBindPoint pipelineBindPoint,VkPipeline pipeline) const5562       vkCmdUpdatePipelineIndirectBufferNV( VkCommandBuffer commandBuffer, VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) const VULKAN_HPP_NOEXCEPT
5563     {
5564       return ::vkCmdUpdatePipelineIndirectBufferNV( commandBuffer, pipelineBindPoint, pipeline );
5565     }
5566 
vkGetPipelineIndirectDeviceAddressNV(VkDevice device,const VkPipelineIndirectDeviceAddressInfoNV * pInfo) const5567     VkDeviceAddress vkGetPipelineIndirectDeviceAddressNV( VkDevice device, const VkPipelineIndirectDeviceAddressInfoNV * pInfo ) const VULKAN_HPP_NOEXCEPT
5568     {
5569       return ::vkGetPipelineIndirectDeviceAddressNV( device, pInfo );
5570     }
5571 
5572     //=== VK_EXT_extended_dynamic_state3 ===
5573 
vkCmdSetDepthClampEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClampEnable) const5574     void vkCmdSetDepthClampEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClampEnable ) const VULKAN_HPP_NOEXCEPT
5575     {
5576       return ::vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable );
5577     }
5578 
vkCmdSetPolygonModeEXT(VkCommandBuffer commandBuffer,VkPolygonMode polygonMode) const5579     void vkCmdSetPolygonModeEXT( VkCommandBuffer commandBuffer, VkPolygonMode polygonMode ) const VULKAN_HPP_NOEXCEPT
5580     {
5581       return ::vkCmdSetPolygonModeEXT( commandBuffer, polygonMode );
5582     }
5583 
vkCmdSetRasterizationSamplesEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits rasterizationSamples) const5584     void vkCmdSetRasterizationSamplesEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits rasterizationSamples ) const VULKAN_HPP_NOEXCEPT
5585     {
5586       return ::vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples );
5587     }
5588 
vkCmdSetSampleMaskEXT(VkCommandBuffer commandBuffer,VkSampleCountFlagBits samples,const VkSampleMask * pSampleMask) const5589     void vkCmdSetSampleMaskEXT( VkCommandBuffer commandBuffer, VkSampleCountFlagBits samples, const VkSampleMask * pSampleMask ) const VULKAN_HPP_NOEXCEPT
5590     {
5591       return ::vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask );
5592     }
5593 
vkCmdSetAlphaToCoverageEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToCoverageEnable) const5594     void vkCmdSetAlphaToCoverageEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToCoverageEnable ) const VULKAN_HPP_NOEXCEPT
5595     {
5596       return ::vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable );
5597     }
5598 
vkCmdSetAlphaToOneEnableEXT(VkCommandBuffer commandBuffer,VkBool32 alphaToOneEnable) const5599     void vkCmdSetAlphaToOneEnableEXT( VkCommandBuffer commandBuffer, VkBool32 alphaToOneEnable ) const VULKAN_HPP_NOEXCEPT
5600     {
5601       return ::vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable );
5602     }
5603 
vkCmdSetLogicOpEnableEXT(VkCommandBuffer commandBuffer,VkBool32 logicOpEnable) const5604     void vkCmdSetLogicOpEnableEXT( VkCommandBuffer commandBuffer, VkBool32 logicOpEnable ) const VULKAN_HPP_NOEXCEPT
5605     {
5606       return ::vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable );
5607     }
5608 
vkCmdSetColorBlendEnableEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkBool32 * pColorBlendEnables) const5609     void vkCmdSetColorBlendEnableEXT( VkCommandBuffer  commandBuffer,
5610                                       uint32_t         firstAttachment,
5611                                       uint32_t         attachmentCount,
5612                                       const VkBool32 * pColorBlendEnables ) const VULKAN_HPP_NOEXCEPT
5613     {
5614       return ::vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables );
5615     }
5616 
vkCmdSetColorBlendEquationEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendEquationEXT * pColorBlendEquations) const5617     void vkCmdSetColorBlendEquationEXT( VkCommandBuffer                 commandBuffer,
5618                                         uint32_t                        firstAttachment,
5619                                         uint32_t                        attachmentCount,
5620                                         const VkColorBlendEquationEXT * pColorBlendEquations ) const VULKAN_HPP_NOEXCEPT
5621     {
5622       return ::vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations );
5623     }
5624 
vkCmdSetColorWriteMaskEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorComponentFlags * pColorWriteMasks) const5625     void vkCmdSetColorWriteMaskEXT( VkCommandBuffer               commandBuffer,
5626                                     uint32_t                      firstAttachment,
5627                                     uint32_t                      attachmentCount,
5628                                     const VkColorComponentFlags * pColorWriteMasks ) const VULKAN_HPP_NOEXCEPT
5629     {
5630       return ::vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks );
5631     }
5632 
vkCmdSetTessellationDomainOriginEXT(VkCommandBuffer commandBuffer,VkTessellationDomainOrigin domainOrigin) const5633     void vkCmdSetTessellationDomainOriginEXT( VkCommandBuffer commandBuffer, VkTessellationDomainOrigin domainOrigin ) const VULKAN_HPP_NOEXCEPT
5634     {
5635       return ::vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin );
5636     }
5637 
vkCmdSetRasterizationStreamEXT(VkCommandBuffer commandBuffer,uint32_t rasterizationStream) const5638     void vkCmdSetRasterizationStreamEXT( VkCommandBuffer commandBuffer, uint32_t rasterizationStream ) const VULKAN_HPP_NOEXCEPT
5639     {
5640       return ::vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream );
5641     }
5642 
vkCmdSetConservativeRasterizationModeEXT(VkCommandBuffer commandBuffer,VkConservativeRasterizationModeEXT conservativeRasterizationMode) const5643     void vkCmdSetConservativeRasterizationModeEXT( VkCommandBuffer                    commandBuffer,
5644                                                    VkConservativeRasterizationModeEXT conservativeRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5645     {
5646       return ::vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode );
5647     }
5648 
vkCmdSetExtraPrimitiveOverestimationSizeEXT(VkCommandBuffer commandBuffer,float extraPrimitiveOverestimationSize) const5649     void vkCmdSetExtraPrimitiveOverestimationSizeEXT( VkCommandBuffer commandBuffer, float extraPrimitiveOverestimationSize ) const VULKAN_HPP_NOEXCEPT
5650     {
5651       return ::vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize );
5652     }
5653 
vkCmdSetDepthClipEnableEXT(VkCommandBuffer commandBuffer,VkBool32 depthClipEnable) const5654     void vkCmdSetDepthClipEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthClipEnable ) const VULKAN_HPP_NOEXCEPT
5655     {
5656       return ::vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable );
5657     }
5658 
vkCmdSetSampleLocationsEnableEXT(VkCommandBuffer commandBuffer,VkBool32 sampleLocationsEnable) const5659     void vkCmdSetSampleLocationsEnableEXT( VkCommandBuffer commandBuffer, VkBool32 sampleLocationsEnable ) const VULKAN_HPP_NOEXCEPT
5660     {
5661       return ::vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable );
5662     }
5663 
vkCmdSetColorBlendAdvancedEXT(VkCommandBuffer commandBuffer,uint32_t firstAttachment,uint32_t attachmentCount,const VkColorBlendAdvancedEXT * pColorBlendAdvanced) const5664     void vkCmdSetColorBlendAdvancedEXT( VkCommandBuffer                 commandBuffer,
5665                                         uint32_t                        firstAttachment,
5666                                         uint32_t                        attachmentCount,
5667                                         const VkColorBlendAdvancedEXT * pColorBlendAdvanced ) const VULKAN_HPP_NOEXCEPT
5668     {
5669       return ::vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced );
5670     }
5671 
vkCmdSetProvokingVertexModeEXT(VkCommandBuffer commandBuffer,VkProvokingVertexModeEXT provokingVertexMode) const5672     void vkCmdSetProvokingVertexModeEXT( VkCommandBuffer commandBuffer, VkProvokingVertexModeEXT provokingVertexMode ) const VULKAN_HPP_NOEXCEPT
5673     {
5674       return ::vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode );
5675     }
5676 
vkCmdSetLineRasterizationModeEXT(VkCommandBuffer commandBuffer,VkLineRasterizationModeEXT lineRasterizationMode) const5677     void vkCmdSetLineRasterizationModeEXT( VkCommandBuffer commandBuffer, VkLineRasterizationModeEXT lineRasterizationMode ) const VULKAN_HPP_NOEXCEPT
5678     {
5679       return ::vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode );
5680     }
5681 
vkCmdSetLineStippleEnableEXT(VkCommandBuffer commandBuffer,VkBool32 stippledLineEnable) const5682     void vkCmdSetLineStippleEnableEXT( VkCommandBuffer commandBuffer, VkBool32 stippledLineEnable ) const VULKAN_HPP_NOEXCEPT
5683     {
5684       return ::vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable );
5685     }
5686 
vkCmdSetDepthClipNegativeOneToOneEXT(VkCommandBuffer commandBuffer,VkBool32 negativeOneToOne) const5687     void vkCmdSetDepthClipNegativeOneToOneEXT( VkCommandBuffer commandBuffer, VkBool32 negativeOneToOne ) const VULKAN_HPP_NOEXCEPT
5688     {
5689       return ::vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne );
5690     }
5691 
vkCmdSetViewportWScalingEnableNV(VkCommandBuffer commandBuffer,VkBool32 viewportWScalingEnable) const5692     void vkCmdSetViewportWScalingEnableNV( VkCommandBuffer commandBuffer, VkBool32 viewportWScalingEnable ) const VULKAN_HPP_NOEXCEPT
5693     {
5694       return ::vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable );
5695     }
5696 
vkCmdSetViewportSwizzleNV(VkCommandBuffer commandBuffer,uint32_t firstViewport,uint32_t viewportCount,const VkViewportSwizzleNV * pViewportSwizzles) const5697     void vkCmdSetViewportSwizzleNV( VkCommandBuffer             commandBuffer,
5698                                     uint32_t                    firstViewport,
5699                                     uint32_t                    viewportCount,
5700                                     const VkViewportSwizzleNV * pViewportSwizzles ) const VULKAN_HPP_NOEXCEPT
5701     {
5702       return ::vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles );
5703     }
5704 
vkCmdSetCoverageToColorEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageToColorEnable) const5705     void vkCmdSetCoverageToColorEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageToColorEnable ) const VULKAN_HPP_NOEXCEPT
5706     {
5707       return ::vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable );
5708     }
5709 
vkCmdSetCoverageToColorLocationNV(VkCommandBuffer commandBuffer,uint32_t coverageToColorLocation) const5710     void vkCmdSetCoverageToColorLocationNV( VkCommandBuffer commandBuffer, uint32_t coverageToColorLocation ) const VULKAN_HPP_NOEXCEPT
5711     {
5712       return ::vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation );
5713     }
5714 
vkCmdSetCoverageModulationModeNV(VkCommandBuffer commandBuffer,VkCoverageModulationModeNV coverageModulationMode) const5715     void vkCmdSetCoverageModulationModeNV( VkCommandBuffer commandBuffer, VkCoverageModulationModeNV coverageModulationMode ) const VULKAN_HPP_NOEXCEPT
5716     {
5717       return ::vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode );
5718     }
5719 
vkCmdSetCoverageModulationTableEnableNV(VkCommandBuffer commandBuffer,VkBool32 coverageModulationTableEnable) const5720     void vkCmdSetCoverageModulationTableEnableNV( VkCommandBuffer commandBuffer, VkBool32 coverageModulationTableEnable ) const VULKAN_HPP_NOEXCEPT
5721     {
5722       return ::vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable );
5723     }
5724 
vkCmdSetCoverageModulationTableNV(VkCommandBuffer commandBuffer,uint32_t coverageModulationTableCount,const float * pCoverageModulationTable) const5725     void vkCmdSetCoverageModulationTableNV( VkCommandBuffer commandBuffer,
5726                                             uint32_t        coverageModulationTableCount,
5727                                             const float *   pCoverageModulationTable ) const VULKAN_HPP_NOEXCEPT
5728     {
5729       return ::vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable );
5730     }
5731 
vkCmdSetShadingRateImageEnableNV(VkCommandBuffer commandBuffer,VkBool32 shadingRateImageEnable) const5732     void vkCmdSetShadingRateImageEnableNV( VkCommandBuffer commandBuffer, VkBool32 shadingRateImageEnable ) const VULKAN_HPP_NOEXCEPT
5733     {
5734       return ::vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable );
5735     }
5736 
vkCmdSetRepresentativeFragmentTestEnableNV(VkCommandBuffer commandBuffer,VkBool32 representativeFragmentTestEnable) const5737     void vkCmdSetRepresentativeFragmentTestEnableNV( VkCommandBuffer commandBuffer, VkBool32 representativeFragmentTestEnable ) const VULKAN_HPP_NOEXCEPT
5738     {
5739       return ::vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable );
5740     }
5741 
vkCmdSetCoverageReductionModeNV(VkCommandBuffer commandBuffer,VkCoverageReductionModeNV coverageReductionMode) const5742     void vkCmdSetCoverageReductionModeNV( VkCommandBuffer commandBuffer, VkCoverageReductionModeNV coverageReductionMode ) const VULKAN_HPP_NOEXCEPT
5743     {
5744       return ::vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode );
5745     }
5746 
5747     //=== VK_EXT_shader_module_identifier ===
5748 
vkGetShaderModuleIdentifierEXT(VkDevice device,VkShaderModule shaderModule,VkShaderModuleIdentifierEXT * pIdentifier) const5749     void vkGetShaderModuleIdentifierEXT( VkDevice device, VkShaderModule shaderModule, VkShaderModuleIdentifierEXT * pIdentifier ) const VULKAN_HPP_NOEXCEPT
5750     {
5751       return ::vkGetShaderModuleIdentifierEXT( device, shaderModule, pIdentifier );
5752     }
5753 
vkGetShaderModuleCreateInfoIdentifierEXT(VkDevice device,const VkShaderModuleCreateInfo * pCreateInfo,VkShaderModuleIdentifierEXT * pIdentifier) const5754     void vkGetShaderModuleCreateInfoIdentifierEXT( VkDevice                         device,
5755                                                    const VkShaderModuleCreateInfo * pCreateInfo,
5756                                                    VkShaderModuleIdentifierEXT *    pIdentifier ) const VULKAN_HPP_NOEXCEPT
5757     {
5758       return ::vkGetShaderModuleCreateInfoIdentifierEXT( device, pCreateInfo, pIdentifier );
5759     }
5760 
5761     //=== VK_NV_optical_flow ===
5762 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV(VkPhysicalDevice physicalDevice,const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,uint32_t * pFormatCount,VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties) const5763     VkResult vkGetPhysicalDeviceOpticalFlowImageFormatsNV( VkPhysicalDevice                       physicalDevice,
5764                                                            const VkOpticalFlowImageFormatInfoNV * pOpticalFlowImageFormatInfo,
5765                                                            uint32_t *                             pFormatCount,
5766                                                            VkOpticalFlowImageFormatPropertiesNV * pImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
5767     {
5768       return ::vkGetPhysicalDeviceOpticalFlowImageFormatsNV( physicalDevice, pOpticalFlowImageFormatInfo, pFormatCount, pImageFormatProperties );
5769     }
5770 
vkCreateOpticalFlowSessionNV(VkDevice device,const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkOpticalFlowSessionNV * pSession) const5771     VkResult vkCreateOpticalFlowSessionNV( VkDevice                                 device,
5772                                            const VkOpticalFlowSessionCreateInfoNV * pCreateInfo,
5773                                            const VkAllocationCallbacks *            pAllocator,
5774                                            VkOpticalFlowSessionNV *                 pSession ) const VULKAN_HPP_NOEXCEPT
5775     {
5776       return ::vkCreateOpticalFlowSessionNV( device, pCreateInfo, pAllocator, pSession );
5777     }
5778 
vkDestroyOpticalFlowSessionNV(VkDevice device,VkOpticalFlowSessionNV session,const VkAllocationCallbacks * pAllocator) const5779     void vkDestroyOpticalFlowSessionNV( VkDevice device, VkOpticalFlowSessionNV session, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5780     {
5781       return ::vkDestroyOpticalFlowSessionNV( device, session, pAllocator );
5782     }
5783 
vkBindOpticalFlowSessionImageNV(VkDevice device,VkOpticalFlowSessionNV session,VkOpticalFlowSessionBindingPointNV bindingPoint,VkImageView view,VkImageLayout layout) const5784     VkResult vkBindOpticalFlowSessionImageNV( VkDevice                           device,
5785                                               VkOpticalFlowSessionNV             session,
5786                                               VkOpticalFlowSessionBindingPointNV bindingPoint,
5787                                               VkImageView                        view,
5788                                               VkImageLayout                      layout ) const VULKAN_HPP_NOEXCEPT
5789     {
5790       return ::vkBindOpticalFlowSessionImageNV( device, session, bindingPoint, view, layout );
5791     }
5792 
vkCmdOpticalFlowExecuteNV(VkCommandBuffer commandBuffer,VkOpticalFlowSessionNV session,const VkOpticalFlowExecuteInfoNV * pExecuteInfo) const5793     void vkCmdOpticalFlowExecuteNV( VkCommandBuffer                    commandBuffer,
5794                                     VkOpticalFlowSessionNV             session,
5795                                     const VkOpticalFlowExecuteInfoNV * pExecuteInfo ) const VULKAN_HPP_NOEXCEPT
5796     {
5797       return ::vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo );
5798     }
5799 
5800     //=== VK_KHR_maintenance5 ===
5801 
vkCmdBindIndexBuffer2KHR(VkCommandBuffer commandBuffer,VkBuffer buffer,VkDeviceSize offset,VkDeviceSize size,VkIndexType indexType) const5802     void vkCmdBindIndexBuffer2KHR( VkCommandBuffer commandBuffer, VkBuffer buffer, VkDeviceSize offset, VkDeviceSize size, VkIndexType indexType ) const
5803       VULKAN_HPP_NOEXCEPT
5804     {
5805       return ::vkCmdBindIndexBuffer2KHR( commandBuffer, buffer, offset, size, indexType );
5806     }
5807 
5808     void
vkGetRenderingAreaGranularityKHR(VkDevice device,const VkRenderingAreaInfo * pRenderingAreaInfo,VkExtent2D * pGranularity) const5809       vkGetRenderingAreaGranularityKHR( VkDevice device, const VkRenderingAreaInfo * pRenderingAreaInfo, VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
5810     {
5811       return ::vkGetRenderingAreaGranularityKHR( device, pRenderingAreaInfo, pGranularity );
5812     }
5813 
vkGetDeviceImageSubresourceLayoutKHR(VkDevice device,const VkDeviceImageSubresourceInfo * pInfo,VkSubresourceLayout2 * pLayout) const5814     void vkGetDeviceImageSubresourceLayoutKHR( VkDevice                             device,
5815                                                const VkDeviceImageSubresourceInfo * pInfo,
5816                                                VkSubresourceLayout2 *               pLayout ) const VULKAN_HPP_NOEXCEPT
5817     {
5818       return ::vkGetDeviceImageSubresourceLayoutKHR( device, pInfo, pLayout );
5819     }
5820 
vkGetImageSubresourceLayout2KHR(VkDevice device,VkImage image,const VkImageSubresource2 * pSubresource,VkSubresourceLayout2 * pLayout) const5821     void vkGetImageSubresourceLayout2KHR( VkDevice                    device,
5822                                           VkImage                     image,
5823                                           const VkImageSubresource2 * pSubresource,
5824                                           VkSubresourceLayout2 *      pLayout ) const VULKAN_HPP_NOEXCEPT
5825     {
5826       return ::vkGetImageSubresourceLayout2KHR( device, image, pSubresource, pLayout );
5827     }
5828 
5829     //=== VK_AMD_anti_lag ===
5830 
vkAntiLagUpdateAMD(VkDevice device,const VkAntiLagDataAMD * pData) const5831     void vkAntiLagUpdateAMD( VkDevice device, const VkAntiLagDataAMD * pData ) const VULKAN_HPP_NOEXCEPT
5832     {
5833       return ::vkAntiLagUpdateAMD( device, pData );
5834     }
5835 
5836     //=== VK_EXT_shader_object ===
5837 
vkCreateShadersEXT(VkDevice device,uint32_t createInfoCount,const VkShaderCreateInfoEXT * pCreateInfos,const VkAllocationCallbacks * pAllocator,VkShaderEXT * pShaders) const5838     VkResult vkCreateShadersEXT( VkDevice                      device,
5839                                  uint32_t                      createInfoCount,
5840                                  const VkShaderCreateInfoEXT * pCreateInfos,
5841                                  const VkAllocationCallbacks * pAllocator,
5842                                  VkShaderEXT *                 pShaders ) const VULKAN_HPP_NOEXCEPT
5843     {
5844       return ::vkCreateShadersEXT( device, createInfoCount, pCreateInfos, pAllocator, pShaders );
5845     }
5846 
vkDestroyShaderEXT(VkDevice device,VkShaderEXT shader,const VkAllocationCallbacks * pAllocator) const5847     void vkDestroyShaderEXT( VkDevice device, VkShaderEXT shader, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5848     {
5849       return ::vkDestroyShaderEXT( device, shader, pAllocator );
5850     }
5851 
vkGetShaderBinaryDataEXT(VkDevice device,VkShaderEXT shader,size_t * pDataSize,void * pData) const5852     VkResult vkGetShaderBinaryDataEXT( VkDevice device, VkShaderEXT shader, size_t * pDataSize, void * pData ) const VULKAN_HPP_NOEXCEPT
5853     {
5854       return ::vkGetShaderBinaryDataEXT( device, shader, pDataSize, pData );
5855     }
5856 
vkCmdBindShadersEXT(VkCommandBuffer commandBuffer,uint32_t stageCount,const VkShaderStageFlagBits * pStages,const VkShaderEXT * pShaders) const5857     void vkCmdBindShadersEXT( VkCommandBuffer               commandBuffer,
5858                               uint32_t                      stageCount,
5859                               const VkShaderStageFlagBits * pStages,
5860                               const VkShaderEXT *           pShaders ) const VULKAN_HPP_NOEXCEPT
5861     {
5862       return ::vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders );
5863     }
5864 
5865     //=== VK_KHR_pipeline_binary ===
5866 
vkCreatePipelineBinariesKHR(VkDevice device,const VkPipelineBinaryCreateInfoKHR * pCreateInfo,const VkAllocationCallbacks * pAllocator,VkPipelineBinaryHandlesInfoKHR * pBinaries) const5867     VkResult vkCreatePipelineBinariesKHR( VkDevice                              device,
5868                                           const VkPipelineBinaryCreateInfoKHR * pCreateInfo,
5869                                           const VkAllocationCallbacks *         pAllocator,
5870                                           VkPipelineBinaryHandlesInfoKHR *      pBinaries ) const VULKAN_HPP_NOEXCEPT
5871     {
5872       return ::vkCreatePipelineBinariesKHR( device, pCreateInfo, pAllocator, pBinaries );
5873     }
5874 
vkDestroyPipelineBinaryKHR(VkDevice device,VkPipelineBinaryKHR pipelineBinary,const VkAllocationCallbacks * pAllocator) const5875     void vkDestroyPipelineBinaryKHR( VkDevice device, VkPipelineBinaryKHR pipelineBinary, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
5876     {
5877       return ::vkDestroyPipelineBinaryKHR( device, pipelineBinary, pAllocator );
5878     }
5879 
vkGetPipelineKeyKHR(VkDevice device,const VkPipelineCreateInfoKHR * pPipelineCreateInfo,VkPipelineBinaryKeyKHR * pPipelineKey) const5880     VkResult vkGetPipelineKeyKHR( VkDevice                        device,
5881                                   const VkPipelineCreateInfoKHR * pPipelineCreateInfo,
5882                                   VkPipelineBinaryKeyKHR *        pPipelineKey ) const VULKAN_HPP_NOEXCEPT
5883     {
5884       return ::vkGetPipelineKeyKHR( device, pPipelineCreateInfo, pPipelineKey );
5885     }
5886 
vkGetPipelineBinaryDataKHR(VkDevice device,const VkPipelineBinaryDataInfoKHR * pInfo,VkPipelineBinaryKeyKHR * pPipelineBinaryKey,size_t * pPipelineBinaryDataSize,void * pPipelineBinaryData) const5887     VkResult vkGetPipelineBinaryDataKHR( VkDevice                            device,
5888                                          const VkPipelineBinaryDataInfoKHR * pInfo,
5889                                          VkPipelineBinaryKeyKHR *            pPipelineBinaryKey,
5890                                          size_t *                            pPipelineBinaryDataSize,
5891                                          void *                              pPipelineBinaryData ) const VULKAN_HPP_NOEXCEPT
5892     {
5893       return ::vkGetPipelineBinaryDataKHR( device, pInfo, pPipelineBinaryKey, pPipelineBinaryDataSize, pPipelineBinaryData );
5894     }
5895 
vkReleaseCapturedPipelineDataKHR(VkDevice device,const VkReleaseCapturedPipelineDataInfoKHR * pInfo,const VkAllocationCallbacks * pAllocator) const5896     VkResult vkReleaseCapturedPipelineDataKHR( VkDevice                                     device,
5897                                                const VkReleaseCapturedPipelineDataInfoKHR * pInfo,
5898                                                const VkAllocationCallbacks *                pAllocator ) const VULKAN_HPP_NOEXCEPT
5899     {
5900       return ::vkReleaseCapturedPipelineDataKHR( device, pInfo, pAllocator );
5901     }
5902 
5903     //=== VK_QCOM_tile_properties ===
5904 
vkGetFramebufferTilePropertiesQCOM(VkDevice device,VkFramebuffer framebuffer,uint32_t * pPropertiesCount,VkTilePropertiesQCOM * pProperties) const5905     VkResult vkGetFramebufferTilePropertiesQCOM( VkDevice               device,
5906                                                  VkFramebuffer          framebuffer,
5907                                                  uint32_t *             pPropertiesCount,
5908                                                  VkTilePropertiesQCOM * pProperties ) const VULKAN_HPP_NOEXCEPT
5909     {
5910       return ::vkGetFramebufferTilePropertiesQCOM( device, framebuffer, pPropertiesCount, pProperties );
5911     }
5912 
vkGetDynamicRenderingTilePropertiesQCOM(VkDevice device,const VkRenderingInfo * pRenderingInfo,VkTilePropertiesQCOM * pProperties) const5913     VkResult vkGetDynamicRenderingTilePropertiesQCOM( VkDevice                device,
5914                                                       const VkRenderingInfo * pRenderingInfo,
5915                                                       VkTilePropertiesQCOM *  pProperties ) const VULKAN_HPP_NOEXCEPT
5916     {
5917       return ::vkGetDynamicRenderingTilePropertiesQCOM( device, pRenderingInfo, pProperties );
5918     }
5919 
5920     //=== VK_NV_low_latency2 ===
5921 
vkSetLatencySleepModeNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepModeInfoNV * pSleepModeInfo) const5922     VkResult vkSetLatencySleepModeNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepModeInfoNV * pSleepModeInfo ) const VULKAN_HPP_NOEXCEPT
5923     {
5924       return ::vkSetLatencySleepModeNV( device, swapchain, pSleepModeInfo );
5925     }
5926 
vkLatencySleepNV(VkDevice device,VkSwapchainKHR swapchain,const VkLatencySleepInfoNV * pSleepInfo) const5927     VkResult vkLatencySleepNV( VkDevice device, VkSwapchainKHR swapchain, const VkLatencySleepInfoNV * pSleepInfo ) const VULKAN_HPP_NOEXCEPT
5928     {
5929       return ::vkLatencySleepNV( device, swapchain, pSleepInfo );
5930     }
5931 
vkSetLatencyMarkerNV(VkDevice device,VkSwapchainKHR swapchain,const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5932     void vkSetLatencyMarkerNV( VkDevice device, VkSwapchainKHR swapchain, const VkSetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5933     {
5934       return ::vkSetLatencyMarkerNV( device, swapchain, pLatencyMarkerInfo );
5935     }
5936 
vkGetLatencyTimingsNV(VkDevice device,VkSwapchainKHR swapchain,VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo) const5937     void vkGetLatencyTimingsNV( VkDevice device, VkSwapchainKHR swapchain, VkGetLatencyMarkerInfoNV * pLatencyMarkerInfo ) const VULKAN_HPP_NOEXCEPT
5938     {
5939       return ::vkGetLatencyTimingsNV( device, swapchain, pLatencyMarkerInfo );
5940     }
5941 
vkQueueNotifyOutOfBandNV(VkQueue queue,const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo) const5942     void vkQueueNotifyOutOfBandNV( VkQueue queue, const VkOutOfBandQueueTypeInfoNV * pQueueTypeInfo ) const VULKAN_HPP_NOEXCEPT
5943     {
5944       return ::vkQueueNotifyOutOfBandNV( queue, pQueueTypeInfo );
5945     }
5946 
5947     //=== VK_KHR_cooperative_matrix ===
5948 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR(VkPhysicalDevice physicalDevice,uint32_t * pPropertyCount,VkCooperativeMatrixPropertiesKHR * pProperties) const5949     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( VkPhysicalDevice                   physicalDevice,
5950                                                                 uint32_t *                         pPropertyCount,
5951                                                                 VkCooperativeMatrixPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
5952     {
5953       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
5954     }
5955 
5956     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
5957 
vkCmdSetAttachmentFeedbackLoopEnableEXT(VkCommandBuffer commandBuffer,VkImageAspectFlags aspectMask) const5958     void vkCmdSetAttachmentFeedbackLoopEnableEXT( VkCommandBuffer commandBuffer, VkImageAspectFlags aspectMask ) const VULKAN_HPP_NOEXCEPT
5959     {
5960       return ::vkCmdSetAttachmentFeedbackLoopEnableEXT( commandBuffer, aspectMask );
5961     }
5962 
5963 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
5964     //=== VK_QNX_external_memory_screen_buffer ===
5965 
vkGetScreenBufferPropertiesQNX(VkDevice device,const struct _screen_buffer * buffer,VkScreenBufferPropertiesQNX * pProperties) const5966     VkResult vkGetScreenBufferPropertiesQNX( VkDevice                      device,
5967                                              const struct _screen_buffer * buffer,
5968                                              VkScreenBufferPropertiesQNX * pProperties ) const VULKAN_HPP_NOEXCEPT
5969     {
5970       return ::vkGetScreenBufferPropertiesQNX( device, buffer, pProperties );
5971     }
5972 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
5973 
5974     //=== VK_KHR_line_rasterization ===
5975 
vkCmdSetLineStippleKHR(VkCommandBuffer commandBuffer,uint32_t lineStippleFactor,uint16_t lineStipplePattern) const5976     void vkCmdSetLineStippleKHR( VkCommandBuffer commandBuffer, uint32_t lineStippleFactor, uint16_t lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
5977     {
5978       return ::vkCmdSetLineStippleKHR( commandBuffer, lineStippleFactor, lineStipplePattern );
5979     }
5980 
5981     //=== VK_KHR_calibrated_timestamps ===
5982 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR(VkPhysicalDevice physicalDevice,uint32_t * pTimeDomainCount,VkTimeDomainKHR * pTimeDomains) const5983     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( VkPhysicalDevice  physicalDevice,
5984                                                              uint32_t *        pTimeDomainCount,
5985                                                              VkTimeDomainKHR * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
5986     {
5987       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( physicalDevice, pTimeDomainCount, pTimeDomains );
5988     }
5989 
vkGetCalibratedTimestampsKHR(VkDevice device,uint32_t timestampCount,const VkCalibratedTimestampInfoKHR * pTimestampInfos,uint64_t * pTimestamps,uint64_t * pMaxDeviation) const5990     VkResult vkGetCalibratedTimestampsKHR( VkDevice                             device,
5991                                            uint32_t                             timestampCount,
5992                                            const VkCalibratedTimestampInfoKHR * pTimestampInfos,
5993                                            uint64_t *                           pTimestamps,
5994                                            uint64_t *                           pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
5995     {
5996       return ::vkGetCalibratedTimestampsKHR( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
5997     }
5998 
5999     //=== VK_KHR_maintenance6 ===
6000 
vkCmdBindDescriptorSets2KHR(VkCommandBuffer commandBuffer,const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo) const6001     void vkCmdBindDescriptorSets2KHR( VkCommandBuffer commandBuffer, const VkBindDescriptorSetsInfo * pBindDescriptorSetsInfo ) const VULKAN_HPP_NOEXCEPT
6002     {
6003       return ::vkCmdBindDescriptorSets2KHR( commandBuffer, pBindDescriptorSetsInfo );
6004     }
6005 
vkCmdPushConstants2KHR(VkCommandBuffer commandBuffer,const VkPushConstantsInfo * pPushConstantsInfo) const6006     void vkCmdPushConstants2KHR( VkCommandBuffer commandBuffer, const VkPushConstantsInfo * pPushConstantsInfo ) const VULKAN_HPP_NOEXCEPT
6007     {
6008       return ::vkCmdPushConstants2KHR( commandBuffer, pPushConstantsInfo );
6009     }
6010 
vkCmdPushDescriptorSet2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetInfo * pPushDescriptorSetInfo) const6011     void vkCmdPushDescriptorSet2KHR( VkCommandBuffer commandBuffer, const VkPushDescriptorSetInfo * pPushDescriptorSetInfo ) const VULKAN_HPP_NOEXCEPT
6012     {
6013       return ::vkCmdPushDescriptorSet2KHR( commandBuffer, pPushDescriptorSetInfo );
6014     }
6015 
vkCmdPushDescriptorSetWithTemplate2KHR(VkCommandBuffer commandBuffer,const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo) const6016     void vkCmdPushDescriptorSetWithTemplate2KHR( VkCommandBuffer                             commandBuffer,
6017                                                  const VkPushDescriptorSetWithTemplateInfo * pPushDescriptorSetWithTemplateInfo ) const VULKAN_HPP_NOEXCEPT
6018     {
6019       return ::vkCmdPushDescriptorSetWithTemplate2KHR( commandBuffer, pPushDescriptorSetWithTemplateInfo );
6020     }
6021 
vkCmdSetDescriptorBufferOffsets2EXT(VkCommandBuffer commandBuffer,const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo) const6022     void vkCmdSetDescriptorBufferOffsets2EXT( VkCommandBuffer                             commandBuffer,
6023                                               const VkSetDescriptorBufferOffsetsInfoEXT * pSetDescriptorBufferOffsetsInfo ) const VULKAN_HPP_NOEXCEPT
6024     {
6025       return ::vkCmdSetDescriptorBufferOffsets2EXT( commandBuffer, pSetDescriptorBufferOffsetsInfo );
6026     }
6027 
vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(VkCommandBuffer commandBuffer,const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo) const6028     void vkCmdBindDescriptorBufferEmbeddedSamplers2EXT(
6029       VkCommandBuffer commandBuffer, const VkBindDescriptorBufferEmbeddedSamplersInfoEXT * pBindDescriptorBufferEmbeddedSamplersInfo ) const VULKAN_HPP_NOEXCEPT
6030     {
6031       return ::vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( commandBuffer, pBindDescriptorBufferEmbeddedSamplersInfo );
6032     }
6033   };
6034 
getDispatchLoaderStatic()6035   inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
6036   {
6037     static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
6038     return dls;
6039   }
6040 #endif
6041 
6042 #if ( 14 <= VULKAN_HPP_CPP_VERSION )
6043   using std::exchange;
6044 #else
6045   template <class T, class U = T>
exchange(T & obj,U && newValue)6046   VULKAN_HPP_CONSTEXPR_14 VULKAN_HPP_INLINE T exchange( T & obj, U && newValue )
6047   {
6048     T oldValue = std::move( obj );
6049     obj        = std::forward<U>( newValue );
6050     return oldValue;
6051   }
6052 #endif
6053 
6054 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6055   struct AllocationCallbacks;
6056 
6057   template <typename OwnerType, typename Dispatch>
6058   class ObjectDestroy
6059   {
6060   public:
6061     ObjectDestroy() = default;
6062 
ObjectDestroy(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6063     ObjectDestroy( OwnerType                                               owner,
6064                    Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6065                    Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6066       : m_owner( owner )
6067       , m_allocationCallbacks( allocationCallbacks )
6068       , m_dispatch( &dispatch )
6069     {
6070     }
6071 
getOwner() const6072     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6073     {
6074       return m_owner;
6075     }
6076 
getAllocator() const6077     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6078     {
6079       return m_allocationCallbacks;
6080     }
6081 
getDispatch() const6082     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6083     {
6084       return *m_dispatch;
6085     }
6086 
6087   protected:
6088     template <typename T>
destroy(T t)6089     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6090     {
6091       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6092       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
6093     }
6094 
6095   private:
6096     OwnerType                           m_owner               = {};
6097     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6098     Dispatch const *                    m_dispatch            = nullptr;
6099   };
6100 
6101   class NoParent;
6102 
6103   template <typename Dispatch>
6104   class ObjectDestroy<NoParent, Dispatch>
6105   {
6106   public:
6107     ObjectDestroy() = default;
6108 
ObjectDestroy(Optional<const AllocationCallbacks> allocationCallbacks,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6109     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
6110                    Dispatch const & dispatch           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6111       : m_allocationCallbacks( allocationCallbacks )
6112       , m_dispatch( &dispatch )
6113     {
6114     }
6115 
getAllocator() const6116     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6117     {
6118       return m_allocationCallbacks;
6119     }
6120 
getDispatch() const6121     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6122     {
6123       return *m_dispatch;
6124     }
6125 
6126   protected:
6127     template <typename T>
destroy(T t)6128     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6129     {
6130       VULKAN_HPP_ASSERT( m_dispatch );
6131       t.destroy( m_allocationCallbacks, *m_dispatch );
6132     }
6133 
6134   private:
6135     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6136     Dispatch const *                    m_dispatch            = nullptr;
6137   };
6138 
6139   template <typename OwnerType, typename Dispatch>
6140   class ObjectFree
6141   {
6142   public:
6143     ObjectFree() = default;
6144 
ObjectFree(OwnerType owner,Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6145     ObjectFree( OwnerType                                               owner,
6146                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
6147                 Dispatch const & dispatch                               VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6148       : m_owner( owner )
6149       , m_allocationCallbacks( allocationCallbacks )
6150       , m_dispatch( &dispatch )
6151     {
6152     }
6153 
getOwner() const6154     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6155     {
6156       return m_owner;
6157     }
6158 
getAllocator() const6159     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
6160     {
6161       return m_allocationCallbacks;
6162     }
6163 
getDispatch() const6164     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6165     {
6166       return *m_dispatch;
6167     }
6168 
6169   protected:
6170     template <typename T>
destroy(T t)6171     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6172     {
6173       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6174       ( m_owner.free )( t, m_allocationCallbacks, *m_dispatch );
6175     }
6176 
6177   private:
6178     OwnerType                           m_owner               = {};
6179     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
6180     Dispatch const *                    m_dispatch            = nullptr;
6181   };
6182 
6183   template <typename OwnerType, typename Dispatch>
6184   class ObjectRelease
6185   {
6186   public:
6187     ObjectRelease() = default;
6188 
ObjectRelease(OwnerType owner,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6189     ObjectRelease( OwnerType owner, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6190       : m_owner( owner )
6191       , m_dispatch( &dispatch )
6192     {
6193     }
6194 
getOwner() const6195     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6196     {
6197       return m_owner;
6198     }
6199 
getDispatch() const6200     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6201     {
6202       return *m_dispatch;
6203     }
6204 
6205   protected:
6206     template <typename T>
destroy(T t)6207     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6208     {
6209       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
6210       m_owner.release( t, *m_dispatch );
6211     }
6212 
6213   private:
6214     OwnerType        m_owner    = {};
6215     Dispatch const * m_dispatch = nullptr;
6216   };
6217 
6218   template <typename OwnerType, typename PoolType, typename Dispatch>
6219   class PoolFree
6220   {
6221   public:
6222     PoolFree() = default;
6223 
PoolFree(OwnerType owner,PoolType pool,Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT)6224     PoolFree( OwnerType owner, PoolType pool, Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
6225       : m_owner( owner )
6226       , m_pool( pool )
6227       , m_dispatch( &dispatch )
6228     {
6229     }
6230 
getOwner() const6231     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
6232     {
6233       return m_owner;
6234     }
6235 
getPool() const6236     PoolType getPool() const VULKAN_HPP_NOEXCEPT
6237     {
6238       return m_pool;
6239     }
6240 
getDispatch() const6241     Dispatch const & getDispatch() const VULKAN_HPP_NOEXCEPT
6242     {
6243       return *m_dispatch;
6244     }
6245 
6246   protected:
6247     template <typename T>
destroy(T t)6248     void destroy( T t ) VULKAN_HPP_NOEXCEPT
6249     {
6250       ( m_owner.free )( m_pool, t, *m_dispatch );
6251     }
6252 
6253   private:
6254     OwnerType        m_owner    = OwnerType();
6255     PoolType         m_pool     = PoolType();
6256     Dispatch const * m_dispatch = nullptr;
6257   };
6258 
6259 #endif  // !VULKAN_HPP_NO_SMART_HANDLE
6260 
6261   //==================
6262   //=== BASE TYPEs ===
6263   //==================
6264 
6265   using Bool32          = uint32_t;
6266   using DeviceAddress   = uint64_t;
6267   using DeviceSize      = uint64_t;
6268   using RemoteAddressNV = void *;
6269   using SampleMask      = uint32_t;
6270 
6271   template <typename Type, Type value = Type{}>
6272   struct CppType
6273   {
6274   };
6275 }  // namespace VULKAN_HPP_NAMESPACE
6276 
6277 #include <vulkan/vulkan_enums.hpp>
6278 #if !defined( VULKAN_HPP_NO_TO_STRING )
6279 #  include <vulkan/vulkan_to_string.hpp>
6280 #endif
6281 
6282 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6283 namespace std
6284 {
6285   template <>
6286   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
6287   {
6288   };
6289 }  // namespace std
6290 #endif
6291 
6292 namespace VULKAN_HPP_NAMESPACE
6293 {
6294 #ifndef VULKAN_HPP_NO_EXCEPTIONS
6295   class ErrorCategoryImpl : public std::error_category
6296   {
6297   public:
name() const6298     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
6299     {
6300       return VULKAN_HPP_NAMESPACE_STRING "::Result";
6301     }
6302 
message(int ev) const6303     virtual std::string message( int ev ) const override
6304     {
6305 #  if defined( VULKAN_HPP_NO_TO_STRING )
6306       return std::to_string( ev );
6307 #  else
6308       return VULKAN_HPP_NAMESPACE::to_string( static_cast<VULKAN_HPP_NAMESPACE::Result>( ev ) );
6309 #  endif
6310     }
6311   };
6312 
6313   class Error
6314   {
6315   public:
6316     Error() VULKAN_HPP_NOEXCEPT                = default;
6317     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
6318     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
6319 
6320     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
6321   };
6322 
6323   class LogicError
6324     : public Error
6325     , public std::logic_error
6326   {
6327   public:
LogicError(const std::string & what)6328     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
6329 
LogicError(char const * what)6330     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
6331 
what() const6332     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6333     {
6334       return std::logic_error::what();
6335     }
6336   };
6337 
6338   class SystemError
6339     : public Error
6340     , public std::system_error
6341   {
6342   public:
SystemError(std::error_code ec)6343     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
6344 
SystemError(std::error_code ec,std::string const & what)6345     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
6346 
SystemError(std::error_code ec,char const * what)6347     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
6348 
SystemError(int ev,std::error_category const & ecat)6349     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
6350 
SystemError(int ev,std::error_category const & ecat,std::string const & what)6351     SystemError( int ev, std::error_category const & ecat, std::string const & what ) : Error(), std::system_error( ev, ecat, what ) {}
6352 
SystemError(int ev,std::error_category const & ecat,char const * what)6353     SystemError( int ev, std::error_category const & ecat, char const * what ) : Error(), std::system_error( ev, ecat, what ) {}
6354 
what() const6355     virtual const char * what() const VULKAN_HPP_NOEXCEPT
6356     {
6357       return std::system_error::what();
6358     }
6359   };
6360 
errorCategory()6361   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
6362   {
6363     static ErrorCategoryImpl instance;
6364     return instance;
6365   }
6366 
make_error_code(Result e)6367   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
6368   {
6369     return std::error_code( static_cast<int>( e ), errorCategory() );
6370   }
6371 
make_error_condition(Result e)6372   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
6373   {
6374     return std::error_condition( static_cast<int>( e ), errorCategory() );
6375   }
6376 
6377   class OutOfHostMemoryError : public SystemError
6378   {
6379   public:
OutOfHostMemoryError(std::string const & message)6380     OutOfHostMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6381 
OutOfHostMemoryError(char const * message)6382     OutOfHostMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message ) {}
6383   };
6384 
6385   class OutOfDeviceMemoryError : public SystemError
6386   {
6387   public:
OutOfDeviceMemoryError(std::string const & message)6388     OutOfDeviceMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6389 
OutOfDeviceMemoryError(char const * message)6390     OutOfDeviceMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message ) {}
6391   };
6392 
6393   class InitializationFailedError : public SystemError
6394   {
6395   public:
InitializationFailedError(std::string const & message)6396     InitializationFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6397 
InitializationFailedError(char const * message)6398     InitializationFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorInitializationFailed ), message ) {}
6399   };
6400 
6401   class DeviceLostError : public SystemError
6402   {
6403   public:
DeviceLostError(std::string const & message)6404     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6405 
DeviceLostError(char const * message)6406     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
6407   };
6408 
6409   class MemoryMapFailedError : public SystemError
6410   {
6411   public:
MemoryMapFailedError(std::string const & message)6412     MemoryMapFailedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6413 
MemoryMapFailedError(char const * message)6414     MemoryMapFailedError( char const * message ) : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message ) {}
6415   };
6416 
6417   class LayerNotPresentError : public SystemError
6418   {
6419   public:
LayerNotPresentError(std::string const & message)6420     LayerNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6421 
LayerNotPresentError(char const * message)6422     LayerNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message ) {}
6423   };
6424 
6425   class ExtensionNotPresentError : public SystemError
6426   {
6427   public:
ExtensionNotPresentError(std::string const & message)6428     ExtensionNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6429 
ExtensionNotPresentError(char const * message)6430     ExtensionNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message ) {}
6431   };
6432 
6433   class FeatureNotPresentError : public SystemError
6434   {
6435   public:
FeatureNotPresentError(std::string const & message)6436     FeatureNotPresentError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6437 
FeatureNotPresentError(char const * message)6438     FeatureNotPresentError( char const * message ) : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message ) {}
6439   };
6440 
6441   class IncompatibleDriverError : public SystemError
6442   {
6443   public:
IncompatibleDriverError(std::string const & message)6444     IncompatibleDriverError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6445 
IncompatibleDriverError(char const * message)6446     IncompatibleDriverError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message ) {}
6447   };
6448 
6449   class TooManyObjectsError : public SystemError
6450   {
6451   public:
TooManyObjectsError(std::string const & message)6452     TooManyObjectsError( std::string const & message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6453 
TooManyObjectsError(char const * message)6454     TooManyObjectsError( char const * message ) : SystemError( make_error_code( Result::eErrorTooManyObjects ), message ) {}
6455   };
6456 
6457   class FormatNotSupportedError : public SystemError
6458   {
6459   public:
FormatNotSupportedError(std::string const & message)6460     FormatNotSupportedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6461 
FormatNotSupportedError(char const * message)6462     FormatNotSupportedError( char const * message ) : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message ) {}
6463   };
6464 
6465   class FragmentedPoolError : public SystemError
6466   {
6467   public:
FragmentedPoolError(std::string const & message)6468     FragmentedPoolError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6469 
FragmentedPoolError(char const * message)6470     FragmentedPoolError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentedPool ), message ) {}
6471   };
6472 
6473   class UnknownError : public SystemError
6474   {
6475   public:
UnknownError(std::string const & message)6476     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6477 
UnknownError(char const * message)6478     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
6479   };
6480 
6481   class OutOfPoolMemoryError : public SystemError
6482   {
6483   public:
OutOfPoolMemoryError(std::string const & message)6484     OutOfPoolMemoryError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6485 
OutOfPoolMemoryError(char const * message)6486     OutOfPoolMemoryError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message ) {}
6487   };
6488 
6489   class InvalidExternalHandleError : public SystemError
6490   {
6491   public:
InvalidExternalHandleError(std::string const & message)6492     InvalidExternalHandleError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6493 
InvalidExternalHandleError(char const * message)6494     InvalidExternalHandleError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message ) {}
6495   };
6496 
6497   class FragmentationError : public SystemError
6498   {
6499   public:
FragmentationError(std::string const & message)6500     FragmentationError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6501 
FragmentationError(char const * message)6502     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message ) {}
6503   };
6504 
6505   class InvalidOpaqueCaptureAddressError : public SystemError
6506   {
6507   public:
InvalidOpaqueCaptureAddressError(std::string const & message)6508     InvalidOpaqueCaptureAddressError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6509 
InvalidOpaqueCaptureAddressError(char const * message)6510     InvalidOpaqueCaptureAddressError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message ) {}
6511   };
6512 
6513   class NotPermittedError : public SystemError
6514   {
6515   public:
NotPermittedError(std::string const & message)6516     NotPermittedError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6517 
NotPermittedError(char const * message)6518     NotPermittedError( char const * message ) : SystemError( make_error_code( Result::eErrorNotPermitted ), message ) {}
6519   };
6520 
6521   class SurfaceLostKHRError : public SystemError
6522   {
6523   public:
SurfaceLostKHRError(std::string const & message)6524     SurfaceLostKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6525 
SurfaceLostKHRError(char const * message)6526     SurfaceLostKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message ) {}
6527   };
6528 
6529   class NativeWindowInUseKHRError : public SystemError
6530   {
6531   public:
NativeWindowInUseKHRError(std::string const & message)6532     NativeWindowInUseKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6533 
NativeWindowInUseKHRError(char const * message)6534     NativeWindowInUseKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message ) {}
6535   };
6536 
6537   class OutOfDateKHRError : public SystemError
6538   {
6539   public:
OutOfDateKHRError(std::string const & message)6540     OutOfDateKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6541 
OutOfDateKHRError(char const * message)6542     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
6543   };
6544 
6545   class IncompatibleDisplayKHRError : public SystemError
6546   {
6547   public:
IncompatibleDisplayKHRError(std::string const & message)6548     IncompatibleDisplayKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6549 
IncompatibleDisplayKHRError(char const * message)6550     IncompatibleDisplayKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message ) {}
6551   };
6552 
6553   class ValidationFailedEXTError : public SystemError
6554   {
6555   public:
ValidationFailedEXTError(std::string const & message)6556     ValidationFailedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6557 
ValidationFailedEXTError(char const * message)6558     ValidationFailedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message ) {}
6559   };
6560 
6561   class InvalidShaderNVError : public SystemError
6562   {
6563   public:
InvalidShaderNVError(std::string const & message)6564     InvalidShaderNVError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6565 
InvalidShaderNVError(char const * message)6566     InvalidShaderNVError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message ) {}
6567   };
6568 
6569   class ImageUsageNotSupportedKHRError : public SystemError
6570   {
6571   public:
ImageUsageNotSupportedKHRError(std::string const & message)6572     ImageUsageNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6573 
ImageUsageNotSupportedKHRError(char const * message)6574     ImageUsageNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorImageUsageNotSupportedKHR ), message ) {}
6575   };
6576 
6577   class VideoPictureLayoutNotSupportedKHRError : public SystemError
6578   {
6579   public:
VideoPictureLayoutNotSupportedKHRError(std::string const & message)6580     VideoPictureLayoutNotSupportedKHRError( std::string const & message )
6581       : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6582     {
6583     }
6584 
VideoPictureLayoutNotSupportedKHRError(char const * message)6585     VideoPictureLayoutNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoPictureLayoutNotSupportedKHR ), message )
6586     {
6587     }
6588   };
6589 
6590   class VideoProfileOperationNotSupportedKHRError : public SystemError
6591   {
6592   public:
VideoProfileOperationNotSupportedKHRError(std::string const & message)6593     VideoProfileOperationNotSupportedKHRError( std::string const & message )
6594       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6595     {
6596     }
6597 
VideoProfileOperationNotSupportedKHRError(char const * message)6598     VideoProfileOperationNotSupportedKHRError( char const * message )
6599       : SystemError( make_error_code( Result::eErrorVideoProfileOperationNotSupportedKHR ), message )
6600     {
6601     }
6602   };
6603 
6604   class VideoProfileFormatNotSupportedKHRError : public SystemError
6605   {
6606   public:
VideoProfileFormatNotSupportedKHRError(std::string const & message)6607     VideoProfileFormatNotSupportedKHRError( std::string const & message )
6608       : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6609     {
6610     }
6611 
VideoProfileFormatNotSupportedKHRError(char const * message)6612     VideoProfileFormatNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileFormatNotSupportedKHR ), message )
6613     {
6614     }
6615   };
6616 
6617   class VideoProfileCodecNotSupportedKHRError : public SystemError
6618   {
6619   public:
VideoProfileCodecNotSupportedKHRError(std::string const & message)6620     VideoProfileCodecNotSupportedKHRError( std::string const & message )
6621       : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message )
6622     {
6623     }
6624 
VideoProfileCodecNotSupportedKHRError(char const * message)6625     VideoProfileCodecNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoProfileCodecNotSupportedKHR ), message ) {}
6626   };
6627 
6628   class VideoStdVersionNotSupportedKHRError : public SystemError
6629   {
6630   public:
VideoStdVersionNotSupportedKHRError(std::string const & message)6631     VideoStdVersionNotSupportedKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message )
6632     {
6633     }
6634 
VideoStdVersionNotSupportedKHRError(char const * message)6635     VideoStdVersionNotSupportedKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorVideoStdVersionNotSupportedKHR ), message ) {}
6636   };
6637 
6638   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
6639   {
6640   public:
InvalidDrmFormatModifierPlaneLayoutEXTError(std::string const & message)6641     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
6642       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6643     {
6644     }
6645 
InvalidDrmFormatModifierPlaneLayoutEXTError(char const * message)6646     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
6647       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
6648     {
6649     }
6650   };
6651 
6652 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6653   class FullScreenExclusiveModeLostEXTError : public SystemError
6654   {
6655   public:
FullScreenExclusiveModeLostEXTError(std::string const & message)6656     FullScreenExclusiveModeLostEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
6657     {
6658     }
6659 
FullScreenExclusiveModeLostEXTError(char const * message)6660     FullScreenExclusiveModeLostEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message ) {}
6661   };
6662 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6663 
6664   class InvalidVideoStdParametersKHRError : public SystemError
6665   {
6666   public:
InvalidVideoStdParametersKHRError(std::string const & message)6667     InvalidVideoStdParametersKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6668 
InvalidVideoStdParametersKHRError(char const * message)6669     InvalidVideoStdParametersKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorInvalidVideoStdParametersKHR ), message ) {}
6670   };
6671 
6672   class CompressionExhaustedEXTError : public SystemError
6673   {
6674   public:
CompressionExhaustedEXTError(std::string const & message)6675     CompressionExhaustedEXTError( std::string const & message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6676 
CompressionExhaustedEXTError(char const * message)6677     CompressionExhaustedEXTError( char const * message ) : SystemError( make_error_code( Result::eErrorCompressionExhaustedEXT ), message ) {}
6678   };
6679 
6680   class NotEnoughSpaceKHRError : public SystemError
6681   {
6682   public:
NotEnoughSpaceKHRError(std::string const & message)6683     NotEnoughSpaceKHRError( std::string const & message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6684 
NotEnoughSpaceKHRError(char const * message)6685     NotEnoughSpaceKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorNotEnoughSpaceKHR ), message ) {}
6686   };
6687 
6688   namespace detail
6689   {
throwResultException(Result result,char const * message)6690     [[noreturn]] VULKAN_HPP_INLINE void throwResultException( Result result, char const * message )
6691     {
6692       switch ( result )
6693       {
6694         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
6695         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
6696         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
6697         case Result::eErrorDeviceLost: throw DeviceLostError( message );
6698         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
6699         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
6700         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
6701         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
6702         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
6703         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
6704         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
6705         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
6706         case Result::eErrorUnknown: throw UnknownError( message );
6707         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
6708         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
6709         case Result::eErrorFragmentation: throw FragmentationError( message );
6710         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
6711         case Result::eErrorNotPermitted: throw NotPermittedError( message );
6712         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
6713         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
6714         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
6715         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
6716         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
6717         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
6718         case Result::eErrorImageUsageNotSupportedKHR: throw ImageUsageNotSupportedKHRError( message );
6719         case Result::eErrorVideoPictureLayoutNotSupportedKHR: throw VideoPictureLayoutNotSupportedKHRError( message );
6720         case Result::eErrorVideoProfileOperationNotSupportedKHR: throw VideoProfileOperationNotSupportedKHRError( message );
6721         case Result::eErrorVideoProfileFormatNotSupportedKHR: throw VideoProfileFormatNotSupportedKHRError( message );
6722         case Result::eErrorVideoProfileCodecNotSupportedKHR: throw VideoProfileCodecNotSupportedKHRError( message );
6723         case Result::eErrorVideoStdVersionNotSupportedKHR: throw VideoStdVersionNotSupportedKHRError( message );
6724         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT: throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
6725 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
6726         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
6727 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
6728         case Result::eErrorInvalidVideoStdParametersKHR: throw InvalidVideoStdParametersKHRError( message );
6729         case Result::eErrorCompressionExhaustedEXT: throw CompressionExhaustedEXTError( message );
6730         case Result::eErrorNotEnoughSpaceKHR: throw NotEnoughSpaceKHRError( message );
6731         default: throw SystemError( make_error_code( result ), message );
6732       }
6733     }
6734   }  // namespace detail
6735 #endif
6736 
6737   template <typename T>
6738   struct ResultValue
6739   {
6740 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6741     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
6742 #else
6743     ResultValue( Result r, T & v )
6744 #endif
6745       : result( r ), value( v )
6746     {
6747     }
6748 
6749 #ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6750     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
6751 #else
6752     ResultValue( Result r, T && v )
6753 #endif
6754       : result( r ), value( std::move( v ) )
6755     {
6756     }
6757 
6758     Result result;
6759     T      value;
6760 
operator std::tuple<Result&,T&>VULKAN_HPP_NAMESPACE::ResultValue6761     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
6762     {
6763       return std::tuple<Result &, T &>( result, value );
6764     }
6765   };
6766 
6767 #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
6768   template <typename Type, typename Dispatch>
6769   struct ResultValue<UniqueHandle<Type, Dispatch>>
6770   {
6771 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6772     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
6773 #  else
6774     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
6775 #  endif
6776       : result( r )
6777       , value( std::move( v ) )
6778     {
6779     }
6780 
6781     VULKAN_HPP_DEPRECATED(
6782       "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." )
6783 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6784     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &
6785     {
6786       return std::make_tuple( result, std::move( value ) );
6787     }
6788 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6789     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple() &&
6790     {
6791       return std::make_tuple( result, std::move( value ) );
6792     }
6793 
6794     Result                       result;
6795     UniqueHandle<Type, Dispatch> value;
6796   };
6797 
6798   template <typename Type, typename Dispatch>
6799   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
6800   {
6801 #  ifdef VULKAN_HPP_HAS_NOEXCEPT
ResultValueVULKAN_HPP_NAMESPACE::ResultValue6802     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
6803 #  else
6804     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
6805 #  endif
6806       : result( r )
6807       , value( std::move( v ) )
6808     {
6809     }
6810 
6811     VULKAN_HPP_DEPRECATED(
6812       "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." )
6813 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6814     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &
6815     {
6816       return std::make_tuple( result, std::move( value ) );
6817     }
6818 
asTupleVULKAN_HPP_NAMESPACE::ResultValue6819     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple() &&
6820     {
6821       return std::make_tuple( result, std::move( value ) );
6822     }
6823 
6824     Result                                    result;
6825     std::vector<UniqueHandle<Type, Dispatch>> value;
6826   };
6827 #endif
6828 
6829   template <typename T>
6830   struct ResultValueType
6831   {
6832 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6833     using type = ResultValue<T>;
6834 #else
6835     using type = T;
6836 #endif
6837   };
6838 
6839   template <>
6840   struct ResultValueType<void>
6841   {
6842 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6843     using type = Result;
6844 #else
6845     using type = void;
6846 #endif
6847   };
6848 
6849   namespace detail
6850   {
6851     template <typename T>
ignore(T const &)6852     void ignore( T const & ) VULKAN_HPP_NOEXCEPT
6853     {
6854     }
6855 
createResultValueType(VULKAN_HPP_NAMESPACE::Result result)6856     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<void>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result )
6857     {
6858 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6859       return result;
6860 #else
6861       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6862 #endif
6863     }
6864 
6865     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T & data)6866     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T & data )
6867     {
6868 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6869       return ResultValue<T>( result, data );
6870 #else
6871       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6872       return data;
6873 #endif
6874     }
6875 
6876     template <typename T>
createResultValueType(VULKAN_HPP_NAMESPACE::Result result,T && data)6877     VULKAN_HPP_INLINE typename VULKAN_HPP_NAMESPACE::ResultValueType<T>::type createResultValueType( VULKAN_HPP_NAMESPACE::Result result, T && data )
6878     {
6879 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6880       return ResultValue<T>( result, std::move( data ) );
6881 #else
6882       VULKAN_HPP_NAMESPACE::detail::ignore( result );
6883       return std::move( data );
6884 #endif
6885     }
6886   }  // namespace detail
6887 
6888   namespace detail
6889   {
resultCheck(Result result,char const * message)6890     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message )
6891     {
6892 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6893       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6894       VULKAN_HPP_NAMESPACE::detail::ignore( message );
6895       VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
6896 #else
6897       if ( result != Result::eSuccess )
6898       {
6899         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
6900       }
6901 #endif
6902     }
6903 
resultCheck(Result result,char const * message,std::initializer_list<Result> successCodes)6904     VULKAN_HPP_INLINE void resultCheck( Result result, char const * message, std::initializer_list<Result> successCodes )
6905     {
6906 #ifdef VULKAN_HPP_NO_EXCEPTIONS
6907       VULKAN_HPP_NAMESPACE::detail::ignore( result );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6908       VULKAN_HPP_NAMESPACE::detail::ignore( message );
6909       VULKAN_HPP_NAMESPACE::detail::ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
6910       VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
6911 #else
6912       if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
6913       {
6914         VULKAN_HPP_NAMESPACE::detail::throwResultException( result, message );
6915       }
6916 #endif
6917     }
6918   }  // namespace detail
6919 
6920   //===========================
6921   //=== CONSTEXPR CONSTANTs ===
6922   //===========================
6923 
6924   //=== VK_VERSION_1_0 ===
6925   VULKAN_HPP_CONSTEXPR_INLINE uint32_t AttachmentUnused          = VK_ATTACHMENT_UNUSED;
6926   VULKAN_HPP_CONSTEXPR_INLINE uint32_t False                     = VK_FALSE;
6927   VULKAN_HPP_CONSTEXPR_INLINE float    LodClampNone              = VK_LOD_CLAMP_NONE;
6928   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyIgnored        = VK_QUEUE_FAMILY_IGNORED;
6929   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingArrayLayers      = VK_REMAINING_ARRAY_LAYERS;
6930   VULKAN_HPP_CONSTEXPR_INLINE uint32_t RemainingMipLevels        = VK_REMAINING_MIP_LEVELS;
6931   VULKAN_HPP_CONSTEXPR_INLINE uint32_t SubpassExternal           = VK_SUBPASS_EXTERNAL;
6932   VULKAN_HPP_CONSTEXPR_INLINE uint32_t True                      = VK_TRUE;
6933   VULKAN_HPP_CONSTEXPR_INLINE uint64_t WholeSize                 = VK_WHOLE_SIZE;
6934   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryTypes            = VK_MAX_MEMORY_TYPES;
6935   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxPhysicalDeviceNameSize = VK_MAX_PHYSICAL_DEVICE_NAME_SIZE;
6936   VULKAN_HPP_CONSTEXPR_INLINE uint32_t UuidSize                  = VK_UUID_SIZE;
6937   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxExtensionNameSize      = VK_MAX_EXTENSION_NAME_SIZE;
6938   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDescriptionSize        = VK_MAX_DESCRIPTION_SIZE;
6939   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxMemoryHeaps            = VK_MAX_MEMORY_HEAPS;
6940 
6941   //=== VK_VERSION_1_1 ===
6942   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSize  = VK_MAX_DEVICE_GROUP_SIZE;
6943   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSize            = VK_LUID_SIZE;
6944   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternal = VK_QUEUE_FAMILY_EXTERNAL;
6945 
6946   //=== VK_VERSION_1_2 ===
6947   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSize = VK_MAX_DRIVER_NAME_SIZE;
6948   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSize = VK_MAX_DRIVER_INFO_SIZE;
6949 
6950   //=== VK_VERSION_1_4 ===
6951   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySize = VK_MAX_GLOBAL_PRIORITY_SIZE;
6952 
6953   //=== VK_KHR_device_group_creation ===
6954   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDeviceGroupSizeKHR = VK_MAX_DEVICE_GROUP_SIZE_KHR;
6955 
6956   //=== VK_KHR_external_memory_capabilities ===
6957   VULKAN_HPP_CONSTEXPR_INLINE uint32_t LuidSizeKHR = VK_LUID_SIZE_KHR;
6958 
6959   //=== VK_KHR_external_memory ===
6960   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyExternalKHR = VK_QUEUE_FAMILY_EXTERNAL_KHR;
6961 
6962   //=== VK_EXT_queue_family_foreign ===
6963   VULKAN_HPP_CONSTEXPR_INLINE uint32_t QueueFamilyForeignEXT = VK_QUEUE_FAMILY_FOREIGN_EXT;
6964 
6965 #if defined( VK_ENABLE_BETA_EXTENSIONS )
6966   //=== VK_AMDX_shader_enqueue ===
6967   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderIndexUnusedAMDX = VK_SHADER_INDEX_UNUSED_AMDX;
6968 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
6969 
6970   //=== VK_KHR_ray_tracing_pipeline ===
6971   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedKHR = VK_SHADER_UNUSED_KHR;
6972 
6973   //=== VK_NV_ray_tracing ===
6974   VULKAN_HPP_CONSTEXPR_INLINE uint32_t ShaderUnusedNV = VK_SHADER_UNUSED_NV;
6975 
6976   //=== VK_KHR_global_priority ===
6977   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeKHR = VK_MAX_GLOBAL_PRIORITY_SIZE_KHR;
6978 
6979   //=== VK_KHR_driver_properties ===
6980   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverNameSizeKHR = VK_MAX_DRIVER_NAME_SIZE_KHR;
6981   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxDriverInfoSizeKHR = VK_MAX_DRIVER_INFO_SIZE_KHR;
6982 
6983   //=== VK_EXT_global_priority_query ===
6984   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxGlobalPrioritySizeEXT = VK_MAX_GLOBAL_PRIORITY_SIZE_EXT;
6985 
6986   //=== VK_EXT_image_sliced_view_of_3d ===
6987   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Remaining3DSlicesEXT = VK_REMAINING_3D_SLICES_EXT;
6988 
6989   //=== VK_EXT_shader_module_identifier ===
6990   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxShaderModuleIdentifierSizeEXT = VK_MAX_SHADER_MODULE_IDENTIFIER_SIZE_EXT;
6991 
6992   //=== VK_KHR_video_decode_av1 ===
6993   VULKAN_HPP_CONSTEXPR_INLINE uint32_t MaxVideoAv1ReferencesPerFrameKHR = VK_MAX_VIDEO_AV1_REFERENCES_PER_FRAME_KHR;
6994 
6995   //========================
6996   //=== CONSTEXPR VALUEs ===
6997   //========================
6998   VULKAN_HPP_CONSTEXPR_INLINE uint32_t HeaderVersion      = VK_HEADER_VERSION;
6999   VULKAN_HPP_CONSTEXPR_INLINE uint32_t Use64BitPtrDefines = VK_USE_64_BIT_PTR_DEFINES;
7000 
7001   //=========================
7002   //=== CONSTEXPR CALLEEs ===
7003   //=========================
7004   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMajor(T const version)7005   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMajor( T const version )
7006   {
7007     return ( ( (uint32_t)( version ) >> 22U ) & 0x7FU );
7008   }
7009 
7010   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionMinor(T const version)7011   VULKAN_HPP_CONSTEXPR uint32_t apiVersionMinor( T const version )
7012   {
7013     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7014   }
7015 
7016   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionPatch(T const version)7017   VULKAN_HPP_CONSTEXPR uint32_t apiVersionPatch( T const version )
7018   {
7019     return ( (uint32_t)(version)&0xFFFU );
7020   }
7021 
7022   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
apiVersionVariant(T const version)7023   VULKAN_HPP_CONSTEXPR uint32_t apiVersionVariant( T const version )
7024   {
7025     return ( (uint32_t)( version ) >> 29U );
7026   }
7027 
7028   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)7029   VULKAN_HPP_CONSTEXPR uint32_t makeApiVersion( T const variant, T const major, T const minor, T const patch )
7030   {
7031     return ( ( ( (uint32_t)( variant ) ) << 29U ) | ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7032   }
7033 
7034   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7035   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)7036   VULKAN_HPP_CONSTEXPR uint32_t makeVersion( T const major, T const minor, T const patch )
7037   {
7038     return ( ( ( (uint32_t)( major ) ) << 22U ) | ( ( (uint32_t)( minor ) ) << 12U ) | ( (uint32_t)( patch ) ) );
7039   }
7040 
7041   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7042   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MAJOR should be used instead." )
versionMajor(T const version)7043   VULKAN_HPP_CONSTEXPR uint32_t versionMajor( T const version )
7044   {
7045     return ( (uint32_t)( version ) >> 22U );
7046   }
7047 
7048   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7049   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_MINOR should be used instead." )
versionMinor(T const version)7050   VULKAN_HPP_CONSTEXPR uint32_t versionMinor( T const version )
7051   {
7052     return ( ( (uint32_t)( version ) >> 12U ) & 0x3FFU );
7053   }
7054 
7055   template <typename T, typename = typename std::enable_if<std::is_integral<T>::value>::type>
7056   VULKAN_HPP_DEPRECATED( "This define is deprecated. VK_API_VERSION_PATCH should be used instead." )
versionPatch(T const version)7057   VULKAN_HPP_CONSTEXPR uint32_t versionPatch( T const version )
7058   {
7059     return ( (uint32_t)(version)&0xFFFU );
7060   }
7061 
7062   //=========================
7063   //=== CONSTEXPR CALLERs ===
7064   //=========================
7065   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion            = makeApiVersion( 0, 1, 0, 0 );
7066   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion10          = makeApiVersion( 0, 1, 0, 0 );
7067   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion11          = makeApiVersion( 0, 1, 1, 0 );
7068   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion12          = makeApiVersion( 0, 1, 2, 0 );
7069   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion13          = makeApiVersion( 0, 1, 3, 0 );
7070   VULKAN_HPP_CONSTEXPR_INLINE auto ApiVersion14          = makeApiVersion( 0, 1, 4, 0 );
7071   VULKAN_HPP_CONSTEXPR_INLINE auto HeaderVersionComplete = makeApiVersion( 0, 1, 4, VK_HEADER_VERSION );
7072 
7073   //=================================
7074   //=== CONSTEXPR EXTENSION NAMEs ===
7075   //=================================
7076 
7077   //=== VK_KHR_surface ===
7078   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceExtensionName = VK_KHR_SURFACE_EXTENSION_NAME;
7079   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceSpecVersion   = VK_KHR_SURFACE_SPEC_VERSION;
7080 
7081   //=== VK_KHR_swapchain ===
7082   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainExtensionName = VK_KHR_SWAPCHAIN_EXTENSION_NAME;
7083   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainSpecVersion   = VK_KHR_SWAPCHAIN_SPEC_VERSION;
7084 
7085   //=== VK_KHR_display ===
7086   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplayExtensionName = VK_KHR_DISPLAY_EXTENSION_NAME;
7087   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySpecVersion   = VK_KHR_DISPLAY_SPEC_VERSION;
7088 
7089   //=== VK_KHR_display_swapchain ===
7090   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainExtensionName = VK_KHR_DISPLAY_SWAPCHAIN_EXTENSION_NAME;
7091   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDisplaySwapchainSpecVersion   = VK_KHR_DISPLAY_SWAPCHAIN_SPEC_VERSION;
7092 
7093 #if defined( VK_USE_PLATFORM_XLIB_KHR )
7094   //=== VK_KHR_xlib_surface ===
7095   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceExtensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME;
7096   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXlibSurfaceSpecVersion   = VK_KHR_XLIB_SURFACE_SPEC_VERSION;
7097 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
7098 
7099 #if defined( VK_USE_PLATFORM_XCB_KHR )
7100   //=== VK_KHR_xcb_surface ===
7101   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceExtensionName = VK_KHR_XCB_SURFACE_EXTENSION_NAME;
7102   VULKAN_HPP_CONSTEXPR_INLINE auto KHRXcbSurfaceSpecVersion   = VK_KHR_XCB_SURFACE_SPEC_VERSION;
7103 #endif /*VK_USE_PLATFORM_XCB_KHR*/
7104 
7105 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
7106   //=== VK_KHR_wayland_surface ===
7107   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceExtensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME;
7108   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWaylandSurfaceSpecVersion   = VK_KHR_WAYLAND_SURFACE_SPEC_VERSION;
7109 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
7110 
7111 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7112   //=== VK_KHR_android_surface ===
7113   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceExtensionName = VK_KHR_ANDROID_SURFACE_EXTENSION_NAME;
7114   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAndroidSurfaceSpecVersion   = VK_KHR_ANDROID_SURFACE_SPEC_VERSION;
7115 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7116 
7117 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7118   //=== VK_KHR_win32_surface ===
7119   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceExtensionName = VK_KHR_WIN32_SURFACE_EXTENSION_NAME;
7120   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32SurfaceSpecVersion   = VK_KHR_WIN32_SURFACE_SPEC_VERSION;
7121 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7122 
7123   //=== VK_EXT_debug_report ===
7124   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7125   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportExtensionName = VK_EXT_DEBUG_REPORT_EXTENSION_NAME;
7126   VULKAN_HPP_DEPRECATED( "The VK_EXT_debug_report extension has been deprecated by VK_EXT_debug_utils." )
7127   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugReportSpecVersion = VK_EXT_DEBUG_REPORT_SPEC_VERSION;
7128 
7129   //=== VK_NV_glsl_shader ===
7130   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7131   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderExtensionName = VK_NV_GLSL_SHADER_EXTENSION_NAME;
7132   VULKAN_HPP_DEPRECATED( "The VK_NV_glsl_shader extension has been deprecated." )
7133   VULKAN_HPP_CONSTEXPR_INLINE auto NVGlslShaderSpecVersion = VK_NV_GLSL_SHADER_SPEC_VERSION;
7134 
7135   //=== VK_EXT_depth_range_unrestricted ===
7136   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedExtensionName = VK_EXT_DEPTH_RANGE_UNRESTRICTED_EXTENSION_NAME;
7137   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthRangeUnrestrictedSpecVersion   = VK_EXT_DEPTH_RANGE_UNRESTRICTED_SPEC_VERSION;
7138 
7139   //=== VK_KHR_sampler_mirror_clamp_to_edge ===
7140   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeExtensionName = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_EXTENSION_NAME;
7141   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerMirrorClampToEdgeSpecVersion   = VK_KHR_SAMPLER_MIRROR_CLAMP_TO_EDGE_SPEC_VERSION;
7142 
7143   //=== VK_IMG_filter_cubic ===
7144   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicExtensionName = VK_IMG_FILTER_CUBIC_EXTENSION_NAME;
7145   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFilterCubicSpecVersion   = VK_IMG_FILTER_CUBIC_SPEC_VERSION;
7146 
7147   //=== VK_AMD_rasterization_order ===
7148   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderExtensionName = VK_AMD_RASTERIZATION_ORDER_EXTENSION_NAME;
7149   VULKAN_HPP_CONSTEXPR_INLINE auto AMDRasterizationOrderSpecVersion   = VK_AMD_RASTERIZATION_ORDER_SPEC_VERSION;
7150 
7151   //=== VK_AMD_shader_trinary_minmax ===
7152   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxExtensionName = VK_AMD_SHADER_TRINARY_MINMAX_EXTENSION_NAME;
7153   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderTrinaryMinmaxSpecVersion   = VK_AMD_SHADER_TRINARY_MINMAX_SPEC_VERSION;
7154 
7155   //=== VK_AMD_shader_explicit_vertex_parameter ===
7156   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterExtensionName = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_EXTENSION_NAME;
7157   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderExplicitVertexParameterSpecVersion   = VK_AMD_SHADER_EXPLICIT_VERTEX_PARAMETER_SPEC_VERSION;
7158 
7159   //=== VK_EXT_debug_marker ===
7160   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerExtensionName = VK_EXT_DEBUG_MARKER_EXTENSION_NAME;
7161   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugMarkerSpecVersion   = VK_EXT_DEBUG_MARKER_SPEC_VERSION;
7162 
7163   //=== VK_KHR_video_queue ===
7164   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueExtensionName = VK_KHR_VIDEO_QUEUE_EXTENSION_NAME;
7165   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoQueueSpecVersion   = VK_KHR_VIDEO_QUEUE_SPEC_VERSION;
7166 
7167   //=== VK_KHR_video_decode_queue ===
7168   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueExtensionName = VK_KHR_VIDEO_DECODE_QUEUE_EXTENSION_NAME;
7169   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeQueueSpecVersion   = VK_KHR_VIDEO_DECODE_QUEUE_SPEC_VERSION;
7170 
7171   //=== VK_AMD_gcn_shader ===
7172   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderExtensionName = VK_AMD_GCN_SHADER_EXTENSION_NAME;
7173   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGcnShaderSpecVersion   = VK_AMD_GCN_SHADER_SPEC_VERSION;
7174 
7175   //=== VK_NV_dedicated_allocation ===
7176   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7177   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationExtensionName = VK_NV_DEDICATED_ALLOCATION_EXTENSION_NAME;
7178   VULKAN_HPP_DEPRECATED( "The VK_NV_dedicated_allocation extension has been deprecated by VK_KHR_dedicated_allocation." )
7179   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationSpecVersion = VK_NV_DEDICATED_ALLOCATION_SPEC_VERSION;
7180 
7181   //=== VK_EXT_transform_feedback ===
7182   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackExtensionName = VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME;
7183   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTransformFeedbackSpecVersion   = VK_EXT_TRANSFORM_FEEDBACK_SPEC_VERSION;
7184 
7185   //=== VK_NVX_binary_import ===
7186   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportExtensionName = VK_NVX_BINARY_IMPORT_EXTENSION_NAME;
7187   VULKAN_HPP_CONSTEXPR_INLINE auto NVXBinaryImportSpecVersion   = VK_NVX_BINARY_IMPORT_SPEC_VERSION;
7188 
7189   //=== VK_NVX_image_view_handle ===
7190   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleExtensionName = VK_NVX_IMAGE_VIEW_HANDLE_EXTENSION_NAME;
7191   VULKAN_HPP_CONSTEXPR_INLINE auto NVXImageViewHandleSpecVersion   = VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION;
7192 
7193   //=== VK_AMD_draw_indirect_count ===
7194   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountExtensionName = VK_AMD_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7195   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDrawIndirectCountSpecVersion   = VK_AMD_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7196 
7197   //=== VK_AMD_negative_viewport_height ===
7198   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7199   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightExtensionName = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_EXTENSION_NAME;
7200   VULKAN_HPP_DEPRECATED( "The VK_AMD_negative_viewport_height extension has been obsoleted by VK_KHR_maintenance1." )
7201   VULKAN_HPP_CONSTEXPR_INLINE auto AMDNegativeViewportHeightSpecVersion = VK_AMD_NEGATIVE_VIEWPORT_HEIGHT_SPEC_VERSION;
7202 
7203   //=== VK_AMD_gpu_shader_half_float ===
7204   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7205   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatExtensionName = VK_AMD_GPU_SHADER_HALF_FLOAT_EXTENSION_NAME;
7206   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_half_float extension has been deprecated by VK_KHR_shader_float16_int8." )
7207   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderHalfFloatSpecVersion = VK_AMD_GPU_SHADER_HALF_FLOAT_SPEC_VERSION;
7208 
7209   //=== VK_AMD_shader_ballot ===
7210   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotExtensionName = VK_AMD_SHADER_BALLOT_EXTENSION_NAME;
7211   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderBallotSpecVersion   = VK_AMD_SHADER_BALLOT_SPEC_VERSION;
7212 
7213   //=== VK_KHR_video_encode_h264 ===
7214   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264ExtensionName = VK_KHR_VIDEO_ENCODE_H264_EXTENSION_NAME;
7215   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH264SpecVersion   = VK_KHR_VIDEO_ENCODE_H264_SPEC_VERSION;
7216 
7217   //=== VK_KHR_video_encode_h265 ===
7218   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265ExtensionName = VK_KHR_VIDEO_ENCODE_H265_EXTENSION_NAME;
7219   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeH265SpecVersion   = VK_KHR_VIDEO_ENCODE_H265_SPEC_VERSION;
7220 
7221   //=== VK_KHR_video_decode_h264 ===
7222   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264ExtensionName = VK_KHR_VIDEO_DECODE_H264_EXTENSION_NAME;
7223   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH264SpecVersion   = VK_KHR_VIDEO_DECODE_H264_SPEC_VERSION;
7224 
7225   //=== VK_AMD_texture_gather_bias_lod ===
7226   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodExtensionName = VK_AMD_TEXTURE_GATHER_BIAS_LOD_EXTENSION_NAME;
7227   VULKAN_HPP_CONSTEXPR_INLINE auto AMDTextureGatherBiasLodSpecVersion   = VK_AMD_TEXTURE_GATHER_BIAS_LOD_SPEC_VERSION;
7228 
7229   //=== VK_AMD_shader_info ===
7230   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoExtensionName = VK_AMD_SHADER_INFO_EXTENSION_NAME;
7231   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderInfoSpecVersion   = VK_AMD_SHADER_INFO_SPEC_VERSION;
7232 
7233   //=== VK_KHR_dynamic_rendering ===
7234   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingExtensionName = VK_KHR_DYNAMIC_RENDERING_EXTENSION_NAME;
7235   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingSpecVersion   = VK_KHR_DYNAMIC_RENDERING_SPEC_VERSION;
7236 
7237   //=== VK_AMD_shader_image_load_store_lod ===
7238   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodExtensionName = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_EXTENSION_NAME;
7239   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderImageLoadStoreLodSpecVersion   = VK_AMD_SHADER_IMAGE_LOAD_STORE_LOD_SPEC_VERSION;
7240 
7241 #if defined( VK_USE_PLATFORM_GGP )
7242   //=== VK_GGP_stream_descriptor_surface ===
7243   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceExtensionName = VK_GGP_STREAM_DESCRIPTOR_SURFACE_EXTENSION_NAME;
7244   VULKAN_HPP_CONSTEXPR_INLINE auto GGPStreamDescriptorSurfaceSpecVersion   = VK_GGP_STREAM_DESCRIPTOR_SURFACE_SPEC_VERSION;
7245 #endif /*VK_USE_PLATFORM_GGP*/
7246 
7247   //=== VK_NV_corner_sampled_image ===
7248   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageExtensionName = VK_NV_CORNER_SAMPLED_IMAGE_EXTENSION_NAME;
7249   VULKAN_HPP_CONSTEXPR_INLINE auto NVCornerSampledImageSpecVersion   = VK_NV_CORNER_SAMPLED_IMAGE_SPEC_VERSION;
7250 
7251   //=== VK_KHR_multiview ===
7252   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewExtensionName = VK_KHR_MULTIVIEW_EXTENSION_NAME;
7253   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMultiviewSpecVersion   = VK_KHR_MULTIVIEW_SPEC_VERSION;
7254 
7255   //=== VK_IMG_format_pvrtc ===
7256   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7257   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcExtensionName = VK_IMG_FORMAT_PVRTC_EXTENSION_NAME;
7258   VULKAN_HPP_DEPRECATED( "The VK_IMG_format_pvrtc extension has been deprecated." )
7259   VULKAN_HPP_CONSTEXPR_INLINE auto IMGFormatPvrtcSpecVersion = VK_IMG_FORMAT_PVRTC_SPEC_VERSION;
7260 
7261   //=== VK_NV_external_memory_capabilities ===
7262   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7263   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesExtensionName = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7264   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_capabilities extension has been deprecated by VK_KHR_external_memory_capabilities." )
7265   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryCapabilitiesSpecVersion = VK_NV_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7266 
7267   //=== VK_NV_external_memory ===
7268   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7269   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryExtensionName = VK_NV_EXTERNAL_MEMORY_EXTENSION_NAME;
7270   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory extension has been deprecated by VK_KHR_external_memory." )
7271   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemorySpecVersion = VK_NV_EXTERNAL_MEMORY_SPEC_VERSION;
7272 
7273 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7274   //=== VK_NV_external_memory_win32 ===
7275   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7276   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32ExtensionName = VK_NV_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7277   VULKAN_HPP_DEPRECATED( "The VK_NV_external_memory_win32 extension has been deprecated by VK_KHR_external_memory_win32." )
7278   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryWin32SpecVersion = VK_NV_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7279 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7280 
7281 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7282   //=== VK_NV_win32_keyed_mutex ===
7283   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexExtensionName = VK_NV_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7284   VULKAN_HPP_CONSTEXPR_INLINE auto NVWin32KeyedMutexSpecVersion   = VK_NV_WIN32_KEYED_MUTEX_SPEC_VERSION;
7285 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7286 
7287   //=== VK_KHR_get_physical_device_properties2 ===
7288   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2ExtensionName = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_EXTENSION_NAME;
7289   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetPhysicalDeviceProperties2SpecVersion   = VK_KHR_GET_PHYSICAL_DEVICE_PROPERTIES_2_SPEC_VERSION;
7290 
7291   //=== VK_KHR_device_group ===
7292   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupExtensionName = VK_KHR_DEVICE_GROUP_EXTENSION_NAME;
7293   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupSpecVersion   = VK_KHR_DEVICE_GROUP_SPEC_VERSION;
7294 
7295   //=== VK_EXT_validation_flags ===
7296   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7297   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsExtensionName = VK_EXT_VALIDATION_FLAGS_EXTENSION_NAME;
7298   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_flags extension has been deprecated by VK_EXT_layer_settings." )
7299   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFlagsSpecVersion = VK_EXT_VALIDATION_FLAGS_SPEC_VERSION;
7300 
7301 #if defined( VK_USE_PLATFORM_VI_NN )
7302   //=== VK_NN_vi_surface ===
7303   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceExtensionName = VK_NN_VI_SURFACE_EXTENSION_NAME;
7304   VULKAN_HPP_CONSTEXPR_INLINE auto NNViSurfaceSpecVersion   = VK_NN_VI_SURFACE_SPEC_VERSION;
7305 #endif /*VK_USE_PLATFORM_VI_NN*/
7306 
7307   //=== VK_KHR_shader_draw_parameters ===
7308   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersExtensionName = VK_KHR_SHADER_DRAW_PARAMETERS_EXTENSION_NAME;
7309   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderDrawParametersSpecVersion   = VK_KHR_SHADER_DRAW_PARAMETERS_SPEC_VERSION;
7310 
7311   //=== VK_EXT_shader_subgroup_ballot ===
7312   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7313   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotExtensionName = VK_EXT_SHADER_SUBGROUP_BALLOT_EXTENSION_NAME;
7314   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_ballot extension has been deprecated by VK_VERSION_1_2." )
7315   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupBallotSpecVersion = VK_EXT_SHADER_SUBGROUP_BALLOT_SPEC_VERSION;
7316 
7317   //=== VK_EXT_shader_subgroup_vote ===
7318   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7319   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteExtensionName = VK_EXT_SHADER_SUBGROUP_VOTE_EXTENSION_NAME;
7320   VULKAN_HPP_DEPRECATED( "The VK_EXT_shader_subgroup_vote extension has been deprecated by VK_VERSION_1_1." )
7321   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderSubgroupVoteSpecVersion = VK_EXT_SHADER_SUBGROUP_VOTE_SPEC_VERSION;
7322 
7323   //=== VK_EXT_texture_compression_astc_hdr ===
7324   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrExtensionName = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_EXTENSION_NAME;
7325   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTextureCompressionAstcHdrSpecVersion   = VK_EXT_TEXTURE_COMPRESSION_ASTC_HDR_SPEC_VERSION;
7326 
7327   //=== VK_EXT_astc_decode_mode ===
7328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeExtensionName = VK_EXT_ASTC_DECODE_MODE_EXTENSION_NAME;
7329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAstcDecodeModeSpecVersion   = VK_EXT_ASTC_DECODE_MODE_SPEC_VERSION;
7330 
7331   //=== VK_EXT_pipeline_robustness ===
7332   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessExtensionName = VK_EXT_PIPELINE_ROBUSTNESS_EXTENSION_NAME;
7333   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineRobustnessSpecVersion   = VK_EXT_PIPELINE_ROBUSTNESS_SPEC_VERSION;
7334 
7335   //=== VK_KHR_maintenance1 ===
7336   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1ExtensionName = VK_KHR_MAINTENANCE_1_EXTENSION_NAME;
7337   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance1SpecVersion   = VK_KHR_MAINTENANCE_1_SPEC_VERSION;
7338 
7339   //=== VK_KHR_device_group_creation ===
7340   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationExtensionName = VK_KHR_DEVICE_GROUP_CREATION_EXTENSION_NAME;
7341   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeviceGroupCreationSpecVersion   = VK_KHR_DEVICE_GROUP_CREATION_SPEC_VERSION;
7342 
7343   //=== VK_KHR_external_memory_capabilities ===
7344   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesExtensionName = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_EXTENSION_NAME;
7345   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_MEMORY_CAPABILITIES_SPEC_VERSION;
7346 
7347   //=== VK_KHR_external_memory ===
7348   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryExtensionName = VK_KHR_EXTERNAL_MEMORY_EXTENSION_NAME;
7349   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemorySpecVersion   = VK_KHR_EXTERNAL_MEMORY_SPEC_VERSION;
7350 
7351 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7352   //=== VK_KHR_external_memory_win32 ===
7353   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32ExtensionName = VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME;
7354   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryWin32SpecVersion   = VK_KHR_EXTERNAL_MEMORY_WIN32_SPEC_VERSION;
7355 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7356 
7357   //=== VK_KHR_external_memory_fd ===
7358   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdExtensionName = VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME;
7359   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalMemoryFdSpecVersion   = VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION;
7360 
7361 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7362   //=== VK_KHR_win32_keyed_mutex ===
7363   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexExtensionName = VK_KHR_WIN32_KEYED_MUTEX_EXTENSION_NAME;
7364   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWin32KeyedMutexSpecVersion   = VK_KHR_WIN32_KEYED_MUTEX_SPEC_VERSION;
7365 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7366 
7367   //=== VK_KHR_external_semaphore_capabilities ===
7368   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_EXTENSION_NAME;
7369   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_CAPABILITIES_SPEC_VERSION;
7370 
7371   //=== VK_KHR_external_semaphore ===
7372   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
7373   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_SPEC_VERSION;
7374 
7375 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7376   //=== VK_KHR_external_semaphore_win32 ===
7377   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32ExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME;
7378   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreWin32SpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_WIN32_SPEC_VERSION;
7379 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7380 
7381   //=== VK_KHR_external_semaphore_fd ===
7382   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdExtensionName = VK_KHR_EXTERNAL_SEMAPHORE_FD_EXTENSION_NAME;
7383   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalSemaphoreFdSpecVersion   = VK_KHR_EXTERNAL_SEMAPHORE_FD_SPEC_VERSION;
7384 
7385   //=== VK_KHR_push_descriptor ===
7386   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorExtensionName = VK_KHR_PUSH_DESCRIPTOR_EXTENSION_NAME;
7387   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPushDescriptorSpecVersion   = VK_KHR_PUSH_DESCRIPTOR_SPEC_VERSION;
7388 
7389   //=== VK_EXT_conditional_rendering ===
7390   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingExtensionName = VK_EXT_CONDITIONAL_RENDERING_EXTENSION_NAME;
7391   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConditionalRenderingSpecVersion   = VK_EXT_CONDITIONAL_RENDERING_SPEC_VERSION;
7392 
7393   //=== VK_KHR_shader_float16_int8 ===
7394   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8ExtensionName = VK_KHR_SHADER_FLOAT16_INT8_EXTENSION_NAME;
7395   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloat16Int8SpecVersion   = VK_KHR_SHADER_FLOAT16_INT8_SPEC_VERSION;
7396 
7397   //=== VK_KHR_16bit_storage ===
7398   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageExtensionName = VK_KHR_16BIT_STORAGE_EXTENSION_NAME;
7399   VULKAN_HPP_CONSTEXPR_INLINE auto KHR16BitStorageSpecVersion   = VK_KHR_16BIT_STORAGE_SPEC_VERSION;
7400 
7401   //=== VK_KHR_incremental_present ===
7402   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentExtensionName = VK_KHR_INCREMENTAL_PRESENT_EXTENSION_NAME;
7403   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIncrementalPresentSpecVersion   = VK_KHR_INCREMENTAL_PRESENT_SPEC_VERSION;
7404 
7405   //=== VK_KHR_descriptor_update_template ===
7406   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateExtensionName = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_EXTENSION_NAME;
7407   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDescriptorUpdateTemplateSpecVersion   = VK_KHR_DESCRIPTOR_UPDATE_TEMPLATE_SPEC_VERSION;
7408 
7409   //=== VK_NV_clip_space_w_scaling ===
7410   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingExtensionName = VK_NV_CLIP_SPACE_W_SCALING_EXTENSION_NAME;
7411   VULKAN_HPP_CONSTEXPR_INLINE auto NVClipSpaceWScalingSpecVersion   = VK_NV_CLIP_SPACE_W_SCALING_SPEC_VERSION;
7412 
7413   //=== VK_EXT_direct_mode_display ===
7414   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplayExtensionName = VK_EXT_DIRECT_MODE_DISPLAY_EXTENSION_NAME;
7415   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectModeDisplaySpecVersion   = VK_EXT_DIRECT_MODE_DISPLAY_SPEC_VERSION;
7416 
7417 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
7418   //=== VK_EXT_acquire_xlib_display ===
7419   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplayExtensionName = VK_EXT_ACQUIRE_XLIB_DISPLAY_EXTENSION_NAME;
7420   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireXlibDisplaySpecVersion   = VK_EXT_ACQUIRE_XLIB_DISPLAY_SPEC_VERSION;
7421 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
7422 
7423   //=== VK_EXT_display_surface_counter ===
7424   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterExtensionName = VK_EXT_DISPLAY_SURFACE_COUNTER_EXTENSION_NAME;
7425   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplaySurfaceCounterSpecVersion   = VK_EXT_DISPLAY_SURFACE_COUNTER_SPEC_VERSION;
7426 
7427   //=== VK_EXT_display_control ===
7428   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlExtensionName = VK_EXT_DISPLAY_CONTROL_EXTENSION_NAME;
7429   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDisplayControlSpecVersion   = VK_EXT_DISPLAY_CONTROL_SPEC_VERSION;
7430 
7431   //=== VK_GOOGLE_display_timing ===
7432   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingExtensionName = VK_GOOGLE_DISPLAY_TIMING_EXTENSION_NAME;
7433   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDisplayTimingSpecVersion   = VK_GOOGLE_DISPLAY_TIMING_SPEC_VERSION;
7434 
7435   //=== VK_NV_sample_mask_override_coverage ===
7436   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageExtensionName = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_EXTENSION_NAME;
7437   VULKAN_HPP_CONSTEXPR_INLINE auto NVSampleMaskOverrideCoverageSpecVersion   = VK_NV_SAMPLE_MASK_OVERRIDE_COVERAGE_SPEC_VERSION;
7438 
7439   //=== VK_NV_geometry_shader_passthrough ===
7440   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughExtensionName = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_EXTENSION_NAME;
7441   VULKAN_HPP_CONSTEXPR_INLINE auto NVGeometryShaderPassthroughSpecVersion   = VK_NV_GEOMETRY_SHADER_PASSTHROUGH_SPEC_VERSION;
7442 
7443   //=== VK_NV_viewport_array2 ===
7444   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2ExtensionName = VK_NV_VIEWPORT_ARRAY_2_EXTENSION_NAME;
7445   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportArray2SpecVersion   = VK_NV_VIEWPORT_ARRAY_2_SPEC_VERSION;
7446 
7447   //=== VK_NVX_multiview_per_view_attributes ===
7448   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesExtensionName = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_EXTENSION_NAME;
7449   VULKAN_HPP_CONSTEXPR_INLINE auto NVXMultiviewPerViewAttributesSpecVersion   = VK_NVX_MULTIVIEW_PER_VIEW_ATTRIBUTES_SPEC_VERSION;
7450 
7451   //=== VK_NV_viewport_swizzle ===
7452   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleExtensionName = VK_NV_VIEWPORT_SWIZZLE_EXTENSION_NAME;
7453   VULKAN_HPP_CONSTEXPR_INLINE auto NVViewportSwizzleSpecVersion   = VK_NV_VIEWPORT_SWIZZLE_SPEC_VERSION;
7454 
7455   //=== VK_EXT_discard_rectangles ===
7456   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesExtensionName = VK_EXT_DISCARD_RECTANGLES_EXTENSION_NAME;
7457   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDiscardRectanglesSpecVersion   = VK_EXT_DISCARD_RECTANGLES_SPEC_VERSION;
7458 
7459   //=== VK_EXT_conservative_rasterization ===
7460   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationExtensionName = VK_EXT_CONSERVATIVE_RASTERIZATION_EXTENSION_NAME;
7461   VULKAN_HPP_CONSTEXPR_INLINE auto EXTConservativeRasterizationSpecVersion   = VK_EXT_CONSERVATIVE_RASTERIZATION_SPEC_VERSION;
7462 
7463   //=== VK_EXT_depth_clip_enable ===
7464   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableExtensionName = VK_EXT_DEPTH_CLIP_ENABLE_EXTENSION_NAME;
7465   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipEnableSpecVersion   = VK_EXT_DEPTH_CLIP_ENABLE_SPEC_VERSION;
7466 
7467   //=== VK_EXT_swapchain_colorspace ===
7468   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceExtensionName = VK_EXT_SWAPCHAIN_COLOR_SPACE_EXTENSION_NAME;
7469   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainColorSpaceSpecVersion   = VK_EXT_SWAPCHAIN_COLOR_SPACE_SPEC_VERSION;
7470 
7471   //=== VK_EXT_hdr_metadata ===
7472   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataExtensionName = VK_EXT_HDR_METADATA_EXTENSION_NAME;
7473   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHdrMetadataSpecVersion   = VK_EXT_HDR_METADATA_SPEC_VERSION;
7474 
7475   //=== VK_KHR_imageless_framebuffer ===
7476   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferExtensionName = VK_KHR_IMAGELESS_FRAMEBUFFER_EXTENSION_NAME;
7477   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImagelessFramebufferSpecVersion   = VK_KHR_IMAGELESS_FRAMEBUFFER_SPEC_VERSION;
7478 
7479   //=== VK_KHR_create_renderpass2 ===
7480   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2ExtensionName = VK_KHR_CREATE_RENDERPASS_2_EXTENSION_NAME;
7481   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCreateRenderpass2SpecVersion   = VK_KHR_CREATE_RENDERPASS_2_SPEC_VERSION;
7482 
7483   //=== VK_IMG_relaxed_line_rasterization ===
7484   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationExtensionName = VK_IMG_RELAXED_LINE_RASTERIZATION_EXTENSION_NAME;
7485   VULKAN_HPP_CONSTEXPR_INLINE auto IMGRelaxedLineRasterizationSpecVersion   = VK_IMG_RELAXED_LINE_RASTERIZATION_SPEC_VERSION;
7486 
7487   //=== VK_KHR_shared_presentable_image ===
7488   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageExtensionName = VK_KHR_SHARED_PRESENTABLE_IMAGE_EXTENSION_NAME;
7489   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSharedPresentableImageSpecVersion   = VK_KHR_SHARED_PRESENTABLE_IMAGE_SPEC_VERSION;
7490 
7491   //=== VK_KHR_external_fence_capabilities ===
7492   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesExtensionName = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_EXTENSION_NAME;
7493   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceCapabilitiesSpecVersion   = VK_KHR_EXTERNAL_FENCE_CAPABILITIES_SPEC_VERSION;
7494 
7495   //=== VK_KHR_external_fence ===
7496   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceExtensionName = VK_KHR_EXTERNAL_FENCE_EXTENSION_NAME;
7497   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceSpecVersion   = VK_KHR_EXTERNAL_FENCE_SPEC_VERSION;
7498 
7499 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7500   //=== VK_KHR_external_fence_win32 ===
7501   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32ExtensionName = VK_KHR_EXTERNAL_FENCE_WIN32_EXTENSION_NAME;
7502   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceWin32SpecVersion   = VK_KHR_EXTERNAL_FENCE_WIN32_SPEC_VERSION;
7503 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7504 
7505   //=== VK_KHR_external_fence_fd ===
7506   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdExtensionName = VK_KHR_EXTERNAL_FENCE_FD_EXTENSION_NAME;
7507   VULKAN_HPP_CONSTEXPR_INLINE auto KHRExternalFenceFdSpecVersion   = VK_KHR_EXTERNAL_FENCE_FD_SPEC_VERSION;
7508 
7509   //=== VK_KHR_performance_query ===
7510   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQueryExtensionName = VK_KHR_PERFORMANCE_QUERY_EXTENSION_NAME;
7511   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPerformanceQuerySpecVersion   = VK_KHR_PERFORMANCE_QUERY_SPEC_VERSION;
7512 
7513   //=== VK_KHR_maintenance2 ===
7514   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2ExtensionName = VK_KHR_MAINTENANCE_2_EXTENSION_NAME;
7515   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance2SpecVersion   = VK_KHR_MAINTENANCE_2_SPEC_VERSION;
7516 
7517   //=== VK_KHR_get_surface_capabilities2 ===
7518   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2ExtensionName = VK_KHR_GET_SURFACE_CAPABILITIES_2_EXTENSION_NAME;
7519   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetSurfaceCapabilities2SpecVersion   = VK_KHR_GET_SURFACE_CAPABILITIES_2_SPEC_VERSION;
7520 
7521   //=== VK_KHR_variable_pointers ===
7522   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersExtensionName = VK_KHR_VARIABLE_POINTERS_EXTENSION_NAME;
7523   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVariablePointersSpecVersion   = VK_KHR_VARIABLE_POINTERS_SPEC_VERSION;
7524 
7525   //=== VK_KHR_get_display_properties2 ===
7526   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2ExtensionName = VK_KHR_GET_DISPLAY_PROPERTIES_2_EXTENSION_NAME;
7527   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetDisplayProperties2SpecVersion   = VK_KHR_GET_DISPLAY_PROPERTIES_2_SPEC_VERSION;
7528 
7529 #if defined( VK_USE_PLATFORM_IOS_MVK )
7530   //=== VK_MVK_ios_surface ===
7531   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7532   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceExtensionName = VK_MVK_IOS_SURFACE_EXTENSION_NAME;
7533   VULKAN_HPP_DEPRECATED( "The VK_MVK_ios_surface extension has been deprecated by VK_EXT_metal_surface." )
7534   VULKAN_HPP_CONSTEXPR_INLINE auto MVKIosSurfaceSpecVersion = VK_MVK_IOS_SURFACE_SPEC_VERSION;
7535 #endif /*VK_USE_PLATFORM_IOS_MVK*/
7536 
7537 #if defined( VK_USE_PLATFORM_MACOS_MVK )
7538   //=== VK_MVK_macos_surface ===
7539   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7540   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceExtensionName = VK_MVK_MACOS_SURFACE_EXTENSION_NAME;
7541   VULKAN_HPP_DEPRECATED( "The VK_MVK_macos_surface extension has been deprecated by VK_EXT_metal_surface." )
7542   VULKAN_HPP_CONSTEXPR_INLINE auto MVKMacosSurfaceSpecVersion = VK_MVK_MACOS_SURFACE_SPEC_VERSION;
7543 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
7544 
7545   //=== VK_EXT_external_memory_dma_buf ===
7546   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufExtensionName = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_EXTENSION_NAME;
7547   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryDmaBufSpecVersion   = VK_EXT_EXTERNAL_MEMORY_DMA_BUF_SPEC_VERSION;
7548 
7549   //=== VK_EXT_queue_family_foreign ===
7550   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignExtensionName = VK_EXT_QUEUE_FAMILY_FOREIGN_EXTENSION_NAME;
7551   VULKAN_HPP_CONSTEXPR_INLINE auto EXTQueueFamilyForeignSpecVersion   = VK_EXT_QUEUE_FAMILY_FOREIGN_SPEC_VERSION;
7552 
7553   //=== VK_KHR_dedicated_allocation ===
7554   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationExtensionName = VK_KHR_DEDICATED_ALLOCATION_EXTENSION_NAME;
7555   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDedicatedAllocationSpecVersion   = VK_KHR_DEDICATED_ALLOCATION_SPEC_VERSION;
7556 
7557   //=== VK_EXT_debug_utils ===
7558   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsExtensionName = VK_EXT_DEBUG_UTILS_EXTENSION_NAME;
7559   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDebugUtilsSpecVersion   = VK_EXT_DEBUG_UTILS_SPEC_VERSION;
7560 
7561 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
7562   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
7563   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferExtensionName = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_EXTENSION_NAME;
7564   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalMemoryAndroidHardwareBufferSpecVersion   = VK_ANDROID_EXTERNAL_MEMORY_ANDROID_HARDWARE_BUFFER_SPEC_VERSION;
7565 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
7566 
7567   //=== VK_EXT_sampler_filter_minmax ===
7568   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxExtensionName = VK_EXT_SAMPLER_FILTER_MINMAX_EXTENSION_NAME;
7569   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSamplerFilterMinmaxSpecVersion   = VK_EXT_SAMPLER_FILTER_MINMAX_SPEC_VERSION;
7570 
7571   //=== VK_KHR_storage_buffer_storage_class ===
7572   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassExtensionName = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_EXTENSION_NAME;
7573   VULKAN_HPP_CONSTEXPR_INLINE auto KHRStorageBufferStorageClassSpecVersion   = VK_KHR_STORAGE_BUFFER_STORAGE_CLASS_SPEC_VERSION;
7574 
7575   //=== VK_AMD_gpu_shader_int16 ===
7576   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7577   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16ExtensionName = VK_AMD_GPU_SHADER_INT16_EXTENSION_NAME;
7578   VULKAN_HPP_DEPRECATED( "The VK_AMD_gpu_shader_int16 extension has been deprecated by VK_KHR_shader_float16_int8." )
7579   VULKAN_HPP_CONSTEXPR_INLINE auto AMDGpuShaderInt16SpecVersion = VK_AMD_GPU_SHADER_INT16_SPEC_VERSION;
7580 
7581 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7582   //=== VK_AMDX_shader_enqueue ===
7583   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueExtensionName = VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME;
7584   VULKAN_HPP_CONSTEXPR_INLINE auto AMDXShaderEnqueueSpecVersion   = VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION;
7585 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7586 
7587   //=== VK_AMD_mixed_attachment_samples ===
7588   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesExtensionName = VK_AMD_MIXED_ATTACHMENT_SAMPLES_EXTENSION_NAME;
7589   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMixedAttachmentSamplesSpecVersion   = VK_AMD_MIXED_ATTACHMENT_SAMPLES_SPEC_VERSION;
7590 
7591   //=== VK_AMD_shader_fragment_mask ===
7592   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskExtensionName = VK_AMD_SHADER_FRAGMENT_MASK_EXTENSION_NAME;
7593   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderFragmentMaskSpecVersion   = VK_AMD_SHADER_FRAGMENT_MASK_SPEC_VERSION;
7594 
7595   //=== VK_EXT_inline_uniform_block ===
7596   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockExtensionName = VK_EXT_INLINE_UNIFORM_BLOCK_EXTENSION_NAME;
7597   VULKAN_HPP_CONSTEXPR_INLINE auto EXTInlineUniformBlockSpecVersion   = VK_EXT_INLINE_UNIFORM_BLOCK_SPEC_VERSION;
7598 
7599   //=== VK_EXT_shader_stencil_export ===
7600   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportExtensionName = VK_EXT_SHADER_STENCIL_EXPORT_EXTENSION_NAME;
7601   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderStencilExportSpecVersion   = VK_EXT_SHADER_STENCIL_EXPORT_SPEC_VERSION;
7602 
7603   //=== VK_EXT_sample_locations ===
7604   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsExtensionName = VK_EXT_SAMPLE_LOCATIONS_EXTENSION_NAME;
7605   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSampleLocationsSpecVersion   = VK_EXT_SAMPLE_LOCATIONS_SPEC_VERSION;
7606 
7607   //=== VK_KHR_relaxed_block_layout ===
7608   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutExtensionName = VK_KHR_RELAXED_BLOCK_LAYOUT_EXTENSION_NAME;
7609   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRelaxedBlockLayoutSpecVersion   = VK_KHR_RELAXED_BLOCK_LAYOUT_SPEC_VERSION;
7610 
7611   //=== VK_KHR_get_memory_requirements2 ===
7612   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2ExtensionName = VK_KHR_GET_MEMORY_REQUIREMENTS_2_EXTENSION_NAME;
7613   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGetMemoryRequirements2SpecVersion   = VK_KHR_GET_MEMORY_REQUIREMENTS_2_SPEC_VERSION;
7614 
7615   //=== VK_KHR_image_format_list ===
7616   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListExtensionName = VK_KHR_IMAGE_FORMAT_LIST_EXTENSION_NAME;
7617   VULKAN_HPP_CONSTEXPR_INLINE auto KHRImageFormatListSpecVersion   = VK_KHR_IMAGE_FORMAT_LIST_SPEC_VERSION;
7618 
7619   //=== VK_EXT_blend_operation_advanced ===
7620   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedExtensionName = VK_EXT_BLEND_OPERATION_ADVANCED_EXTENSION_NAME;
7621   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBlendOperationAdvancedSpecVersion   = VK_EXT_BLEND_OPERATION_ADVANCED_SPEC_VERSION;
7622 
7623   //=== VK_NV_fragment_coverage_to_color ===
7624   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorExtensionName = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_EXTENSION_NAME;
7625   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentCoverageToColorSpecVersion   = VK_NV_FRAGMENT_COVERAGE_TO_COLOR_SPEC_VERSION;
7626 
7627   //=== VK_KHR_acceleration_structure ===
7628   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureExtensionName = VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME;
7629   VULKAN_HPP_CONSTEXPR_INLINE auto KHRAccelerationStructureSpecVersion   = VK_KHR_ACCELERATION_STRUCTURE_SPEC_VERSION;
7630 
7631   //=== VK_KHR_ray_tracing_pipeline ===
7632   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineExtensionName = VK_KHR_RAY_TRACING_PIPELINE_EXTENSION_NAME;
7633   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPipelineSpecVersion   = VK_KHR_RAY_TRACING_PIPELINE_SPEC_VERSION;
7634 
7635   //=== VK_KHR_ray_query ===
7636   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQueryExtensionName = VK_KHR_RAY_QUERY_EXTENSION_NAME;
7637   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayQuerySpecVersion   = VK_KHR_RAY_QUERY_SPEC_VERSION;
7638 
7639   //=== VK_NV_framebuffer_mixed_samples ===
7640   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesExtensionName = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_EXTENSION_NAME;
7641   VULKAN_HPP_CONSTEXPR_INLINE auto NVFramebufferMixedSamplesSpecVersion   = VK_NV_FRAMEBUFFER_MIXED_SAMPLES_SPEC_VERSION;
7642 
7643   //=== VK_NV_fill_rectangle ===
7644   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleExtensionName = VK_NV_FILL_RECTANGLE_EXTENSION_NAME;
7645   VULKAN_HPP_CONSTEXPR_INLINE auto NVFillRectangleSpecVersion   = VK_NV_FILL_RECTANGLE_SPEC_VERSION;
7646 
7647   //=== VK_NV_shader_sm_builtins ===
7648   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsExtensionName = VK_NV_SHADER_SM_BUILTINS_EXTENSION_NAME;
7649   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSmBuiltinsSpecVersion   = VK_NV_SHADER_SM_BUILTINS_SPEC_VERSION;
7650 
7651   //=== VK_EXT_post_depth_coverage ===
7652   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageExtensionName = VK_EXT_POST_DEPTH_COVERAGE_EXTENSION_NAME;
7653   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPostDepthCoverageSpecVersion   = VK_EXT_POST_DEPTH_COVERAGE_SPEC_VERSION;
7654 
7655   //=== VK_KHR_sampler_ycbcr_conversion ===
7656   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionExtensionName = VK_KHR_SAMPLER_YCBCR_CONVERSION_EXTENSION_NAME;
7657   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSamplerYcbcrConversionSpecVersion   = VK_KHR_SAMPLER_YCBCR_CONVERSION_SPEC_VERSION;
7658 
7659   //=== VK_KHR_bind_memory2 ===
7660   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2ExtensionName = VK_KHR_BIND_MEMORY_2_EXTENSION_NAME;
7661   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBindMemory2SpecVersion   = VK_KHR_BIND_MEMORY_2_SPEC_VERSION;
7662 
7663   //=== VK_EXT_image_drm_format_modifier ===
7664   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierExtensionName = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_EXTENSION_NAME;
7665   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageDrmFormatModifierSpecVersion   = VK_EXT_IMAGE_DRM_FORMAT_MODIFIER_SPEC_VERSION;
7666 
7667   //=== VK_EXT_validation_cache ===
7668   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheExtensionName = VK_EXT_VALIDATION_CACHE_EXTENSION_NAME;
7669   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationCacheSpecVersion   = VK_EXT_VALIDATION_CACHE_SPEC_VERSION;
7670 
7671   //=== VK_EXT_descriptor_indexing ===
7672   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingExtensionName = VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME;
7673   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorIndexingSpecVersion   = VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION;
7674 
7675   //=== VK_EXT_shader_viewport_index_layer ===
7676   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerExtensionName = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_EXTENSION_NAME;
7677   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderViewportIndexLayerSpecVersion   = VK_EXT_SHADER_VIEWPORT_INDEX_LAYER_SPEC_VERSION;
7678 
7679 #if defined( VK_ENABLE_BETA_EXTENSIONS )
7680   //=== VK_KHR_portability_subset ===
7681   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetExtensionName = VK_KHR_PORTABILITY_SUBSET_EXTENSION_NAME;
7682   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilitySubsetSpecVersion   = VK_KHR_PORTABILITY_SUBSET_SPEC_VERSION;
7683 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
7684 
7685   //=== VK_NV_shading_rate_image ===
7686   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageExtensionName = VK_NV_SHADING_RATE_IMAGE_EXTENSION_NAME;
7687   VULKAN_HPP_CONSTEXPR_INLINE auto NVShadingRateImageSpecVersion   = VK_NV_SHADING_RATE_IMAGE_SPEC_VERSION;
7688 
7689   //=== VK_NV_ray_tracing ===
7690   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7691   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingExtensionName = VK_NV_RAY_TRACING_EXTENSION_NAME;
7692   VULKAN_HPP_DEPRECATED( "The VK_NV_ray_tracing extension has been deprecated by VK_KHR_ray_tracing_pipeline." )
7693   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingSpecVersion = VK_NV_RAY_TRACING_SPEC_VERSION;
7694 
7695   //=== VK_NV_representative_fragment_test ===
7696   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestExtensionName = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_EXTENSION_NAME;
7697   VULKAN_HPP_CONSTEXPR_INLINE auto NVRepresentativeFragmentTestSpecVersion   = VK_NV_REPRESENTATIVE_FRAGMENT_TEST_SPEC_VERSION;
7698 
7699   //=== VK_KHR_maintenance3 ===
7700   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3ExtensionName = VK_KHR_MAINTENANCE_3_EXTENSION_NAME;
7701   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance3SpecVersion   = VK_KHR_MAINTENANCE_3_SPEC_VERSION;
7702 
7703   //=== VK_KHR_draw_indirect_count ===
7704   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountExtensionName = VK_KHR_DRAW_INDIRECT_COUNT_EXTENSION_NAME;
7705   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDrawIndirectCountSpecVersion   = VK_KHR_DRAW_INDIRECT_COUNT_SPEC_VERSION;
7706 
7707   //=== VK_EXT_filter_cubic ===
7708   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicExtensionName = VK_EXT_FILTER_CUBIC_EXTENSION_NAME;
7709   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFilterCubicSpecVersion   = VK_EXT_FILTER_CUBIC_SPEC_VERSION;
7710 
7711   //=== VK_QCOM_render_pass_shader_resolve ===
7712   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveExtensionName = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_EXTENSION_NAME;
7713   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassShaderResolveSpecVersion   = VK_QCOM_RENDER_PASS_SHADER_RESOLVE_SPEC_VERSION;
7714 
7715   //=== VK_EXT_global_priority ===
7716   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityExtensionName = VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME;
7717   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPrioritySpecVersion   = VK_EXT_GLOBAL_PRIORITY_SPEC_VERSION;
7718 
7719   //=== VK_KHR_shader_subgroup_extended_types ===
7720   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesExtensionName = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_EXTENSION_NAME;
7721   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupExtendedTypesSpecVersion   = VK_KHR_SHADER_SUBGROUP_EXTENDED_TYPES_SPEC_VERSION;
7722 
7723   //=== VK_KHR_8bit_storage ===
7724   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageExtensionName = VK_KHR_8BIT_STORAGE_EXTENSION_NAME;
7725   VULKAN_HPP_CONSTEXPR_INLINE auto KHR8BitStorageSpecVersion   = VK_KHR_8BIT_STORAGE_SPEC_VERSION;
7726 
7727   //=== VK_EXT_external_memory_host ===
7728   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostExtensionName = VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME;
7729   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryHostSpecVersion   = VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION;
7730 
7731   //=== VK_AMD_buffer_marker ===
7732   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerExtensionName = VK_AMD_BUFFER_MARKER_EXTENSION_NAME;
7733   VULKAN_HPP_CONSTEXPR_INLINE auto AMDBufferMarkerSpecVersion   = VK_AMD_BUFFER_MARKER_SPEC_VERSION;
7734 
7735   //=== VK_KHR_shader_atomic_int64 ===
7736   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64ExtensionName = VK_KHR_SHADER_ATOMIC_INT64_EXTENSION_NAME;
7737   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderAtomicInt64SpecVersion   = VK_KHR_SHADER_ATOMIC_INT64_SPEC_VERSION;
7738 
7739   //=== VK_KHR_shader_clock ===
7740   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockExtensionName = VK_KHR_SHADER_CLOCK_EXTENSION_NAME;
7741   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderClockSpecVersion   = VK_KHR_SHADER_CLOCK_SPEC_VERSION;
7742 
7743   //=== VK_AMD_pipeline_compiler_control ===
7744   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlExtensionName = VK_AMD_PIPELINE_COMPILER_CONTROL_EXTENSION_NAME;
7745   VULKAN_HPP_CONSTEXPR_INLINE auto AMDPipelineCompilerControlSpecVersion   = VK_AMD_PIPELINE_COMPILER_CONTROL_SPEC_VERSION;
7746 
7747   //=== VK_EXT_calibrated_timestamps ===
7748   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsExtensionName = VK_EXT_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
7749   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCalibratedTimestampsSpecVersion   = VK_EXT_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
7750 
7751   //=== VK_AMD_shader_core_properties ===
7752   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
7753   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCorePropertiesSpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_SPEC_VERSION;
7754 
7755   //=== VK_KHR_video_decode_h265 ===
7756   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265ExtensionName = VK_KHR_VIDEO_DECODE_H265_EXTENSION_NAME;
7757   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeH265SpecVersion   = VK_KHR_VIDEO_DECODE_H265_SPEC_VERSION;
7758 
7759   //=== VK_KHR_global_priority ===
7760   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPriorityExtensionName = VK_KHR_GLOBAL_PRIORITY_EXTENSION_NAME;
7761   VULKAN_HPP_CONSTEXPR_INLINE auto KHRGlobalPrioritySpecVersion   = VK_KHR_GLOBAL_PRIORITY_SPEC_VERSION;
7762 
7763   //=== VK_AMD_memory_overallocation_behavior ===
7764   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorExtensionName = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_EXTENSION_NAME;
7765   VULKAN_HPP_CONSTEXPR_INLINE auto AMDMemoryOverallocationBehaviorSpecVersion   = VK_AMD_MEMORY_OVERALLOCATION_BEHAVIOR_SPEC_VERSION;
7766 
7767   //=== VK_EXT_vertex_attribute_divisor ===
7768   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorExtensionName = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
7769   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexAttributeDivisorSpecVersion   = VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
7770 
7771 #if defined( VK_USE_PLATFORM_GGP )
7772   //=== VK_GGP_frame_token ===
7773   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenExtensionName = VK_GGP_FRAME_TOKEN_EXTENSION_NAME;
7774   VULKAN_HPP_CONSTEXPR_INLINE auto GGPFrameTokenSpecVersion   = VK_GGP_FRAME_TOKEN_SPEC_VERSION;
7775 #endif /*VK_USE_PLATFORM_GGP*/
7776 
7777   //=== VK_EXT_pipeline_creation_feedback ===
7778   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackExtensionName = VK_EXT_PIPELINE_CREATION_FEEDBACK_EXTENSION_NAME;
7779   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationFeedbackSpecVersion   = VK_EXT_PIPELINE_CREATION_FEEDBACK_SPEC_VERSION;
7780 
7781   //=== VK_KHR_driver_properties ===
7782   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesExtensionName = VK_KHR_DRIVER_PROPERTIES_EXTENSION_NAME;
7783   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDriverPropertiesSpecVersion   = VK_KHR_DRIVER_PROPERTIES_SPEC_VERSION;
7784 
7785   //=== VK_KHR_shader_float_controls ===
7786   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_EXTENSION_NAME;
7787   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControlsSpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_SPEC_VERSION;
7788 
7789   //=== VK_NV_shader_subgroup_partitioned ===
7790   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedExtensionName = VK_NV_SHADER_SUBGROUP_PARTITIONED_EXTENSION_NAME;
7791   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderSubgroupPartitionedSpecVersion   = VK_NV_SHADER_SUBGROUP_PARTITIONED_SPEC_VERSION;
7792 
7793   //=== VK_KHR_depth_stencil_resolve ===
7794   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveExtensionName = VK_KHR_DEPTH_STENCIL_RESOLVE_EXTENSION_NAME;
7795   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDepthStencilResolveSpecVersion   = VK_KHR_DEPTH_STENCIL_RESOLVE_SPEC_VERSION;
7796 
7797   //=== VK_KHR_swapchain_mutable_format ===
7798   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatExtensionName = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_EXTENSION_NAME;
7799   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSwapchainMutableFormatSpecVersion   = VK_KHR_SWAPCHAIN_MUTABLE_FORMAT_SPEC_VERSION;
7800 
7801   //=== VK_NV_compute_shader_derivatives ===
7802   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesExtensionName = VK_NV_COMPUTE_SHADER_DERIVATIVES_EXTENSION_NAME;
7803   VULKAN_HPP_CONSTEXPR_INLINE auto NVComputeShaderDerivativesSpecVersion   = VK_NV_COMPUTE_SHADER_DERIVATIVES_SPEC_VERSION;
7804 
7805   //=== VK_NV_mesh_shader ===
7806   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderExtensionName = VK_NV_MESH_SHADER_EXTENSION_NAME;
7807   VULKAN_HPP_CONSTEXPR_INLINE auto NVMeshShaderSpecVersion   = VK_NV_MESH_SHADER_SPEC_VERSION;
7808 
7809   //=== VK_NV_fragment_shader_barycentric ===
7810   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricExtensionName = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
7811   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShaderBarycentricSpecVersion   = VK_NV_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
7812 
7813   //=== VK_NV_shader_image_footprint ===
7814   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintExtensionName = VK_NV_SHADER_IMAGE_FOOTPRINT_EXTENSION_NAME;
7815   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderImageFootprintSpecVersion   = VK_NV_SHADER_IMAGE_FOOTPRINT_SPEC_VERSION;
7816 
7817   //=== VK_NV_scissor_exclusive ===
7818   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveExtensionName = VK_NV_SCISSOR_EXCLUSIVE_EXTENSION_NAME;
7819   VULKAN_HPP_CONSTEXPR_INLINE auto NVScissorExclusiveSpecVersion   = VK_NV_SCISSOR_EXCLUSIVE_SPEC_VERSION;
7820 
7821   //=== VK_NV_device_diagnostic_checkpoints ===
7822   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsExtensionName = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_EXTENSION_NAME;
7823   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticCheckpointsSpecVersion   = VK_NV_DEVICE_DIAGNOSTIC_CHECKPOINTS_SPEC_VERSION;
7824 
7825   //=== VK_KHR_timeline_semaphore ===
7826   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreExtensionName = VK_KHR_TIMELINE_SEMAPHORE_EXTENSION_NAME;
7827   VULKAN_HPP_CONSTEXPR_INLINE auto KHRTimelineSemaphoreSpecVersion   = VK_KHR_TIMELINE_SEMAPHORE_SPEC_VERSION;
7828 
7829   //=== VK_INTEL_shader_integer_functions2 ===
7830   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2ExtensionName = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_EXTENSION_NAME;
7831   VULKAN_HPP_CONSTEXPR_INLINE auto INTELShaderIntegerFunctions2SpecVersion   = VK_INTEL_SHADER_INTEGER_FUNCTIONS_2_SPEC_VERSION;
7832 
7833   //=== VK_INTEL_performance_query ===
7834   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQueryExtensionName = VK_INTEL_PERFORMANCE_QUERY_EXTENSION_NAME;
7835   VULKAN_HPP_CONSTEXPR_INLINE auto INTELPerformanceQuerySpecVersion   = VK_INTEL_PERFORMANCE_QUERY_SPEC_VERSION;
7836 
7837   //=== VK_KHR_vulkan_memory_model ===
7838   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelExtensionName = VK_KHR_VULKAN_MEMORY_MODEL_EXTENSION_NAME;
7839   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVulkanMemoryModelSpecVersion   = VK_KHR_VULKAN_MEMORY_MODEL_SPEC_VERSION;
7840 
7841   //=== VK_EXT_pci_bus_info ===
7842   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoExtensionName = VK_EXT_PCI_BUS_INFO_EXTENSION_NAME;
7843   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPciBusInfoSpecVersion   = VK_EXT_PCI_BUS_INFO_SPEC_VERSION;
7844 
7845   //=== VK_AMD_display_native_hdr ===
7846   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrExtensionName = VK_AMD_DISPLAY_NATIVE_HDR_EXTENSION_NAME;
7847   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDisplayNativeHdrSpecVersion   = VK_AMD_DISPLAY_NATIVE_HDR_SPEC_VERSION;
7848 
7849 #if defined( VK_USE_PLATFORM_FUCHSIA )
7850   //=== VK_FUCHSIA_imagepipe_surface ===
7851   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceExtensionName = VK_FUCHSIA_IMAGEPIPE_SURFACE_EXTENSION_NAME;
7852   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAImagepipeSurfaceSpecVersion   = VK_FUCHSIA_IMAGEPIPE_SURFACE_SPEC_VERSION;
7853 #endif /*VK_USE_PLATFORM_FUCHSIA*/
7854 
7855   //=== VK_KHR_shader_terminate_invocation ===
7856   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationExtensionName = VK_KHR_SHADER_TERMINATE_INVOCATION_EXTENSION_NAME;
7857   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderTerminateInvocationSpecVersion   = VK_KHR_SHADER_TERMINATE_INVOCATION_SPEC_VERSION;
7858 
7859 #if defined( VK_USE_PLATFORM_METAL_EXT )
7860   //=== VK_EXT_metal_surface ===
7861   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceExtensionName = VK_EXT_METAL_SURFACE_EXTENSION_NAME;
7862   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalSurfaceSpecVersion   = VK_EXT_METAL_SURFACE_SPEC_VERSION;
7863 #endif /*VK_USE_PLATFORM_METAL_EXT*/
7864 
7865   //=== VK_EXT_fragment_density_map ===
7866   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_EXTENSION_NAME;
7867   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMapSpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_SPEC_VERSION;
7868 
7869   //=== VK_EXT_scalar_block_layout ===
7870   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutExtensionName = VK_EXT_SCALAR_BLOCK_LAYOUT_EXTENSION_NAME;
7871   VULKAN_HPP_CONSTEXPR_INLINE auto EXTScalarBlockLayoutSpecVersion   = VK_EXT_SCALAR_BLOCK_LAYOUT_SPEC_VERSION;
7872 
7873   //=== VK_GOOGLE_hlsl_functionality1 ===
7874   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1ExtensionName = VK_GOOGLE_HLSL_FUNCTIONALITY_1_EXTENSION_NAME;
7875   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEHlslFunctionality1SpecVersion   = VK_GOOGLE_HLSL_FUNCTIONALITY_1_SPEC_VERSION;
7876 
7877   //=== VK_GOOGLE_decorate_string ===
7878   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringExtensionName = VK_GOOGLE_DECORATE_STRING_EXTENSION_NAME;
7879   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEDecorateStringSpecVersion   = VK_GOOGLE_DECORATE_STRING_SPEC_VERSION;
7880 
7881   //=== VK_EXT_subgroup_size_control ===
7882   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlExtensionName = VK_EXT_SUBGROUP_SIZE_CONTROL_EXTENSION_NAME;
7883   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubgroupSizeControlSpecVersion   = VK_EXT_SUBGROUP_SIZE_CONTROL_SPEC_VERSION;
7884 
7885   //=== VK_KHR_fragment_shading_rate ===
7886   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateExtensionName = VK_KHR_FRAGMENT_SHADING_RATE_EXTENSION_NAME;
7887   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShadingRateSpecVersion   = VK_KHR_FRAGMENT_SHADING_RATE_SPEC_VERSION;
7888 
7889   //=== VK_AMD_shader_core_properties2 ===
7890   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2ExtensionName = VK_AMD_SHADER_CORE_PROPERTIES_2_EXTENSION_NAME;
7891   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderCoreProperties2SpecVersion   = VK_AMD_SHADER_CORE_PROPERTIES_2_SPEC_VERSION;
7892 
7893   //=== VK_AMD_device_coherent_memory ===
7894   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemoryExtensionName = VK_AMD_DEVICE_COHERENT_MEMORY_EXTENSION_NAME;
7895   VULKAN_HPP_CONSTEXPR_INLINE auto AMDDeviceCoherentMemorySpecVersion   = VK_AMD_DEVICE_COHERENT_MEMORY_SPEC_VERSION;
7896 
7897   //=== VK_KHR_dynamic_rendering_local_read ===
7898   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadExtensionName = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_EXTENSION_NAME;
7899   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDynamicRenderingLocalReadSpecVersion   = VK_KHR_DYNAMIC_RENDERING_LOCAL_READ_SPEC_VERSION;
7900 
7901   //=== VK_EXT_shader_image_atomic_int64 ===
7902   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64ExtensionName = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_EXTENSION_NAME;
7903   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderImageAtomicInt64SpecVersion   = VK_EXT_SHADER_IMAGE_ATOMIC_INT64_SPEC_VERSION;
7904 
7905   //=== VK_KHR_shader_quad_control ===
7906   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlExtensionName = VK_KHR_SHADER_QUAD_CONTROL_EXTENSION_NAME;
7907   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderQuadControlSpecVersion   = VK_KHR_SHADER_QUAD_CONTROL_SPEC_VERSION;
7908 
7909   //=== VK_KHR_spirv_1_4 ===
7910   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14ExtensionName = VK_KHR_SPIRV_1_4_EXTENSION_NAME;
7911   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSpirv14SpecVersion   = VK_KHR_SPIRV_1_4_SPEC_VERSION;
7912 
7913   //=== VK_EXT_memory_budget ===
7914   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetExtensionName = VK_EXT_MEMORY_BUDGET_EXTENSION_NAME;
7915   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryBudgetSpecVersion   = VK_EXT_MEMORY_BUDGET_SPEC_VERSION;
7916 
7917   //=== VK_EXT_memory_priority ===
7918   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPriorityExtensionName = VK_EXT_MEMORY_PRIORITY_EXTENSION_NAME;
7919   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMemoryPrioritySpecVersion   = VK_EXT_MEMORY_PRIORITY_SPEC_VERSION;
7920 
7921   //=== VK_KHR_surface_protected_capabilities ===
7922   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesExtensionName = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_EXTENSION_NAME;
7923   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSurfaceProtectedCapabilitiesSpecVersion   = VK_KHR_SURFACE_PROTECTED_CAPABILITIES_SPEC_VERSION;
7924 
7925   //=== VK_NV_dedicated_allocation_image_aliasing ===
7926   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingExtensionName = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_EXTENSION_NAME;
7927   VULKAN_HPP_CONSTEXPR_INLINE auto NVDedicatedAllocationImageAliasingSpecVersion   = VK_NV_DEDICATED_ALLOCATION_IMAGE_ALIASING_SPEC_VERSION;
7928 
7929   //=== VK_KHR_separate_depth_stencil_layouts ===
7930   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsExtensionName = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_EXTENSION_NAME;
7931   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSeparateDepthStencilLayoutsSpecVersion   = VK_KHR_SEPARATE_DEPTH_STENCIL_LAYOUTS_SPEC_VERSION;
7932 
7933   //=== VK_EXT_buffer_device_address ===
7934   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7935   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressExtensionName = VK_EXT_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7936   VULKAN_HPP_DEPRECATED( "The VK_EXT_buffer_device_address extension has been deprecated by VK_KHR_buffer_device_address." )
7937   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBufferDeviceAddressSpecVersion = VK_EXT_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7938 
7939   //=== VK_EXT_tooling_info ===
7940   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoExtensionName = VK_EXT_TOOLING_INFO_EXTENSION_NAME;
7941   VULKAN_HPP_CONSTEXPR_INLINE auto EXTToolingInfoSpecVersion   = VK_EXT_TOOLING_INFO_SPEC_VERSION;
7942 
7943   //=== VK_EXT_separate_stencil_usage ===
7944   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageExtensionName = VK_EXT_SEPARATE_STENCIL_USAGE_EXTENSION_NAME;
7945   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSeparateStencilUsageSpecVersion   = VK_EXT_SEPARATE_STENCIL_USAGE_SPEC_VERSION;
7946 
7947   //=== VK_EXT_validation_features ===
7948   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7949   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesExtensionName = VK_EXT_VALIDATION_FEATURES_EXTENSION_NAME;
7950   VULKAN_HPP_DEPRECATED( "The VK_EXT_validation_features extension has been deprecated by VK_EXT_layer_settings." )
7951   VULKAN_HPP_CONSTEXPR_INLINE auto EXTValidationFeaturesSpecVersion = VK_EXT_VALIDATION_FEATURES_SPEC_VERSION;
7952 
7953   //=== VK_KHR_present_wait ===
7954   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitExtensionName = VK_KHR_PRESENT_WAIT_EXTENSION_NAME;
7955   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentWaitSpecVersion   = VK_KHR_PRESENT_WAIT_SPEC_VERSION;
7956 
7957   //=== VK_NV_cooperative_matrix ===
7958   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixExtensionName = VK_NV_COOPERATIVE_MATRIX_EXTENSION_NAME;
7959   VULKAN_HPP_CONSTEXPR_INLINE auto NVCooperativeMatrixSpecVersion   = VK_NV_COOPERATIVE_MATRIX_SPEC_VERSION;
7960 
7961   //=== VK_NV_coverage_reduction_mode ===
7962   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeExtensionName = VK_NV_COVERAGE_REDUCTION_MODE_EXTENSION_NAME;
7963   VULKAN_HPP_CONSTEXPR_INLINE auto NVCoverageReductionModeSpecVersion   = VK_NV_COVERAGE_REDUCTION_MODE_SPEC_VERSION;
7964 
7965   //=== VK_EXT_fragment_shader_interlock ===
7966   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockExtensionName = VK_EXT_FRAGMENT_SHADER_INTERLOCK_EXTENSION_NAME;
7967   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentShaderInterlockSpecVersion   = VK_EXT_FRAGMENT_SHADER_INTERLOCK_SPEC_VERSION;
7968 
7969   //=== VK_EXT_ycbcr_image_arrays ===
7970   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysExtensionName = VK_EXT_YCBCR_IMAGE_ARRAYS_EXTENSION_NAME;
7971   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcrImageArraysSpecVersion   = VK_EXT_YCBCR_IMAGE_ARRAYS_SPEC_VERSION;
7972 
7973   //=== VK_KHR_uniform_buffer_standard_layout ===
7974   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutExtensionName = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_EXTENSION_NAME;
7975   VULKAN_HPP_CONSTEXPR_INLINE auto KHRUniformBufferStandardLayoutSpecVersion   = VK_KHR_UNIFORM_BUFFER_STANDARD_LAYOUT_SPEC_VERSION;
7976 
7977   //=== VK_EXT_provoking_vertex ===
7978   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexExtensionName = VK_EXT_PROVOKING_VERTEX_EXTENSION_NAME;
7979   VULKAN_HPP_CONSTEXPR_INLINE auto EXTProvokingVertexSpecVersion   = VK_EXT_PROVOKING_VERTEX_SPEC_VERSION;
7980 
7981 #if defined( VK_USE_PLATFORM_WIN32_KHR )
7982   //=== VK_EXT_full_screen_exclusive ===
7983   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveExtensionName = VK_EXT_FULL_SCREEN_EXCLUSIVE_EXTENSION_NAME;
7984   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFullScreenExclusiveSpecVersion   = VK_EXT_FULL_SCREEN_EXCLUSIVE_SPEC_VERSION;
7985 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
7986 
7987   //=== VK_EXT_headless_surface ===
7988   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceExtensionName = VK_EXT_HEADLESS_SURFACE_EXTENSION_NAME;
7989   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHeadlessSurfaceSpecVersion   = VK_EXT_HEADLESS_SURFACE_SPEC_VERSION;
7990 
7991   //=== VK_KHR_buffer_device_address ===
7992   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressExtensionName = VK_KHR_BUFFER_DEVICE_ADDRESS_EXTENSION_NAME;
7993   VULKAN_HPP_CONSTEXPR_INLINE auto KHRBufferDeviceAddressSpecVersion   = VK_KHR_BUFFER_DEVICE_ADDRESS_SPEC_VERSION;
7994 
7995   //=== VK_EXT_line_rasterization ===
7996   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationExtensionName = VK_EXT_LINE_RASTERIZATION_EXTENSION_NAME;
7997   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLineRasterizationSpecVersion   = VK_EXT_LINE_RASTERIZATION_SPEC_VERSION;
7998 
7999   //=== VK_EXT_shader_atomic_float ===
8000   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_EXTENSION_NAME;
8001   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloatSpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_SPEC_VERSION;
8002 
8003   //=== VK_EXT_host_query_reset ===
8004   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetExtensionName = VK_EXT_HOST_QUERY_RESET_EXTENSION_NAME;
8005   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostQueryResetSpecVersion   = VK_EXT_HOST_QUERY_RESET_SPEC_VERSION;
8006 
8007   //=== VK_EXT_index_type_uint8 ===
8008   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8ExtensionName = VK_EXT_INDEX_TYPE_UINT8_EXTENSION_NAME;
8009   VULKAN_HPP_CONSTEXPR_INLINE auto EXTIndexTypeUint8SpecVersion   = VK_EXT_INDEX_TYPE_UINT8_SPEC_VERSION;
8010 
8011   //=== VK_EXT_extended_dynamic_state ===
8012   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_EXTENSION_NAME;
8013   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicStateSpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_SPEC_VERSION;
8014 
8015   //=== VK_KHR_deferred_host_operations ===
8016   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsExtensionName = VK_KHR_DEFERRED_HOST_OPERATIONS_EXTENSION_NAME;
8017   VULKAN_HPP_CONSTEXPR_INLINE auto KHRDeferredHostOperationsSpecVersion   = VK_KHR_DEFERRED_HOST_OPERATIONS_SPEC_VERSION;
8018 
8019   //=== VK_KHR_pipeline_executable_properties ===
8020   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesExtensionName = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_EXTENSION_NAME;
8021   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineExecutablePropertiesSpecVersion   = VK_KHR_PIPELINE_EXECUTABLE_PROPERTIES_SPEC_VERSION;
8022 
8023   //=== VK_EXT_host_image_copy ===
8024   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopyExtensionName = VK_EXT_HOST_IMAGE_COPY_EXTENSION_NAME;
8025   VULKAN_HPP_CONSTEXPR_INLINE auto EXTHostImageCopySpecVersion   = VK_EXT_HOST_IMAGE_COPY_SPEC_VERSION;
8026 
8027   //=== VK_KHR_map_memory2 ===
8028   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2ExtensionName = VK_KHR_MAP_MEMORY_2_EXTENSION_NAME;
8029   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMapMemory2SpecVersion   = VK_KHR_MAP_MEMORY_2_SPEC_VERSION;
8030 
8031   //=== VK_EXT_map_memory_placed ===
8032   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedExtensionName = VK_EXT_MAP_MEMORY_PLACED_EXTENSION_NAME;
8033   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMapMemoryPlacedSpecVersion   = VK_EXT_MAP_MEMORY_PLACED_SPEC_VERSION;
8034 
8035   //=== VK_EXT_shader_atomic_float2 ===
8036   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2ExtensionName = VK_EXT_SHADER_ATOMIC_FLOAT_2_EXTENSION_NAME;
8037   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderAtomicFloat2SpecVersion   = VK_EXT_SHADER_ATOMIC_FLOAT_2_SPEC_VERSION;
8038 
8039   //=== VK_EXT_surface_maintenance1 ===
8040   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1ExtensionName = VK_EXT_SURFACE_MAINTENANCE_1_EXTENSION_NAME;
8041   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSurfaceMaintenance1SpecVersion   = VK_EXT_SURFACE_MAINTENANCE_1_SPEC_VERSION;
8042 
8043   //=== VK_EXT_swapchain_maintenance1 ===
8044   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1ExtensionName = VK_EXT_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME;
8045   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSwapchainMaintenance1SpecVersion   = VK_EXT_SWAPCHAIN_MAINTENANCE_1_SPEC_VERSION;
8046 
8047   //=== VK_EXT_shader_demote_to_helper_invocation ===
8048   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationExtensionName = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_EXTENSION_NAME;
8049   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderDemoteToHelperInvocationSpecVersion   = VK_EXT_SHADER_DEMOTE_TO_HELPER_INVOCATION_SPEC_VERSION;
8050 
8051   //=== VK_NV_device_generated_commands ===
8052   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_EXTENSION_NAME;
8053   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_SPEC_VERSION;
8054 
8055   //=== VK_NV_inherited_viewport_scissor ===
8056   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorExtensionName = VK_NV_INHERITED_VIEWPORT_SCISSOR_EXTENSION_NAME;
8057   VULKAN_HPP_CONSTEXPR_INLINE auto NVInheritedViewportScissorSpecVersion   = VK_NV_INHERITED_VIEWPORT_SCISSOR_SPEC_VERSION;
8058 
8059   //=== VK_KHR_shader_integer_dot_product ===
8060   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductExtensionName = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_EXTENSION_NAME;
8061   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderIntegerDotProductSpecVersion   = VK_KHR_SHADER_INTEGER_DOT_PRODUCT_SPEC_VERSION;
8062 
8063   //=== VK_EXT_texel_buffer_alignment ===
8064   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentExtensionName = VK_EXT_TEXEL_BUFFER_ALIGNMENT_EXTENSION_NAME;
8065   VULKAN_HPP_CONSTEXPR_INLINE auto EXTTexelBufferAlignmentSpecVersion   = VK_EXT_TEXEL_BUFFER_ALIGNMENT_SPEC_VERSION;
8066 
8067   //=== VK_QCOM_render_pass_transform ===
8068   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformExtensionName = VK_QCOM_RENDER_PASS_TRANSFORM_EXTENSION_NAME;
8069   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassTransformSpecVersion   = VK_QCOM_RENDER_PASS_TRANSFORM_SPEC_VERSION;
8070 
8071   //=== VK_EXT_depth_bias_control ===
8072   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlExtensionName = VK_EXT_DEPTH_BIAS_CONTROL_EXTENSION_NAME;
8073   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthBiasControlSpecVersion   = VK_EXT_DEPTH_BIAS_CONTROL_SPEC_VERSION;
8074 
8075   //=== VK_EXT_device_memory_report ===
8076   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportExtensionName = VK_EXT_DEVICE_MEMORY_REPORT_EXTENSION_NAME;
8077   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceMemoryReportSpecVersion   = VK_EXT_DEVICE_MEMORY_REPORT_SPEC_VERSION;
8078 
8079   //=== VK_EXT_acquire_drm_display ===
8080   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplayExtensionName = VK_EXT_ACQUIRE_DRM_DISPLAY_EXTENSION_NAME;
8081   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAcquireDrmDisplaySpecVersion   = VK_EXT_ACQUIRE_DRM_DISPLAY_SPEC_VERSION;
8082 
8083   //=== VK_EXT_robustness2 ===
8084   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2ExtensionName = VK_EXT_ROBUSTNESS_2_EXTENSION_NAME;
8085   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRobustness2SpecVersion   = VK_EXT_ROBUSTNESS_2_SPEC_VERSION;
8086 
8087   //=== VK_EXT_custom_border_color ===
8088   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorExtensionName = VK_EXT_CUSTOM_BORDER_COLOR_EXTENSION_NAME;
8089   VULKAN_HPP_CONSTEXPR_INLINE auto EXTCustomBorderColorSpecVersion   = VK_EXT_CUSTOM_BORDER_COLOR_SPEC_VERSION;
8090 
8091   //=== VK_GOOGLE_user_type ===
8092   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeExtensionName = VK_GOOGLE_USER_TYPE_EXTENSION_NAME;
8093   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLEUserTypeSpecVersion   = VK_GOOGLE_USER_TYPE_SPEC_VERSION;
8094 
8095   //=== VK_KHR_pipeline_library ===
8096   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibraryExtensionName = VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME;
8097   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineLibrarySpecVersion   = VK_KHR_PIPELINE_LIBRARY_SPEC_VERSION;
8098 
8099   //=== VK_NV_present_barrier ===
8100   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierExtensionName = VK_NV_PRESENT_BARRIER_EXTENSION_NAME;
8101   VULKAN_HPP_CONSTEXPR_INLINE auto NVPresentBarrierSpecVersion   = VK_NV_PRESENT_BARRIER_SPEC_VERSION;
8102 
8103   //=== VK_KHR_shader_non_semantic_info ===
8104   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoExtensionName = VK_KHR_SHADER_NON_SEMANTIC_INFO_EXTENSION_NAME;
8105   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderNonSemanticInfoSpecVersion   = VK_KHR_SHADER_NON_SEMANTIC_INFO_SPEC_VERSION;
8106 
8107   //=== VK_KHR_present_id ===
8108   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdExtensionName = VK_KHR_PRESENT_ID_EXTENSION_NAME;
8109   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPresentIdSpecVersion   = VK_KHR_PRESENT_ID_SPEC_VERSION;
8110 
8111   //=== VK_EXT_private_data ===
8112   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataExtensionName = VK_EXT_PRIVATE_DATA_EXTENSION_NAME;
8113   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrivateDataSpecVersion   = VK_EXT_PRIVATE_DATA_SPEC_VERSION;
8114 
8115   //=== VK_EXT_pipeline_creation_cache_control ===
8116   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlExtensionName = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_EXTENSION_NAME;
8117   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineCreationCacheControlSpecVersion   = VK_EXT_PIPELINE_CREATION_CACHE_CONTROL_SPEC_VERSION;
8118 
8119   //=== VK_KHR_video_encode_queue ===
8120   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueExtensionName = VK_KHR_VIDEO_ENCODE_QUEUE_EXTENSION_NAME;
8121   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoEncodeQueueSpecVersion   = VK_KHR_VIDEO_ENCODE_QUEUE_SPEC_VERSION;
8122 
8123   //=== VK_NV_device_diagnostics_config ===
8124   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigExtensionName = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_EXTENSION_NAME;
8125   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceDiagnosticsConfigSpecVersion   = VK_NV_DEVICE_DIAGNOSTICS_CONFIG_SPEC_VERSION;
8126 
8127   //=== VK_QCOM_render_pass_store_ops ===
8128   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsExtensionName = VK_QCOM_RENDER_PASS_STORE_OPS_EXTENSION_NAME;
8129   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRenderPassStoreOpsSpecVersion   = VK_QCOM_RENDER_PASS_STORE_OPS_SPEC_VERSION;
8130 
8131 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8132   //=== VK_NV_cuda_kernel_launch ===
8133   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchExtensionName = VK_NV_CUDA_KERNEL_LAUNCH_EXTENSION_NAME;
8134   VULKAN_HPP_CONSTEXPR_INLINE auto NVCudaKernelLaunchSpecVersion   = VK_NV_CUDA_KERNEL_LAUNCH_SPEC_VERSION;
8135 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8136 
8137   //=== VK_NV_low_latency ===
8138   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencyExtensionName = VK_NV_LOW_LATENCY_EXTENSION_NAME;
8139   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatencySpecVersion   = VK_NV_LOW_LATENCY_SPEC_VERSION;
8140 
8141 #if defined( VK_USE_PLATFORM_METAL_EXT )
8142   //=== VK_EXT_metal_objects ===
8143   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsExtensionName = VK_EXT_METAL_OBJECTS_EXTENSION_NAME;
8144   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMetalObjectsSpecVersion   = VK_EXT_METAL_OBJECTS_SPEC_VERSION;
8145 #endif /*VK_USE_PLATFORM_METAL_EXT*/
8146 
8147   //=== VK_KHR_synchronization2 ===
8148   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2ExtensionName = VK_KHR_SYNCHRONIZATION_2_EXTENSION_NAME;
8149   VULKAN_HPP_CONSTEXPR_INLINE auto KHRSynchronization2SpecVersion   = VK_KHR_SYNCHRONIZATION_2_SPEC_VERSION;
8150 
8151   //=== VK_EXT_descriptor_buffer ===
8152   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferExtensionName = VK_EXT_DESCRIPTOR_BUFFER_EXTENSION_NAME;
8153   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDescriptorBufferSpecVersion   = VK_EXT_DESCRIPTOR_BUFFER_SPEC_VERSION;
8154 
8155   //=== VK_EXT_graphics_pipeline_library ===
8156   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibraryExtensionName = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_EXTENSION_NAME;
8157   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGraphicsPipelineLibrarySpecVersion   = VK_EXT_GRAPHICS_PIPELINE_LIBRARY_SPEC_VERSION;
8158 
8159   //=== VK_AMD_shader_early_and_late_fragment_tests ===
8160   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsExtensionName = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_EXTENSION_NAME;
8161   VULKAN_HPP_CONSTEXPR_INLINE auto AMDShaderEarlyAndLateFragmentTestsSpecVersion   = VK_AMD_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_SPEC_VERSION;
8162 
8163   //=== VK_KHR_fragment_shader_barycentric ===
8164   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricExtensionName = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_EXTENSION_NAME;
8165   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFragmentShaderBarycentricSpecVersion   = VK_KHR_FRAGMENT_SHADER_BARYCENTRIC_SPEC_VERSION;
8166 
8167   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
8168   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowExtensionName = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_EXTENSION_NAME;
8169   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupUniformControlFlowSpecVersion   = VK_KHR_SHADER_SUBGROUP_UNIFORM_CONTROL_FLOW_SPEC_VERSION;
8170 
8171   //=== VK_KHR_zero_initialize_workgroup_memory ===
8172   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemoryExtensionName = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_EXTENSION_NAME;
8173   VULKAN_HPP_CONSTEXPR_INLINE auto KHRZeroInitializeWorkgroupMemorySpecVersion   = VK_KHR_ZERO_INITIALIZE_WORKGROUP_MEMORY_SPEC_VERSION;
8174 
8175   //=== VK_NV_fragment_shading_rate_enums ===
8176   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsExtensionName = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_EXTENSION_NAME;
8177   VULKAN_HPP_CONSTEXPR_INLINE auto NVFragmentShadingRateEnumsSpecVersion   = VK_NV_FRAGMENT_SHADING_RATE_ENUMS_SPEC_VERSION;
8178 
8179   //=== VK_NV_ray_tracing_motion_blur ===
8180   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurExtensionName = VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME;
8181   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingMotionBlurSpecVersion   = VK_NV_RAY_TRACING_MOTION_BLUR_SPEC_VERSION;
8182 
8183   //=== VK_EXT_mesh_shader ===
8184   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderExtensionName = VK_EXT_MESH_SHADER_EXTENSION_NAME;
8185   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMeshShaderSpecVersion   = VK_EXT_MESH_SHADER_SPEC_VERSION;
8186 
8187   //=== VK_EXT_ycbcr_2plane_444_formats ===
8188   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsExtensionName = VK_EXT_YCBCR_2PLANE_444_FORMATS_EXTENSION_NAME;
8189   VULKAN_HPP_CONSTEXPR_INLINE auto EXTYcbcr2Plane444FormatsSpecVersion   = VK_EXT_YCBCR_2PLANE_444_FORMATS_SPEC_VERSION;
8190 
8191   //=== VK_EXT_fragment_density_map2 ===
8192   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2ExtensionName = VK_EXT_FRAGMENT_DENSITY_MAP_2_EXTENSION_NAME;
8193   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFragmentDensityMap2SpecVersion   = VK_EXT_FRAGMENT_DENSITY_MAP_2_SPEC_VERSION;
8194 
8195   //=== VK_QCOM_rotated_copy_commands ===
8196   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsExtensionName = VK_QCOM_ROTATED_COPY_COMMANDS_EXTENSION_NAME;
8197   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMRotatedCopyCommandsSpecVersion   = VK_QCOM_ROTATED_COPY_COMMANDS_SPEC_VERSION;
8198 
8199   //=== VK_EXT_image_robustness ===
8200   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessExtensionName = VK_EXT_IMAGE_ROBUSTNESS_EXTENSION_NAME;
8201   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageRobustnessSpecVersion   = VK_EXT_IMAGE_ROBUSTNESS_SPEC_VERSION;
8202 
8203   //=== VK_KHR_workgroup_memory_explicit_layout ===
8204   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutExtensionName = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_EXTENSION_NAME;
8205   VULKAN_HPP_CONSTEXPR_INLINE auto KHRWorkgroupMemoryExplicitLayoutSpecVersion   = VK_KHR_WORKGROUP_MEMORY_EXPLICIT_LAYOUT_SPEC_VERSION;
8206 
8207   //=== VK_KHR_copy_commands2 ===
8208   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2ExtensionName = VK_KHR_COPY_COMMANDS_2_EXTENSION_NAME;
8209   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCopyCommands2SpecVersion   = VK_KHR_COPY_COMMANDS_2_SPEC_VERSION;
8210 
8211   //=== VK_EXT_image_compression_control ===
8212   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_EXTENSION_NAME;
8213   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SPEC_VERSION;
8214 
8215   //=== VK_EXT_attachment_feedback_loop_layout ===
8216   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_EXTENSION_NAME;
8217   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopLayoutSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_LAYOUT_SPEC_VERSION;
8218 
8219   //=== VK_EXT_4444_formats ===
8220   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsExtensionName = VK_EXT_4444_FORMATS_EXTENSION_NAME;
8221   VULKAN_HPP_CONSTEXPR_INLINE auto EXT4444FormatsSpecVersion   = VK_EXT_4444_FORMATS_SPEC_VERSION;
8222 
8223   //=== VK_EXT_device_fault ===
8224   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultExtensionName = VK_EXT_DEVICE_FAULT_EXTENSION_NAME;
8225   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceFaultSpecVersion   = VK_EXT_DEVICE_FAULT_SPEC_VERSION;
8226 
8227   //=== VK_ARM_rasterization_order_attachment_access ===
8228   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessExtensionName = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8229   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRasterizationOrderAttachmentAccessSpecVersion   = VK_ARM_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8230 
8231   //=== VK_EXT_rgba10x6_formats ===
8232   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsExtensionName = VK_EXT_RGBA10X6_FORMATS_EXTENSION_NAME;
8233   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRgba10X6FormatsSpecVersion   = VK_EXT_RGBA10X6_FORMATS_SPEC_VERSION;
8234 
8235 #if defined( VK_USE_PLATFORM_WIN32_KHR )
8236   //=== VK_NV_acquire_winrt_display ===
8237   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplayExtensionName = VK_NV_ACQUIRE_WINRT_DISPLAY_EXTENSION_NAME;
8238   VULKAN_HPP_CONSTEXPR_INLINE auto NVAcquireWinrtDisplaySpecVersion   = VK_NV_ACQUIRE_WINRT_DISPLAY_SPEC_VERSION;
8239 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
8240 
8241 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
8242   //=== VK_EXT_directfb_surface ===
8243   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceExtensionName = VK_EXT_DIRECTFB_SURFACE_EXTENSION_NAME;
8244   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDirectfbSurfaceSpecVersion   = VK_EXT_DIRECTFB_SURFACE_SPEC_VERSION;
8245 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
8246 
8247   //=== VK_VALVE_mutable_descriptor_type ===
8248   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeExtensionName = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8249   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEMutableDescriptorTypeSpecVersion   = VK_VALVE_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8250 
8251   //=== VK_EXT_vertex_input_dynamic_state ===
8252   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateExtensionName = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_EXTENSION_NAME;
8253   VULKAN_HPP_CONSTEXPR_INLINE auto EXTVertexInputDynamicStateSpecVersion   = VK_EXT_VERTEX_INPUT_DYNAMIC_STATE_SPEC_VERSION;
8254 
8255   //=== VK_EXT_physical_device_drm ===
8256   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmExtensionName = VK_EXT_PHYSICAL_DEVICE_DRM_EXTENSION_NAME;
8257   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPhysicalDeviceDrmSpecVersion   = VK_EXT_PHYSICAL_DEVICE_DRM_SPEC_VERSION;
8258 
8259   //=== VK_EXT_device_address_binding_report ===
8260   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportExtensionName = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_EXTENSION_NAME;
8261   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDeviceAddressBindingReportSpecVersion   = VK_EXT_DEVICE_ADDRESS_BINDING_REPORT_SPEC_VERSION;
8262 
8263   //=== VK_EXT_depth_clip_control ===
8264   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlExtensionName = VK_EXT_DEPTH_CLIP_CONTROL_EXTENSION_NAME;
8265   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClipControlSpecVersion   = VK_EXT_DEPTH_CLIP_CONTROL_SPEC_VERSION;
8266 
8267   //=== VK_EXT_primitive_topology_list_restart ===
8268   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartExtensionName = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_EXTENSION_NAME;
8269   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitiveTopologyListRestartSpecVersion   = VK_EXT_PRIMITIVE_TOPOLOGY_LIST_RESTART_SPEC_VERSION;
8270 
8271   //=== VK_KHR_format_feature_flags2 ===
8272   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2ExtensionName = VK_KHR_FORMAT_FEATURE_FLAGS_2_EXTENSION_NAME;
8273   VULKAN_HPP_CONSTEXPR_INLINE auto KHRFormatFeatureFlags2SpecVersion   = VK_KHR_FORMAT_FEATURE_FLAGS_2_SPEC_VERSION;
8274 
8275 #if defined( VK_USE_PLATFORM_FUCHSIA )
8276   //=== VK_FUCHSIA_external_memory ===
8277   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemoryExtensionName = VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME;
8278   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalMemorySpecVersion   = VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION;
8279 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8280 
8281 #if defined( VK_USE_PLATFORM_FUCHSIA )
8282   //=== VK_FUCHSIA_external_semaphore ===
8283   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreExtensionName = VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME;
8284   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIAExternalSemaphoreSpecVersion   = VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION;
8285 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8286 
8287 #if defined( VK_USE_PLATFORM_FUCHSIA )
8288   //=== VK_FUCHSIA_buffer_collection ===
8289   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionExtensionName = VK_FUCHSIA_BUFFER_COLLECTION_EXTENSION_NAME;
8290   VULKAN_HPP_CONSTEXPR_INLINE auto FUCHSIABufferCollectionSpecVersion   = VK_FUCHSIA_BUFFER_COLLECTION_SPEC_VERSION;
8291 #endif /*VK_USE_PLATFORM_FUCHSIA*/
8292 
8293   //=== VK_HUAWEI_subpass_shading ===
8294   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingExtensionName = VK_HUAWEI_SUBPASS_SHADING_EXTENSION_NAME;
8295   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEISubpassShadingSpecVersion   = VK_HUAWEI_SUBPASS_SHADING_SPEC_VERSION;
8296 
8297   //=== VK_HUAWEI_invocation_mask ===
8298   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskExtensionName = VK_HUAWEI_INVOCATION_MASK_EXTENSION_NAME;
8299   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIInvocationMaskSpecVersion   = VK_HUAWEI_INVOCATION_MASK_SPEC_VERSION;
8300 
8301   //=== VK_NV_external_memory_rdma ===
8302   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaExtensionName = VK_NV_EXTERNAL_MEMORY_RDMA_EXTENSION_NAME;
8303   VULKAN_HPP_CONSTEXPR_INLINE auto NVExternalMemoryRdmaSpecVersion   = VK_NV_EXTERNAL_MEMORY_RDMA_SPEC_VERSION;
8304 
8305   //=== VK_EXT_pipeline_properties ===
8306   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesExtensionName = VK_EXT_PIPELINE_PROPERTIES_EXTENSION_NAME;
8307   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelinePropertiesSpecVersion   = VK_EXT_PIPELINE_PROPERTIES_SPEC_VERSION;
8308 
8309   //=== VK_EXT_frame_boundary ===
8310   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundaryExtensionName = VK_EXT_FRAME_BOUNDARY_EXTENSION_NAME;
8311   VULKAN_HPP_CONSTEXPR_INLINE auto EXTFrameBoundarySpecVersion   = VK_EXT_FRAME_BOUNDARY_SPEC_VERSION;
8312 
8313   //=== VK_EXT_multisampled_render_to_single_sampled ===
8314   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledExtensionName = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_EXTENSION_NAME;
8315   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultisampledRenderToSingleSampledSpecVersion   = VK_EXT_MULTISAMPLED_RENDER_TO_SINGLE_SAMPLED_SPEC_VERSION;
8316 
8317   //=== VK_EXT_extended_dynamic_state2 ===
8318   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_2_EXTENSION_NAME;
8319   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState2SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_2_SPEC_VERSION;
8320 
8321 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8322   //=== VK_QNX_screen_surface ===
8323   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceExtensionName = VK_QNX_SCREEN_SURFACE_EXTENSION_NAME;
8324   VULKAN_HPP_CONSTEXPR_INLINE auto QNXScreenSurfaceSpecVersion   = VK_QNX_SCREEN_SURFACE_SPEC_VERSION;
8325 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8326 
8327   //=== VK_EXT_color_write_enable ===
8328   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableExtensionName = VK_EXT_COLOR_WRITE_ENABLE_EXTENSION_NAME;
8329   VULKAN_HPP_CONSTEXPR_INLINE auto EXTColorWriteEnableSpecVersion   = VK_EXT_COLOR_WRITE_ENABLE_SPEC_VERSION;
8330 
8331   //=== VK_EXT_primitives_generated_query ===
8332   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQueryExtensionName = VK_EXT_PRIMITIVES_GENERATED_QUERY_EXTENSION_NAME;
8333   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPrimitivesGeneratedQuerySpecVersion   = VK_EXT_PRIMITIVES_GENERATED_QUERY_SPEC_VERSION;
8334 
8335   //=== VK_KHR_ray_tracing_maintenance1 ===
8336   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1ExtensionName = VK_KHR_RAY_TRACING_MAINTENANCE_1_EXTENSION_NAME;
8337   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingMaintenance1SpecVersion   = VK_KHR_RAY_TRACING_MAINTENANCE_1_SPEC_VERSION;
8338 
8339   //=== VK_EXT_global_priority_query ===
8340   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQueryExtensionName = VK_EXT_GLOBAL_PRIORITY_QUERY_EXTENSION_NAME;
8341   VULKAN_HPP_CONSTEXPR_INLINE auto EXTGlobalPriorityQuerySpecVersion   = VK_EXT_GLOBAL_PRIORITY_QUERY_SPEC_VERSION;
8342 
8343   //=== VK_EXT_image_view_min_lod ===
8344   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodExtensionName = VK_EXT_IMAGE_VIEW_MIN_LOD_EXTENSION_NAME;
8345   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageViewMinLodSpecVersion   = VK_EXT_IMAGE_VIEW_MIN_LOD_SPEC_VERSION;
8346 
8347   //=== VK_EXT_multi_draw ===
8348   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawExtensionName = VK_EXT_MULTI_DRAW_EXTENSION_NAME;
8349   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMultiDrawSpecVersion   = VK_EXT_MULTI_DRAW_SPEC_VERSION;
8350 
8351   //=== VK_EXT_image_2d_view_of_3d ===
8352   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DExtensionName = VK_EXT_IMAGE_2D_VIEW_OF_3D_EXTENSION_NAME;
8353   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImage2DViewOf3DSpecVersion   = VK_EXT_IMAGE_2D_VIEW_OF_3D_SPEC_VERSION;
8354 
8355   //=== VK_KHR_portability_enumeration ===
8356   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationExtensionName = VK_KHR_PORTABILITY_ENUMERATION_EXTENSION_NAME;
8357   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPortabilityEnumerationSpecVersion   = VK_KHR_PORTABILITY_ENUMERATION_SPEC_VERSION;
8358 
8359   //=== VK_EXT_shader_tile_image ===
8360   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageExtensionName = VK_EXT_SHADER_TILE_IMAGE_EXTENSION_NAME;
8361   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderTileImageSpecVersion   = VK_EXT_SHADER_TILE_IMAGE_SPEC_VERSION;
8362 
8363   //=== VK_EXT_opacity_micromap ===
8364   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapExtensionName = VK_EXT_OPACITY_MICROMAP_EXTENSION_NAME;
8365   VULKAN_HPP_CONSTEXPR_INLINE auto EXTOpacityMicromapSpecVersion   = VK_EXT_OPACITY_MICROMAP_SPEC_VERSION;
8366 
8367 #if defined( VK_ENABLE_BETA_EXTENSIONS )
8368   //=== VK_NV_displacement_micromap ===
8369   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapExtensionName = VK_NV_DISPLACEMENT_MICROMAP_EXTENSION_NAME;
8370   VULKAN_HPP_CONSTEXPR_INLINE auto NVDisplacementMicromapSpecVersion   = VK_NV_DISPLACEMENT_MICROMAP_SPEC_VERSION;
8371 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
8372 
8373   //=== VK_EXT_load_store_op_none ===
8374   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneExtensionName = VK_EXT_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8375   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLoadStoreOpNoneSpecVersion   = VK_EXT_LOAD_STORE_OP_NONE_SPEC_VERSION;
8376 
8377   //=== VK_HUAWEI_cluster_culling_shader ===
8378   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderExtensionName = VK_HUAWEI_CLUSTER_CULLING_SHADER_EXTENSION_NAME;
8379   VULKAN_HPP_CONSTEXPR_INLINE auto HUAWEIClusterCullingShaderSpecVersion   = VK_HUAWEI_CLUSTER_CULLING_SHADER_SPEC_VERSION;
8380 
8381   //=== VK_EXT_border_color_swizzle ===
8382   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleExtensionName = VK_EXT_BORDER_COLOR_SWIZZLE_EXTENSION_NAME;
8383   VULKAN_HPP_CONSTEXPR_INLINE auto EXTBorderColorSwizzleSpecVersion   = VK_EXT_BORDER_COLOR_SWIZZLE_SPEC_VERSION;
8384 
8385   //=== VK_EXT_pageable_device_local_memory ===
8386   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemoryExtensionName = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_EXTENSION_NAME;
8387   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPageableDeviceLocalMemorySpecVersion   = VK_EXT_PAGEABLE_DEVICE_LOCAL_MEMORY_SPEC_VERSION;
8388 
8389   //=== VK_KHR_maintenance4 ===
8390   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4ExtensionName = VK_KHR_MAINTENANCE_4_EXTENSION_NAME;
8391   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance4SpecVersion   = VK_KHR_MAINTENANCE_4_SPEC_VERSION;
8392 
8393   //=== VK_ARM_shader_core_properties ===
8394   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesExtensionName = VK_ARM_SHADER_CORE_PROPERTIES_EXTENSION_NAME;
8395   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCorePropertiesSpecVersion   = VK_ARM_SHADER_CORE_PROPERTIES_SPEC_VERSION;
8396 
8397   //=== VK_KHR_shader_subgroup_rotate ===
8398   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateExtensionName = VK_KHR_SHADER_SUBGROUP_ROTATE_EXTENSION_NAME;
8399   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderSubgroupRotateSpecVersion   = VK_KHR_SHADER_SUBGROUP_ROTATE_SPEC_VERSION;
8400 
8401   //=== VK_ARM_scheduling_controls ===
8402   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsExtensionName = VK_ARM_SCHEDULING_CONTROLS_EXTENSION_NAME;
8403   VULKAN_HPP_CONSTEXPR_INLINE auto ARMSchedulingControlsSpecVersion   = VK_ARM_SCHEDULING_CONTROLS_SPEC_VERSION;
8404 
8405   //=== VK_EXT_image_sliced_view_of_3d ===
8406   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DExtensionName = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_EXTENSION_NAME;
8407   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageSlicedViewOf3DSpecVersion   = VK_EXT_IMAGE_SLICED_VIEW_OF_3D_SPEC_VERSION;
8408 
8409   //=== VK_VALVE_descriptor_set_host_mapping ===
8410   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingExtensionName = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_EXTENSION_NAME;
8411   VULKAN_HPP_CONSTEXPR_INLINE auto VALVEDescriptorSetHostMappingSpecVersion   = VK_VALVE_DESCRIPTOR_SET_HOST_MAPPING_SPEC_VERSION;
8412 
8413   //=== VK_EXT_depth_clamp_zero_one ===
8414   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneExtensionName = VK_EXT_DEPTH_CLAMP_ZERO_ONE_EXTENSION_NAME;
8415   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDepthClampZeroOneSpecVersion   = VK_EXT_DEPTH_CLAMP_ZERO_ONE_SPEC_VERSION;
8416 
8417   //=== VK_EXT_non_seamless_cube_map ===
8418   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapExtensionName = VK_EXT_NON_SEAMLESS_CUBE_MAP_EXTENSION_NAME;
8419   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNonSeamlessCubeMapSpecVersion   = VK_EXT_NON_SEAMLESS_CUBE_MAP_SPEC_VERSION;
8420 
8421   //=== VK_ARM_render_pass_striped ===
8422   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedExtensionName = VK_ARM_RENDER_PASS_STRIPED_EXTENSION_NAME;
8423   VULKAN_HPP_CONSTEXPR_INLINE auto ARMRenderPassStripedSpecVersion   = VK_ARM_RENDER_PASS_STRIPED_SPEC_VERSION;
8424 
8425   //=== VK_QCOM_fragment_density_map_offset ===
8426   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetExtensionName = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_EXTENSION_NAME;
8427   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFragmentDensityMapOffsetSpecVersion   = VK_QCOM_FRAGMENT_DENSITY_MAP_OFFSET_SPEC_VERSION;
8428 
8429   //=== VK_NV_copy_memory_indirect ===
8430   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectExtensionName = VK_NV_COPY_MEMORY_INDIRECT_EXTENSION_NAME;
8431   VULKAN_HPP_CONSTEXPR_INLINE auto NVCopyMemoryIndirectSpecVersion   = VK_NV_COPY_MEMORY_INDIRECT_SPEC_VERSION;
8432 
8433   //=== VK_NV_memory_decompression ===
8434   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionExtensionName = VK_NV_MEMORY_DECOMPRESSION_EXTENSION_NAME;
8435   VULKAN_HPP_CONSTEXPR_INLINE auto NVMemoryDecompressionSpecVersion   = VK_NV_MEMORY_DECOMPRESSION_SPEC_VERSION;
8436 
8437   //=== VK_NV_device_generated_commands_compute ===
8438   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeExtensionName = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_EXTENSION_NAME;
8439   VULKAN_HPP_CONSTEXPR_INLINE auto NVDeviceGeneratedCommandsComputeSpecVersion   = VK_NV_DEVICE_GENERATED_COMMANDS_COMPUTE_SPEC_VERSION;
8440 
8441   //=== VK_NV_linear_color_attachment ===
8442   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentExtensionName = VK_NV_LINEAR_COLOR_ATTACHMENT_EXTENSION_NAME;
8443   VULKAN_HPP_CONSTEXPR_INLINE auto NVLinearColorAttachmentSpecVersion   = VK_NV_LINEAR_COLOR_ATTACHMENT_SPEC_VERSION;
8444 
8445   //=== VK_GOOGLE_surfaceless_query ===
8446   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQueryExtensionName = VK_GOOGLE_SURFACELESS_QUERY_EXTENSION_NAME;
8447   VULKAN_HPP_CONSTEXPR_INLINE auto GOOGLESurfacelessQuerySpecVersion   = VK_GOOGLE_SURFACELESS_QUERY_SPEC_VERSION;
8448 
8449   //=== VK_KHR_shader_maximal_reconvergence ===
8450   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceExtensionName = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_EXTENSION_NAME;
8451   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderMaximalReconvergenceSpecVersion   = VK_KHR_SHADER_MAXIMAL_RECONVERGENCE_SPEC_VERSION;
8452 
8453   //=== VK_EXT_image_compression_control_swapchain ===
8454   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainExtensionName = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_EXTENSION_NAME;
8455   VULKAN_HPP_CONSTEXPR_INLINE auto EXTImageCompressionControlSwapchainSpecVersion   = VK_EXT_IMAGE_COMPRESSION_CONTROL_SWAPCHAIN_SPEC_VERSION;
8456 
8457   //=== VK_QCOM_image_processing ===
8458   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingExtensionName = VK_QCOM_IMAGE_PROCESSING_EXTENSION_NAME;
8459   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessingSpecVersion   = VK_QCOM_IMAGE_PROCESSING_SPEC_VERSION;
8460 
8461   //=== VK_EXT_nested_command_buffer ===
8462   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferExtensionName = VK_EXT_NESTED_COMMAND_BUFFER_EXTENSION_NAME;
8463   VULKAN_HPP_CONSTEXPR_INLINE auto EXTNestedCommandBufferSpecVersion   = VK_EXT_NESTED_COMMAND_BUFFER_SPEC_VERSION;
8464 
8465   //=== VK_EXT_external_memory_acquire_unmodified ===
8466   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedExtensionName = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_EXTENSION_NAME;
8467   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExternalMemoryAcquireUnmodifiedSpecVersion   = VK_EXT_EXTERNAL_MEMORY_ACQUIRE_UNMODIFIED_SPEC_VERSION;
8468 
8469   //=== VK_EXT_extended_dynamic_state3 ===
8470   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3ExtensionName = VK_EXT_EXTENDED_DYNAMIC_STATE_3_EXTENSION_NAME;
8471   VULKAN_HPP_CONSTEXPR_INLINE auto EXTExtendedDynamicState3SpecVersion   = VK_EXT_EXTENDED_DYNAMIC_STATE_3_SPEC_VERSION;
8472 
8473   //=== VK_EXT_subpass_merge_feedback ===
8474   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackExtensionName = VK_EXT_SUBPASS_MERGE_FEEDBACK_EXTENSION_NAME;
8475   VULKAN_HPP_CONSTEXPR_INLINE auto EXTSubpassMergeFeedbackSpecVersion   = VK_EXT_SUBPASS_MERGE_FEEDBACK_SPEC_VERSION;
8476 
8477   //=== VK_LUNARG_direct_driver_loading ===
8478   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingExtensionName = VK_LUNARG_DIRECT_DRIVER_LOADING_EXTENSION_NAME;
8479   VULKAN_HPP_CONSTEXPR_INLINE auto LUNARGDirectDriverLoadingSpecVersion   = VK_LUNARG_DIRECT_DRIVER_LOADING_SPEC_VERSION;
8480 
8481   //=== VK_EXT_shader_module_identifier ===
8482   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierExtensionName = VK_EXT_SHADER_MODULE_IDENTIFIER_EXTENSION_NAME;
8483   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderModuleIdentifierSpecVersion   = VK_EXT_SHADER_MODULE_IDENTIFIER_SPEC_VERSION;
8484 
8485   //=== VK_EXT_rasterization_order_attachment_access ===
8486   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessExtensionName = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_EXTENSION_NAME;
8487   VULKAN_HPP_CONSTEXPR_INLINE auto EXTRasterizationOrderAttachmentAccessSpecVersion   = VK_EXT_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_SPEC_VERSION;
8488 
8489   //=== VK_NV_optical_flow ===
8490   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowExtensionName = VK_NV_OPTICAL_FLOW_EXTENSION_NAME;
8491   VULKAN_HPP_CONSTEXPR_INLINE auto NVOpticalFlowSpecVersion   = VK_NV_OPTICAL_FLOW_SPEC_VERSION;
8492 
8493   //=== VK_EXT_legacy_dithering ===
8494   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringExtensionName = VK_EXT_LEGACY_DITHERING_EXTENSION_NAME;
8495   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyDitheringSpecVersion   = VK_EXT_LEGACY_DITHERING_SPEC_VERSION;
8496 
8497   //=== VK_EXT_pipeline_protected_access ===
8498   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessExtensionName = VK_EXT_PIPELINE_PROTECTED_ACCESS_EXTENSION_NAME;
8499   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineProtectedAccessSpecVersion   = VK_EXT_PIPELINE_PROTECTED_ACCESS_SPEC_VERSION;
8500 
8501 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
8502   //=== VK_ANDROID_external_format_resolve ===
8503   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveExtensionName = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_EXTENSION_NAME;
8504   VULKAN_HPP_CONSTEXPR_INLINE auto ANDROIDExternalFormatResolveSpecVersion   = VK_ANDROID_EXTERNAL_FORMAT_RESOLVE_SPEC_VERSION;
8505 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
8506 
8507   //=== VK_KHR_maintenance5 ===
8508   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5ExtensionName = VK_KHR_MAINTENANCE_5_EXTENSION_NAME;
8509   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance5SpecVersion   = VK_KHR_MAINTENANCE_5_SPEC_VERSION;
8510 
8511   //=== VK_AMD_anti_lag ===
8512   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagExtensionName = VK_AMD_ANTI_LAG_EXTENSION_NAME;
8513   VULKAN_HPP_CONSTEXPR_INLINE auto AMDAntiLagSpecVersion   = VK_AMD_ANTI_LAG_SPEC_VERSION;
8514 
8515   //=== VK_KHR_ray_tracing_position_fetch ===
8516   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchExtensionName = VK_KHR_RAY_TRACING_POSITION_FETCH_EXTENSION_NAME;
8517   VULKAN_HPP_CONSTEXPR_INLINE auto KHRRayTracingPositionFetchSpecVersion   = VK_KHR_RAY_TRACING_POSITION_FETCH_SPEC_VERSION;
8518 
8519   //=== VK_EXT_shader_object ===
8520   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectExtensionName = VK_EXT_SHADER_OBJECT_EXTENSION_NAME;
8521   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderObjectSpecVersion   = VK_EXT_SHADER_OBJECT_SPEC_VERSION;
8522 
8523   //=== VK_KHR_pipeline_binary ===
8524   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinaryExtensionName = VK_KHR_PIPELINE_BINARY_EXTENSION_NAME;
8525   VULKAN_HPP_CONSTEXPR_INLINE auto KHRPipelineBinarySpecVersion   = VK_KHR_PIPELINE_BINARY_SPEC_VERSION;
8526 
8527   //=== VK_QCOM_tile_properties ===
8528   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesExtensionName = VK_QCOM_TILE_PROPERTIES_EXTENSION_NAME;
8529   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMTilePropertiesSpecVersion   = VK_QCOM_TILE_PROPERTIES_SPEC_VERSION;
8530 
8531   //=== VK_SEC_amigo_profiling ===
8532   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingExtensionName = VK_SEC_AMIGO_PROFILING_EXTENSION_NAME;
8533   VULKAN_HPP_CONSTEXPR_INLINE auto SECAmigoProfilingSpecVersion   = VK_SEC_AMIGO_PROFILING_SPEC_VERSION;
8534 
8535   //=== VK_QCOM_multiview_per_view_viewports ===
8536   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_EXTENSION_NAME;
8537   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewViewportsSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_VIEWPORTS_SPEC_VERSION;
8538 
8539   //=== VK_NV_ray_tracing_invocation_reorder ===
8540   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderExtensionName = VK_NV_RAY_TRACING_INVOCATION_REORDER_EXTENSION_NAME;
8541   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingInvocationReorderSpecVersion   = VK_NV_RAY_TRACING_INVOCATION_REORDER_SPEC_VERSION;
8542 
8543   //=== VK_NV_extended_sparse_address_space ===
8544   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceExtensionName = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_EXTENSION_NAME;
8545   VULKAN_HPP_CONSTEXPR_INLINE auto NVExtendedSparseAddressSpaceSpecVersion   = VK_NV_EXTENDED_SPARSE_ADDRESS_SPACE_SPEC_VERSION;
8546 
8547   //=== VK_EXT_mutable_descriptor_type ===
8548   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeExtensionName = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_EXTENSION_NAME;
8549   VULKAN_HPP_CONSTEXPR_INLINE auto EXTMutableDescriptorTypeSpecVersion   = VK_EXT_MUTABLE_DESCRIPTOR_TYPE_SPEC_VERSION;
8550 
8551   //=== VK_EXT_legacy_vertex_attributes ===
8552   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesExtensionName = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_EXTENSION_NAME;
8553   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLegacyVertexAttributesSpecVersion   = VK_EXT_LEGACY_VERTEX_ATTRIBUTES_SPEC_VERSION;
8554 
8555   //=== VK_EXT_layer_settings ===
8556   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsExtensionName = VK_EXT_LAYER_SETTINGS_EXTENSION_NAME;
8557   VULKAN_HPP_CONSTEXPR_INLINE auto EXTLayerSettingsSpecVersion   = VK_EXT_LAYER_SETTINGS_SPEC_VERSION;
8558 
8559   //=== VK_ARM_shader_core_builtins ===
8560   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsExtensionName = VK_ARM_SHADER_CORE_BUILTINS_EXTENSION_NAME;
8561   VULKAN_HPP_CONSTEXPR_INLINE auto ARMShaderCoreBuiltinsSpecVersion   = VK_ARM_SHADER_CORE_BUILTINS_SPEC_VERSION;
8562 
8563   //=== VK_EXT_pipeline_library_group_handles ===
8564   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesExtensionName = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_EXTENSION_NAME;
8565   VULKAN_HPP_CONSTEXPR_INLINE auto EXTPipelineLibraryGroupHandlesSpecVersion   = VK_EXT_PIPELINE_LIBRARY_GROUP_HANDLES_SPEC_VERSION;
8566 
8567   //=== VK_EXT_dynamic_rendering_unused_attachments ===
8568   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsExtensionName = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_EXTENSION_NAME;
8569   VULKAN_HPP_CONSTEXPR_INLINE auto EXTDynamicRenderingUnusedAttachmentsSpecVersion   = VK_EXT_DYNAMIC_RENDERING_UNUSED_ATTACHMENTS_SPEC_VERSION;
8570 
8571   //=== VK_NV_low_latency2 ===
8572   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2ExtensionName = VK_NV_LOW_LATENCY_2_EXTENSION_NAME;
8573   VULKAN_HPP_CONSTEXPR_INLINE auto NVLowLatency2SpecVersion   = VK_NV_LOW_LATENCY_2_SPEC_VERSION;
8574 
8575   //=== VK_KHR_cooperative_matrix ===
8576   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixExtensionName = VK_KHR_COOPERATIVE_MATRIX_EXTENSION_NAME;
8577   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCooperativeMatrixSpecVersion   = VK_KHR_COOPERATIVE_MATRIX_SPEC_VERSION;
8578 
8579   //=== VK_QCOM_multiview_per_view_render_areas ===
8580   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasExtensionName = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_EXTENSION_NAME;
8581   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMMultiviewPerViewRenderAreasSpecVersion   = VK_QCOM_MULTIVIEW_PER_VIEW_RENDER_AREAS_SPEC_VERSION;
8582 
8583   //=== VK_KHR_video_decode_av1 ===
8584   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1ExtensionName = VK_KHR_VIDEO_DECODE_AV1_EXTENSION_NAME;
8585   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoDecodeAv1SpecVersion   = VK_KHR_VIDEO_DECODE_AV1_SPEC_VERSION;
8586 
8587   //=== VK_KHR_video_maintenance1 ===
8588   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1ExtensionName = VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME;
8589   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVideoMaintenance1SpecVersion   = VK_KHR_VIDEO_MAINTENANCE_1_SPEC_VERSION;
8590 
8591   //=== VK_NV_per_stage_descriptor_set ===
8592   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetExtensionName = VK_NV_PER_STAGE_DESCRIPTOR_SET_EXTENSION_NAME;
8593   VULKAN_HPP_CONSTEXPR_INLINE auto NVPerStageDescriptorSetSpecVersion   = VK_NV_PER_STAGE_DESCRIPTOR_SET_SPEC_VERSION;
8594 
8595   //=== VK_QCOM_image_processing2 ===
8596   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2ExtensionName = VK_QCOM_IMAGE_PROCESSING_2_EXTENSION_NAME;
8597   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMImageProcessing2SpecVersion   = VK_QCOM_IMAGE_PROCESSING_2_SPEC_VERSION;
8598 
8599   //=== VK_QCOM_filter_cubic_weights ===
8600   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsExtensionName = VK_QCOM_FILTER_CUBIC_WEIGHTS_EXTENSION_NAME;
8601   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicWeightsSpecVersion   = VK_QCOM_FILTER_CUBIC_WEIGHTS_SPEC_VERSION;
8602 
8603   //=== VK_QCOM_ycbcr_degamma ===
8604   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaExtensionName = VK_QCOM_YCBCR_DEGAMMA_EXTENSION_NAME;
8605   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMYcbcrDegammaSpecVersion   = VK_QCOM_YCBCR_DEGAMMA_SPEC_VERSION;
8606 
8607   //=== VK_QCOM_filter_cubic_clamp ===
8608   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampExtensionName = VK_QCOM_FILTER_CUBIC_CLAMP_EXTENSION_NAME;
8609   VULKAN_HPP_CONSTEXPR_INLINE auto QCOMFilterCubicClampSpecVersion   = VK_QCOM_FILTER_CUBIC_CLAMP_SPEC_VERSION;
8610 
8611   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
8612   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateExtensionName = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_EXTENSION_NAME;
8613   VULKAN_HPP_CONSTEXPR_INLINE auto EXTAttachmentFeedbackLoopDynamicStateSpecVersion   = VK_EXT_ATTACHMENT_FEEDBACK_LOOP_DYNAMIC_STATE_SPEC_VERSION;
8614 
8615   //=== VK_KHR_vertex_attribute_divisor ===
8616   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorExtensionName = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME;
8617   VULKAN_HPP_CONSTEXPR_INLINE auto KHRVertexAttributeDivisorSpecVersion   = VK_KHR_VERTEX_ATTRIBUTE_DIVISOR_SPEC_VERSION;
8618 
8619   //=== VK_KHR_load_store_op_none ===
8620   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneExtensionName = VK_KHR_LOAD_STORE_OP_NONE_EXTENSION_NAME;
8621   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLoadStoreOpNoneSpecVersion   = VK_KHR_LOAD_STORE_OP_NONE_SPEC_VERSION;
8622 
8623   //=== VK_KHR_shader_float_controls2 ===
8624   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2ExtensionName = VK_KHR_SHADER_FLOAT_CONTROLS_2_EXTENSION_NAME;
8625   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderFloatControls2SpecVersion   = VK_KHR_SHADER_FLOAT_CONTROLS_2_SPEC_VERSION;
8626 
8627 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
8628   //=== VK_QNX_external_memory_screen_buffer ===
8629   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferExtensionName = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_EXTENSION_NAME;
8630   VULKAN_HPP_CONSTEXPR_INLINE auto QNXExternalMemoryScreenBufferSpecVersion   = VK_QNX_EXTERNAL_MEMORY_SCREEN_BUFFER_SPEC_VERSION;
8631 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
8632 
8633   //=== VK_MSFT_layered_driver ===
8634   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverExtensionName = VK_MSFT_LAYERED_DRIVER_EXTENSION_NAME;
8635   VULKAN_HPP_CONSTEXPR_INLINE auto MSFTLayeredDriverSpecVersion   = VK_MSFT_LAYERED_DRIVER_SPEC_VERSION;
8636 
8637   //=== VK_KHR_index_type_uint8 ===
8638   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8ExtensionName = VK_KHR_INDEX_TYPE_UINT8_EXTENSION_NAME;
8639   VULKAN_HPP_CONSTEXPR_INLINE auto KHRIndexTypeUint8SpecVersion   = VK_KHR_INDEX_TYPE_UINT8_SPEC_VERSION;
8640 
8641   //=== VK_KHR_line_rasterization ===
8642   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationExtensionName = VK_KHR_LINE_RASTERIZATION_EXTENSION_NAME;
8643   VULKAN_HPP_CONSTEXPR_INLINE auto KHRLineRasterizationSpecVersion   = VK_KHR_LINE_RASTERIZATION_SPEC_VERSION;
8644 
8645   //=== VK_KHR_calibrated_timestamps ===
8646   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsExtensionName = VK_KHR_CALIBRATED_TIMESTAMPS_EXTENSION_NAME;
8647   VULKAN_HPP_CONSTEXPR_INLINE auto KHRCalibratedTimestampsSpecVersion   = VK_KHR_CALIBRATED_TIMESTAMPS_SPEC_VERSION;
8648 
8649   //=== VK_KHR_shader_expect_assume ===
8650   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeExtensionName = VK_KHR_SHADER_EXPECT_ASSUME_EXTENSION_NAME;
8651   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderExpectAssumeSpecVersion   = VK_KHR_SHADER_EXPECT_ASSUME_SPEC_VERSION;
8652 
8653   //=== VK_KHR_maintenance6 ===
8654   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6ExtensionName = VK_KHR_MAINTENANCE_6_EXTENSION_NAME;
8655   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance6SpecVersion   = VK_KHR_MAINTENANCE_6_SPEC_VERSION;
8656 
8657   //=== VK_NV_descriptor_pool_overallocation ===
8658   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationExtensionName = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_EXTENSION_NAME;
8659   VULKAN_HPP_CONSTEXPR_INLINE auto NVDescriptorPoolOverallocationSpecVersion   = VK_NV_DESCRIPTOR_POOL_OVERALLOCATION_SPEC_VERSION;
8660 
8661   //=== VK_NV_raw_access_chains ===
8662   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsExtensionName = VK_NV_RAW_ACCESS_CHAINS_EXTENSION_NAME;
8663   VULKAN_HPP_CONSTEXPR_INLINE auto NVRawAccessChainsSpecVersion   = VK_NV_RAW_ACCESS_CHAINS_SPEC_VERSION;
8664 
8665   //=== VK_KHR_shader_relaxed_extended_instruction ===
8666   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionExtensionName = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_EXTENSION_NAME;
8667   VULKAN_HPP_CONSTEXPR_INLINE auto KHRShaderRelaxedExtendedInstructionSpecVersion   = VK_KHR_SHADER_RELAXED_EXTENDED_INSTRUCTION_SPEC_VERSION;
8668 
8669   //=== VK_NV_command_buffer_inheritance ===
8670   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceExtensionName = VK_NV_COMMAND_BUFFER_INHERITANCE_EXTENSION_NAME;
8671   VULKAN_HPP_CONSTEXPR_INLINE auto NVCommandBufferInheritanceSpecVersion   = VK_NV_COMMAND_BUFFER_INHERITANCE_SPEC_VERSION;
8672 
8673   //=== VK_KHR_maintenance7 ===
8674   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7ExtensionName = VK_KHR_MAINTENANCE_7_EXTENSION_NAME;
8675   VULKAN_HPP_CONSTEXPR_INLINE auto KHRMaintenance7SpecVersion   = VK_KHR_MAINTENANCE_7_SPEC_VERSION;
8676 
8677   //=== VK_NV_shader_atomic_float16_vector ===
8678   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorExtensionName = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_EXTENSION_NAME;
8679   VULKAN_HPP_CONSTEXPR_INLINE auto NVShaderAtomicFloat16VectorSpecVersion   = VK_NV_SHADER_ATOMIC_FLOAT16_VECTOR_SPEC_VERSION;
8680 
8681   //=== VK_EXT_shader_replicated_composites ===
8682   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesExtensionName = VK_EXT_SHADER_REPLICATED_COMPOSITES_EXTENSION_NAME;
8683   VULKAN_HPP_CONSTEXPR_INLINE auto EXTShaderReplicatedCompositesSpecVersion   = VK_EXT_SHADER_REPLICATED_COMPOSITES_SPEC_VERSION;
8684 
8685   //=== VK_NV_ray_tracing_validation ===
8686   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationExtensionName = VK_NV_RAY_TRACING_VALIDATION_EXTENSION_NAME;
8687   VULKAN_HPP_CONSTEXPR_INLINE auto NVRayTracingValidationSpecVersion   = VK_NV_RAY_TRACING_VALIDATION_SPEC_VERSION;
8688 
8689   //=== VK_MESA_image_alignment_control ===
8690   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlExtensionName = VK_MESA_IMAGE_ALIGNMENT_CONTROL_EXTENSION_NAME;
8691   VULKAN_HPP_CONSTEXPR_INLINE auto MESAImageAlignmentControlSpecVersion   = VK_MESA_IMAGE_ALIGNMENT_CONTROL_SPEC_VERSION;
8692 
8693 }  // namespace VULKAN_HPP_NAMESPACE
8694 
8695 // clang-format off
8696 #include <vulkan/vulkan_handles.hpp>
8697 #include <vulkan/vulkan_structs.hpp>
8698 #include <vulkan/vulkan_funcs.hpp>
8699 
8700 // clang-format on
8701 
8702 namespace VULKAN_HPP_NAMESPACE
8703 {
8704 #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
8705 
8706   //=======================
8707   //=== STRUCTS EXTENDS ===
8708   //=======================
8709 
8710   //=== VK_VERSION_1_0 ===
8711   template <>
8712   struct StructExtends<ShaderModuleCreateInfo, PipelineShaderStageCreateInfo>
8713   {
8714     enum
8715     {
8716       value = true
8717     };
8718   };
8719 
8720   template <>
8721   struct StructExtends<ComputePipelineCreateInfo, PipelineCreateInfoKHR>
8722   {
8723     enum
8724     {
8725       value = true
8726     };
8727   };
8728 
8729   template <>
8730   struct StructExtends<GraphicsPipelineCreateInfo, PipelineCreateInfoKHR>
8731   {
8732     enum
8733     {
8734       value = true
8735     };
8736   };
8737 
8738   template <>
8739   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorSetsInfo>
8740   {
8741     enum
8742     {
8743       value = true
8744     };
8745   };
8746 
8747   template <>
8748   struct StructExtends<PipelineLayoutCreateInfo, PushConstantsInfo>
8749   {
8750     enum
8751     {
8752       value = true
8753     };
8754   };
8755 
8756   template <>
8757   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetInfo>
8758   {
8759     enum
8760     {
8761       value = true
8762     };
8763   };
8764 
8765   template <>
8766   struct StructExtends<PipelineLayoutCreateInfo, PushDescriptorSetWithTemplateInfo>
8767   {
8768     enum
8769     {
8770       value = true
8771     };
8772   };
8773 
8774   template <>
8775   struct StructExtends<PipelineLayoutCreateInfo, SetDescriptorBufferOffsetsInfoEXT>
8776   {
8777     enum
8778     {
8779       value = true
8780     };
8781   };
8782 
8783   template <>
8784   struct StructExtends<PipelineLayoutCreateInfo, BindDescriptorBufferEmbeddedSamplersInfoEXT>
8785   {
8786     enum
8787     {
8788       value = true
8789     };
8790   };
8791 
8792   //=== VK_VERSION_1_1 ===
8793   template <>
8794   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
8795   {
8796     enum
8797     {
8798       value = true
8799     };
8800   };
8801 
8802   template <>
8803   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
8804   {
8805     enum
8806     {
8807       value = true
8808     };
8809   };
8810 
8811   template <>
8812   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
8813   {
8814     enum
8815     {
8816       value = true
8817     };
8818   };
8819 
8820   template <>
8821   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
8822   {
8823     enum
8824     {
8825       value = true
8826     };
8827   };
8828 
8829   template <>
8830   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
8831   {
8832     enum
8833     {
8834       value = true
8835     };
8836   };
8837 
8838   template <>
8839   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
8840   {
8841     enum
8842     {
8843       value = true
8844     };
8845   };
8846 
8847   template <>
8848   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
8849   {
8850     enum
8851     {
8852       value = true
8853     };
8854   };
8855 
8856   template <>
8857   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
8858   {
8859     enum
8860     {
8861       value = true
8862     };
8863   };
8864 
8865   template <>
8866   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
8867   {
8868     enum
8869     {
8870       value = true
8871     };
8872   };
8873 
8874   template <>
8875   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
8876   {
8877     enum
8878     {
8879       value = true
8880     };
8881   };
8882 
8883   template <>
8884   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
8885   {
8886     enum
8887     {
8888       value = true
8889     };
8890   };
8891 
8892   template <>
8893   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
8894   {
8895     enum
8896     {
8897       value = true
8898     };
8899   };
8900 
8901   template <>
8902   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
8903   {
8904     enum
8905     {
8906       value = true
8907     };
8908   };
8909 
8910   template <>
8911   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
8912   {
8913     enum
8914     {
8915       value = true
8916     };
8917   };
8918 
8919   template <>
8920   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
8921   {
8922     enum
8923     {
8924       value = true
8925     };
8926   };
8927 
8928   template <>
8929   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
8930   {
8931     enum
8932     {
8933       value = true
8934     };
8935   };
8936 
8937   template <>
8938   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
8939   {
8940     enum
8941     {
8942       value = true
8943     };
8944   };
8945 
8946   template <>
8947   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
8948   {
8949     enum
8950     {
8951       value = true
8952     };
8953   };
8954 
8955   template <>
8956   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
8957   {
8958     enum
8959     {
8960       value = true
8961     };
8962   };
8963 
8964   template <>
8965   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
8966   {
8967     enum
8968     {
8969       value = true
8970     };
8971   };
8972 
8973   template <>
8974   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
8975   {
8976     enum
8977     {
8978       value = true
8979     };
8980   };
8981 
8982   template <>
8983   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
8984   {
8985     enum
8986     {
8987       value = true
8988     };
8989   };
8990 
8991   template <>
8992   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
8993   {
8994     enum
8995     {
8996       value = true
8997     };
8998   };
8999 
9000   template <>
9001   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
9002   {
9003     enum
9004     {
9005       value = true
9006     };
9007   };
9008 
9009   template <>
9010   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
9011   {
9012     enum
9013     {
9014       value = true
9015     };
9016   };
9017 
9018   template <>
9019   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
9020   {
9021     enum
9022     {
9023       value = true
9024     };
9025   };
9026 
9027   template <>
9028   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
9029   {
9030     enum
9031     {
9032       value = true
9033     };
9034   };
9035 
9036   template <>
9037   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
9038   {
9039     enum
9040     {
9041       value = true
9042     };
9043   };
9044 
9045   template <>
9046   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
9047   {
9048     enum
9049     {
9050       value = true
9051     };
9052   };
9053 
9054   template <>
9055   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
9056   {
9057     enum
9058     {
9059       value = true
9060     };
9061   };
9062 
9063   template <>
9064   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
9065   {
9066     enum
9067     {
9068       value = true
9069     };
9070   };
9071 
9072   template <>
9073   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
9074   {
9075     enum
9076     {
9077       value = true
9078     };
9079   };
9080 
9081   template <>
9082   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
9083   {
9084     enum
9085     {
9086       value = true
9087     };
9088   };
9089 
9090   template <>
9091   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
9092   {
9093     enum
9094     {
9095       value = true
9096     };
9097   };
9098 
9099   template <>
9100   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
9101   {
9102     enum
9103     {
9104       value = true
9105     };
9106   };
9107 
9108   template <>
9109   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
9110   {
9111     enum
9112     {
9113       value = true
9114     };
9115   };
9116 
9117   template <>
9118   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
9119   {
9120     enum
9121     {
9122       value = true
9123     };
9124   };
9125 
9126   template <>
9127   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
9128   {
9129     enum
9130     {
9131       value = true
9132     };
9133   };
9134 
9135   template <>
9136   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
9137   {
9138     enum
9139     {
9140       value = true
9141     };
9142   };
9143 
9144   template <>
9145   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
9146   {
9147     enum
9148     {
9149       value = true
9150     };
9151   };
9152 
9153   template <>
9154   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
9155   {
9156     enum
9157     {
9158       value = true
9159     };
9160   };
9161 
9162   template <>
9163   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
9164   {
9165     enum
9166     {
9167       value = true
9168     };
9169   };
9170 
9171   template <>
9172   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
9173   {
9174     enum
9175     {
9176       value = true
9177     };
9178   };
9179 
9180   template <>
9181   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
9182   {
9183     enum
9184     {
9185       value = true
9186     };
9187   };
9188 
9189   template <>
9190   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
9191   {
9192     enum
9193     {
9194       value = true
9195     };
9196   };
9197 
9198   template <>
9199   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
9200   {
9201     enum
9202     {
9203       value = true
9204     };
9205   };
9206 
9207   template <>
9208   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
9209   {
9210     enum
9211     {
9212       value = true
9213     };
9214   };
9215 
9216   //=== VK_VERSION_1_2 ===
9217   template <>
9218   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
9219   {
9220     enum
9221     {
9222       value = true
9223     };
9224   };
9225 
9226   template <>
9227   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
9228   {
9229     enum
9230     {
9231       value = true
9232     };
9233   };
9234 
9235   template <>
9236   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
9237   {
9238     enum
9239     {
9240       value = true
9241     };
9242   };
9243 
9244   template <>
9245   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
9246   {
9247     enum
9248     {
9249       value = true
9250     };
9251   };
9252 
9253   template <>
9254   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
9255   {
9256     enum
9257     {
9258       value = true
9259     };
9260   };
9261 
9262   template <>
9263   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
9264   {
9265     enum
9266     {
9267       value = true
9268     };
9269   };
9270 
9271   template <>
9272   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
9273   {
9274     enum
9275     {
9276       value = true
9277     };
9278   };
9279 
9280   template <>
9281   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
9282   {
9283     enum
9284     {
9285       value = true
9286     };
9287   };
9288 
9289   template <>
9290   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
9291   {
9292     enum
9293     {
9294       value = true
9295     };
9296   };
9297 
9298   template <>
9299   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
9300   {
9301     enum
9302     {
9303       value = true
9304     };
9305   };
9306 
9307   template <>
9308   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
9309   {
9310     enum
9311     {
9312       value = true
9313     };
9314   };
9315 
9316   template <>
9317   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
9318   {
9319     enum
9320     {
9321       value = true
9322     };
9323   };
9324 
9325   template <>
9326   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
9327   {
9328     enum
9329     {
9330       value = true
9331     };
9332   };
9333 
9334   template <>
9335   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
9336   {
9337     enum
9338     {
9339       value = true
9340     };
9341   };
9342 
9343   template <>
9344   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
9345   {
9346     enum
9347     {
9348       value = true
9349     };
9350   };
9351 
9352   template <>
9353   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
9354   {
9355     enum
9356     {
9357       value = true
9358     };
9359   };
9360 
9361   template <>
9362   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
9363   {
9364     enum
9365     {
9366       value = true
9367     };
9368   };
9369 
9370   template <>
9371   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
9372   {
9373     enum
9374     {
9375       value = true
9376     };
9377   };
9378 
9379   template <>
9380   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
9381   {
9382     enum
9383     {
9384       value = true
9385     };
9386   };
9387 
9388   template <>
9389   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
9390   {
9391     enum
9392     {
9393       value = true
9394     };
9395   };
9396 
9397   template <>
9398   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
9399   {
9400     enum
9401     {
9402       value = true
9403     };
9404   };
9405 
9406   template <>
9407   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
9408   {
9409     enum
9410     {
9411       value = true
9412     };
9413   };
9414 
9415   template <>
9416   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
9417   {
9418     enum
9419     {
9420       value = true
9421     };
9422   };
9423 
9424   template <>
9425   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
9426   {
9427     enum
9428     {
9429       value = true
9430     };
9431   };
9432 
9433   template <>
9434   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
9435   {
9436     enum
9437     {
9438       value = true
9439     };
9440   };
9441 
9442   template <>
9443   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
9444   {
9445     enum
9446     {
9447       value = true
9448     };
9449   };
9450 
9451   template <>
9452   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
9453   {
9454     enum
9455     {
9456       value = true
9457     };
9458   };
9459 
9460   template <>
9461   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
9462   {
9463     enum
9464     {
9465       value = true
9466     };
9467   };
9468 
9469   template <>
9470   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
9471   {
9472     enum
9473     {
9474       value = true
9475     };
9476   };
9477 
9478   template <>
9479   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
9480   {
9481     enum
9482     {
9483       value = true
9484     };
9485   };
9486 
9487   template <>
9488   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
9489   {
9490     enum
9491     {
9492       value = true
9493     };
9494   };
9495 
9496   template <>
9497   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
9498   {
9499     enum
9500     {
9501       value = true
9502     };
9503   };
9504 
9505   template <>
9506   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
9507   {
9508     enum
9509     {
9510       value = true
9511     };
9512   };
9513 
9514   template <>
9515   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
9516   {
9517     enum
9518     {
9519       value = true
9520     };
9521   };
9522 
9523   template <>
9524   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
9525   {
9526     enum
9527     {
9528       value = true
9529     };
9530   };
9531 
9532   template <>
9533   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
9534   {
9535     enum
9536     {
9537       value = true
9538     };
9539   };
9540 
9541   template <>
9542   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
9543   {
9544     enum
9545     {
9546       value = true
9547     };
9548   };
9549 
9550   template <>
9551   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
9552   {
9553     enum
9554     {
9555       value = true
9556     };
9557   };
9558 
9559   template <>
9560   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
9561   {
9562     enum
9563     {
9564       value = true
9565     };
9566   };
9567 
9568   template <>
9569   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
9570   {
9571     enum
9572     {
9573       value = true
9574     };
9575   };
9576 
9577   template <>
9578   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
9579   {
9580     enum
9581     {
9582       value = true
9583     };
9584   };
9585 
9586   template <>
9587   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
9588   {
9589     enum
9590     {
9591       value = true
9592     };
9593   };
9594 
9595   template <>
9596   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
9597   {
9598     enum
9599     {
9600       value = true
9601     };
9602   };
9603 
9604   template <>
9605   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
9606   {
9607     enum
9608     {
9609       value = true
9610     };
9611   };
9612 
9613   template <>
9614   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
9615   {
9616     enum
9617     {
9618       value = true
9619     };
9620   };
9621 
9622   template <>
9623   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
9624   {
9625     enum
9626     {
9627       value = true
9628     };
9629   };
9630 
9631   template <>
9632   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
9633   {
9634     enum
9635     {
9636       value = true
9637     };
9638   };
9639 
9640   template <>
9641   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
9642   {
9643     enum
9644     {
9645       value = true
9646     };
9647   };
9648 
9649   template <>
9650   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
9651   {
9652     enum
9653     {
9654       value = true
9655     };
9656   };
9657 
9658   template <>
9659   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
9660   {
9661     enum
9662     {
9663       value = true
9664     };
9665   };
9666 
9667   template <>
9668   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
9669   {
9670     enum
9671     {
9672       value = true
9673     };
9674   };
9675 
9676   template <>
9677   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
9678   {
9679     enum
9680     {
9681       value = true
9682     };
9683   };
9684 
9685   template <>
9686   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
9687   {
9688     enum
9689     {
9690       value = true
9691     };
9692   };
9693 
9694   template <>
9695   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
9696   {
9697     enum
9698     {
9699       value = true
9700     };
9701   };
9702 
9703   template <>
9704   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
9705   {
9706     enum
9707     {
9708       value = true
9709     };
9710   };
9711 
9712   template <>
9713   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
9714   {
9715     enum
9716     {
9717       value = true
9718     };
9719   };
9720 
9721   template <>
9722   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
9723   {
9724     enum
9725     {
9726       value = true
9727     };
9728   };
9729 
9730   template <>
9731   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
9732   {
9733     enum
9734     {
9735       value = true
9736     };
9737   };
9738 
9739   //=== VK_VERSION_1_3 ===
9740   template <>
9741   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
9742   {
9743     enum
9744     {
9745       value = true
9746     };
9747   };
9748 
9749   template <>
9750   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
9751   {
9752     enum
9753     {
9754       value = true
9755     };
9756   };
9757 
9758   template <>
9759   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
9760   {
9761     enum
9762     {
9763       value = true
9764     };
9765   };
9766 
9767   template <>
9768   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
9769   {
9770     enum
9771     {
9772       value = true
9773     };
9774   };
9775 
9776   template <>
9777   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
9778   {
9779     enum
9780     {
9781       value = true
9782     };
9783   };
9784 
9785   template <>
9786   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
9787   {
9788     enum
9789     {
9790       value = true
9791     };
9792   };
9793 
9794   template <>
9795   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
9796   {
9797     enum
9798     {
9799       value = true
9800     };
9801   };
9802 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
9803   template <>
9804   struct StructExtends<PipelineCreationFeedbackCreateInfo, ExecutionGraphPipelineCreateInfoAMDX>
9805   {
9806     enum
9807     {
9808       value = true
9809     };
9810   };
9811 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
9812   template <>
9813   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
9814   {
9815     enum
9816     {
9817       value = true
9818     };
9819   };
9820 
9821   template <>
9822   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
9823   {
9824     enum
9825     {
9826       value = true
9827     };
9828   };
9829 
9830   template <>
9831   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
9832   {
9833     enum
9834     {
9835       value = true
9836     };
9837   };
9838 
9839   template <>
9840   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
9841   {
9842     enum
9843     {
9844       value = true
9845     };
9846   };
9847 
9848   template <>
9849   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
9850   {
9851     enum
9852     {
9853       value = true
9854     };
9855   };
9856 
9857   template <>
9858   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
9859   {
9860     enum
9861     {
9862       value = true
9863     };
9864   };
9865 
9866   template <>
9867   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
9868   {
9869     enum
9870     {
9871       value = true
9872     };
9873   };
9874 
9875   template <>
9876   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
9877   {
9878     enum
9879     {
9880       value = true
9881     };
9882   };
9883 
9884   template <>
9885   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
9886   {
9887     enum
9888     {
9889       value = true
9890     };
9891   };
9892 
9893   template <>
9894   struct StructExtends<MemoryBarrier2, SubpassDependency2>
9895   {
9896     enum
9897     {
9898       value = true
9899     };
9900   };
9901 
9902   template <>
9903   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
9904   {
9905     enum
9906     {
9907       value = true
9908     };
9909   };
9910 
9911   template <>
9912   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
9913   {
9914     enum
9915     {
9916       value = true
9917     };
9918   };
9919 
9920   template <>
9921   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
9922   {
9923     enum
9924     {
9925       value = true
9926     };
9927   };
9928 
9929   template <>
9930   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
9931   {
9932     enum
9933     {
9934       value = true
9935     };
9936   };
9937 
9938   template <>
9939   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
9940   {
9941     enum
9942     {
9943       value = true
9944     };
9945   };
9946 
9947   template <>
9948   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
9949   {
9950     enum
9951     {
9952       value = true
9953     };
9954   };
9955 
9956   template <>
9957   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
9958   {
9959     enum
9960     {
9961       value = true
9962     };
9963   };
9964 
9965   template <>
9966   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
9967   {
9968     enum
9969     {
9970       value = true
9971     };
9972   };
9973 
9974   template <>
9975   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
9976   {
9977     enum
9978     {
9979       value = true
9980     };
9981   };
9982 
9983   template <>
9984   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
9985   {
9986     enum
9987     {
9988       value = true
9989     };
9990   };
9991 
9992   template <>
9993   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, ShaderCreateInfoEXT>
9994   {
9995     enum
9996     {
9997       value = true
9998     };
9999   };
10000 
10001   template <>
10002   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
10003   {
10004     enum
10005     {
10006       value = true
10007     };
10008   };
10009 
10010   template <>
10011   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
10012   {
10013     enum
10014     {
10015       value = true
10016     };
10017   };
10018 
10019   template <>
10020   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
10021   {
10022     enum
10023     {
10024       value = true
10025     };
10026   };
10027 
10028   template <>
10029   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
10030   {
10031     enum
10032     {
10033       value = true
10034     };
10035   };
10036 
10037   template <>
10038   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
10039   {
10040     enum
10041     {
10042       value = true
10043     };
10044   };
10045 
10046   template <>
10047   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
10048   {
10049     enum
10050     {
10051       value = true
10052     };
10053   };
10054 
10055   template <>
10056   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
10057   {
10058     enum
10059     {
10060       value = true
10061     };
10062   };
10063 
10064   template <>
10065   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
10066   {
10067     enum
10068     {
10069       value = true
10070     };
10071   };
10072 
10073   template <>
10074   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
10075   {
10076     enum
10077     {
10078       value = true
10079     };
10080   };
10081 
10082   template <>
10083   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
10084   {
10085     enum
10086     {
10087       value = true
10088     };
10089   };
10090 
10091   template <>
10092   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
10093   {
10094     enum
10095     {
10096       value = true
10097     };
10098   };
10099 
10100   template <>
10101   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
10102   {
10103     enum
10104     {
10105       value = true
10106     };
10107   };
10108 
10109   template <>
10110   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
10111   {
10112     enum
10113     {
10114       value = true
10115     };
10116   };
10117 
10118   template <>
10119   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
10120   {
10121     enum
10122     {
10123       value = true
10124     };
10125   };
10126 
10127   template <>
10128   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
10129   {
10130     enum
10131     {
10132       value = true
10133     };
10134   };
10135 
10136   template <>
10137   struct StructExtends<FormatProperties3, FormatProperties2>
10138   {
10139     enum
10140     {
10141       value = true
10142     };
10143   };
10144 
10145   template <>
10146   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
10147   {
10148     enum
10149     {
10150       value = true
10151     };
10152   };
10153 
10154   template <>
10155   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
10156   {
10157     enum
10158     {
10159       value = true
10160     };
10161   };
10162 
10163   template <>
10164   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
10165   {
10166     enum
10167     {
10168       value = true
10169     };
10170   };
10171 
10172   //=== VK_VERSION_1_4 ===
10173   template <>
10174   struct StructExtends<PhysicalDeviceVulkan14Features, PhysicalDeviceFeatures2>
10175   {
10176     enum
10177     {
10178       value = true
10179     };
10180   };
10181 
10182   template <>
10183   struct StructExtends<PhysicalDeviceVulkan14Features, DeviceCreateInfo>
10184   {
10185     enum
10186     {
10187       value = true
10188     };
10189   };
10190 
10191   template <>
10192   struct StructExtends<PhysicalDeviceVulkan14Properties, PhysicalDeviceProperties2>
10193   {
10194     enum
10195     {
10196       value = true
10197     };
10198   };
10199 
10200   template <>
10201   struct StructExtends<DeviceQueueGlobalPriorityCreateInfo, DeviceQueueCreateInfo>
10202   {
10203     enum
10204     {
10205       value = true
10206     };
10207   };
10208 
10209   template <>
10210   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, PhysicalDeviceFeatures2>
10211   {
10212     enum
10213     {
10214       value = true
10215     };
10216   };
10217 
10218   template <>
10219   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeatures, DeviceCreateInfo>
10220   {
10221     enum
10222     {
10223       value = true
10224     };
10225   };
10226 
10227   template <>
10228   struct StructExtends<QueueFamilyGlobalPriorityProperties, QueueFamilyProperties2>
10229   {
10230     enum
10231     {
10232       value = true
10233     };
10234   };
10235 
10236   template <>
10237   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, PhysicalDeviceFeatures2>
10238   {
10239     enum
10240     {
10241       value = true
10242     };
10243   };
10244 
10245   template <>
10246   struct StructExtends<PhysicalDeviceShaderSubgroupRotateFeatures, DeviceCreateInfo>
10247   {
10248     enum
10249     {
10250       value = true
10251     };
10252   };
10253 
10254   template <>
10255   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, PhysicalDeviceFeatures2>
10256   {
10257     enum
10258     {
10259       value = true
10260     };
10261   };
10262 
10263   template <>
10264   struct StructExtends<PhysicalDeviceShaderFloatControls2Features, DeviceCreateInfo>
10265   {
10266     enum
10267     {
10268       value = true
10269     };
10270   };
10271 
10272   template <>
10273   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, PhysicalDeviceFeatures2>
10274   {
10275     enum
10276     {
10277       value = true
10278     };
10279   };
10280 
10281   template <>
10282   struct StructExtends<PhysicalDeviceShaderExpectAssumeFeatures, DeviceCreateInfo>
10283   {
10284     enum
10285     {
10286       value = true
10287     };
10288   };
10289 
10290   template <>
10291   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, PhysicalDeviceFeatures2>
10292   {
10293     enum
10294     {
10295       value = true
10296     };
10297   };
10298 
10299   template <>
10300   struct StructExtends<PhysicalDeviceLineRasterizationFeatures, DeviceCreateInfo>
10301   {
10302     enum
10303     {
10304       value = true
10305     };
10306   };
10307 
10308   template <>
10309   struct StructExtends<PhysicalDeviceLineRasterizationProperties, PhysicalDeviceProperties2>
10310   {
10311     enum
10312     {
10313       value = true
10314     };
10315   };
10316 
10317   template <>
10318   struct StructExtends<PipelineRasterizationLineStateCreateInfo, PipelineRasterizationStateCreateInfo>
10319   {
10320     enum
10321     {
10322       value = true
10323     };
10324   };
10325 
10326   template <>
10327   struct StructExtends<PhysicalDeviceVertexAttributeDivisorProperties, PhysicalDeviceProperties2>
10328   {
10329     enum
10330     {
10331       value = true
10332     };
10333   };
10334 
10335   template <>
10336   struct StructExtends<PipelineVertexInputDivisorStateCreateInfo, PipelineVertexInputStateCreateInfo>
10337   {
10338     enum
10339     {
10340       value = true
10341     };
10342   };
10343 
10344   template <>
10345   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, PhysicalDeviceFeatures2>
10346   {
10347     enum
10348     {
10349       value = true
10350     };
10351   };
10352 
10353   template <>
10354   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeatures, DeviceCreateInfo>
10355   {
10356     enum
10357     {
10358       value = true
10359     };
10360   };
10361 
10362   template <>
10363   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, PhysicalDeviceFeatures2>
10364   {
10365     enum
10366     {
10367       value = true
10368     };
10369   };
10370 
10371   template <>
10372   struct StructExtends<PhysicalDeviceIndexTypeUint8Features, DeviceCreateInfo>
10373   {
10374     enum
10375     {
10376       value = true
10377     };
10378   };
10379 
10380   template <>
10381   struct StructExtends<PhysicalDeviceMaintenance5Features, PhysicalDeviceFeatures2>
10382   {
10383     enum
10384     {
10385       value = true
10386     };
10387   };
10388 
10389   template <>
10390   struct StructExtends<PhysicalDeviceMaintenance5Features, DeviceCreateInfo>
10391   {
10392     enum
10393     {
10394       value = true
10395     };
10396   };
10397 
10398   template <>
10399   struct StructExtends<PhysicalDeviceMaintenance5Properties, PhysicalDeviceProperties2>
10400   {
10401     enum
10402     {
10403       value = true
10404     };
10405   };
10406 
10407   template <>
10408   struct StructExtends<PipelineCreateFlags2CreateInfo, ComputePipelineCreateInfo>
10409   {
10410     enum
10411     {
10412       value = true
10413     };
10414   };
10415 
10416   template <>
10417   struct StructExtends<PipelineCreateFlags2CreateInfo, GraphicsPipelineCreateInfo>
10418   {
10419     enum
10420     {
10421       value = true
10422     };
10423   };
10424 
10425   template <>
10426   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoNV>
10427   {
10428     enum
10429     {
10430       value = true
10431     };
10432   };
10433 
10434   template <>
10435   struct StructExtends<PipelineCreateFlags2CreateInfo, RayTracingPipelineCreateInfoKHR>
10436   {
10437     enum
10438     {
10439       value = true
10440     };
10441   };
10442 
10443   template <>
10444   struct StructExtends<BufferUsageFlags2CreateInfo, BufferViewCreateInfo>
10445   {
10446     enum
10447     {
10448       value = true
10449     };
10450   };
10451 
10452   template <>
10453   struct StructExtends<BufferUsageFlags2CreateInfo, BufferCreateInfo>
10454   {
10455     enum
10456     {
10457       value = true
10458     };
10459   };
10460 
10461   template <>
10462   struct StructExtends<BufferUsageFlags2CreateInfo, PhysicalDeviceExternalBufferInfo>
10463   {
10464     enum
10465     {
10466       value = true
10467     };
10468   };
10469 
10470   template <>
10471   struct StructExtends<BufferUsageFlags2CreateInfo, DescriptorBufferBindingInfoEXT>
10472   {
10473     enum
10474     {
10475       value = true
10476     };
10477   };
10478 
10479   template <>
10480   struct StructExtends<PhysicalDevicePushDescriptorProperties, PhysicalDeviceProperties2>
10481   {
10482     enum
10483     {
10484       value = true
10485     };
10486   };
10487 
10488   template <>
10489   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, PhysicalDeviceFeatures2>
10490   {
10491     enum
10492     {
10493       value = true
10494     };
10495   };
10496 
10497   template <>
10498   struct StructExtends<PhysicalDeviceDynamicRenderingLocalReadFeatures, DeviceCreateInfo>
10499   {
10500     enum
10501     {
10502       value = true
10503     };
10504   };
10505 
10506   template <>
10507   struct StructExtends<RenderingAttachmentLocationInfo, GraphicsPipelineCreateInfo>
10508   {
10509     enum
10510     {
10511       value = true
10512     };
10513   };
10514 
10515   template <>
10516   struct StructExtends<RenderingAttachmentLocationInfo, CommandBufferInheritanceInfo>
10517   {
10518     enum
10519     {
10520       value = true
10521     };
10522   };
10523 
10524   template <>
10525   struct StructExtends<RenderingInputAttachmentIndexInfo, GraphicsPipelineCreateInfo>
10526   {
10527     enum
10528     {
10529       value = true
10530     };
10531   };
10532 
10533   template <>
10534   struct StructExtends<RenderingInputAttachmentIndexInfo, CommandBufferInheritanceInfo>
10535   {
10536     enum
10537     {
10538       value = true
10539     };
10540   };
10541 
10542   template <>
10543   struct StructExtends<PhysicalDeviceMaintenance6Features, PhysicalDeviceFeatures2>
10544   {
10545     enum
10546     {
10547       value = true
10548     };
10549   };
10550 
10551   template <>
10552   struct StructExtends<PhysicalDeviceMaintenance6Features, DeviceCreateInfo>
10553   {
10554     enum
10555     {
10556       value = true
10557     };
10558   };
10559 
10560   template <>
10561   struct StructExtends<PhysicalDeviceMaintenance6Properties, PhysicalDeviceProperties2>
10562   {
10563     enum
10564     {
10565       value = true
10566     };
10567   };
10568 
10569   template <>
10570   struct StructExtends<BindMemoryStatus, BindBufferMemoryInfo>
10571   {
10572     enum
10573     {
10574       value = true
10575     };
10576   };
10577 
10578   template <>
10579   struct StructExtends<BindMemoryStatus, BindImageMemoryInfo>
10580   {
10581     enum
10582     {
10583       value = true
10584     };
10585   };
10586 
10587   template <>
10588   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, PhysicalDeviceFeatures2>
10589   {
10590     enum
10591     {
10592       value = true
10593     };
10594   };
10595 
10596   template <>
10597   struct StructExtends<PhysicalDevicePipelineProtectedAccessFeatures, DeviceCreateInfo>
10598   {
10599     enum
10600     {
10601       value = true
10602     };
10603   };
10604 
10605   template <>
10606   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, PhysicalDeviceFeatures2>
10607   {
10608     enum
10609     {
10610       value = true
10611     };
10612   };
10613 
10614   template <>
10615   struct StructExtends<PhysicalDevicePipelineRobustnessFeatures, DeviceCreateInfo>
10616   {
10617     enum
10618     {
10619       value = true
10620     };
10621   };
10622 
10623   template <>
10624   struct StructExtends<PhysicalDevicePipelineRobustnessProperties, PhysicalDeviceProperties2>
10625   {
10626     enum
10627     {
10628       value = true
10629     };
10630   };
10631 
10632   template <>
10633   struct StructExtends<PipelineRobustnessCreateInfo, GraphicsPipelineCreateInfo>
10634   {
10635     enum
10636     {
10637       value = true
10638     };
10639   };
10640 
10641   template <>
10642   struct StructExtends<PipelineRobustnessCreateInfo, ComputePipelineCreateInfo>
10643   {
10644     enum
10645     {
10646       value = true
10647     };
10648   };
10649 
10650   template <>
10651   struct StructExtends<PipelineRobustnessCreateInfo, PipelineShaderStageCreateInfo>
10652   {
10653     enum
10654     {
10655       value = true
10656     };
10657   };
10658 
10659   template <>
10660   struct StructExtends<PipelineRobustnessCreateInfo, RayTracingPipelineCreateInfoKHR>
10661   {
10662     enum
10663     {
10664       value = true
10665     };
10666   };
10667 
10668   template <>
10669   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, PhysicalDeviceFeatures2>
10670   {
10671     enum
10672     {
10673       value = true
10674     };
10675   };
10676 
10677   template <>
10678   struct StructExtends<PhysicalDeviceHostImageCopyFeatures, DeviceCreateInfo>
10679   {
10680     enum
10681     {
10682       value = true
10683     };
10684   };
10685 
10686   template <>
10687   struct StructExtends<PhysicalDeviceHostImageCopyProperties, PhysicalDeviceProperties2>
10688   {
10689     enum
10690     {
10691       value = true
10692     };
10693   };
10694 
10695   template <>
10696   struct StructExtends<SubresourceHostMemcpySize, SubresourceLayout2>
10697   {
10698     enum
10699     {
10700       value = true
10701     };
10702   };
10703 
10704   template <>
10705   struct StructExtends<HostImageCopyDevicePerformanceQuery, ImageFormatProperties2>
10706   {
10707     enum
10708     {
10709       value = true
10710     };
10711   };
10712 
10713   //=== VK_KHR_swapchain ===
10714   template <>
10715   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
10716   {
10717     enum
10718     {
10719       value = true
10720     };
10721   };
10722 
10723   template <>
10724   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
10725   {
10726     enum
10727     {
10728       value = true
10729     };
10730   };
10731 
10732   template <>
10733   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
10734   {
10735     enum
10736     {
10737       value = true
10738     };
10739   };
10740 
10741   template <>
10742   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
10743   {
10744     enum
10745     {
10746       value = true
10747     };
10748   };
10749 
10750   //=== VK_KHR_display_swapchain ===
10751   template <>
10752   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
10753   {
10754     enum
10755     {
10756       value = true
10757     };
10758   };
10759 
10760   //=== VK_EXT_debug_report ===
10761   template <>
10762   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
10763   {
10764     enum
10765     {
10766       value = true
10767     };
10768   };
10769 
10770   //=== VK_AMD_rasterization_order ===
10771   template <>
10772   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
10773   {
10774     enum
10775     {
10776       value = true
10777     };
10778   };
10779 
10780   //=== VK_KHR_video_queue ===
10781   template <>
10782   struct StructExtends<QueueFamilyQueryResultStatusPropertiesKHR, QueueFamilyProperties2>
10783   {
10784     enum
10785     {
10786       value = true
10787     };
10788   };
10789 
10790   template <>
10791   struct StructExtends<QueueFamilyVideoPropertiesKHR, QueueFamilyProperties2>
10792   {
10793     enum
10794     {
10795       value = true
10796     };
10797   };
10798 
10799   template <>
10800   struct StructExtends<VideoProfileInfoKHR, QueryPoolCreateInfo>
10801   {
10802     enum
10803     {
10804       value = true
10805     };
10806   };
10807 
10808   template <>
10809   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceImageFormatInfo2>
10810   {
10811     enum
10812     {
10813       value = true
10814     };
10815   };
10816 
10817   template <>
10818   struct StructExtends<VideoProfileListInfoKHR, PhysicalDeviceVideoFormatInfoKHR>
10819   {
10820     enum
10821     {
10822       value = true
10823     };
10824   };
10825 
10826   template <>
10827   struct StructExtends<VideoProfileListInfoKHR, ImageCreateInfo>
10828   {
10829     enum
10830     {
10831       value = true
10832     };
10833   };
10834 
10835   template <>
10836   struct StructExtends<VideoProfileListInfoKHR, BufferCreateInfo>
10837   {
10838     enum
10839     {
10840       value = true
10841     };
10842   };
10843 
10844   //=== VK_KHR_video_decode_queue ===
10845   template <>
10846   struct StructExtends<VideoDecodeCapabilitiesKHR, VideoCapabilitiesKHR>
10847   {
10848     enum
10849     {
10850       value = true
10851     };
10852   };
10853 
10854   template <>
10855   struct StructExtends<VideoDecodeUsageInfoKHR, VideoProfileInfoKHR>
10856   {
10857     enum
10858     {
10859       value = true
10860     };
10861   };
10862 
10863   template <>
10864   struct StructExtends<VideoDecodeUsageInfoKHR, QueryPoolCreateInfo>
10865   {
10866     enum
10867     {
10868       value = true
10869     };
10870   };
10871 
10872   //=== VK_NV_dedicated_allocation ===
10873   template <>
10874   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
10875   {
10876     enum
10877     {
10878       value = true
10879     };
10880   };
10881 
10882   template <>
10883   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
10884   {
10885     enum
10886     {
10887       value = true
10888     };
10889   };
10890 
10891   template <>
10892   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
10893   {
10894     enum
10895     {
10896       value = true
10897     };
10898   };
10899 
10900   //=== VK_EXT_transform_feedback ===
10901   template <>
10902   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
10903   {
10904     enum
10905     {
10906       value = true
10907     };
10908   };
10909 
10910   template <>
10911   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
10912   {
10913     enum
10914     {
10915       value = true
10916     };
10917   };
10918 
10919   template <>
10920   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
10921   {
10922     enum
10923     {
10924       value = true
10925     };
10926   };
10927 
10928   template <>
10929   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
10930   {
10931     enum
10932     {
10933       value = true
10934     };
10935   };
10936 
10937   //=== VK_KHR_video_encode_h264 ===
10938   template <>
10939   struct StructExtends<VideoEncodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
10940   {
10941     enum
10942     {
10943       value = true
10944     };
10945   };
10946 
10947   template <>
10948   struct StructExtends<VideoEncodeH264QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
10949   {
10950     enum
10951     {
10952       value = true
10953     };
10954   };
10955 
10956   template <>
10957   struct StructExtends<VideoEncodeH264SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
10958   {
10959     enum
10960     {
10961       value = true
10962     };
10963   };
10964 
10965   template <>
10966   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
10967   {
10968     enum
10969     {
10970       value = true
10971     };
10972   };
10973 
10974   template <>
10975   struct StructExtends<VideoEncodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
10976   {
10977     enum
10978     {
10979       value = true
10980     };
10981   };
10982 
10983   template <>
10984   struct StructExtends<VideoEncodeH264SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
10985   {
10986     enum
10987     {
10988       value = true
10989     };
10990   };
10991 
10992   template <>
10993   struct StructExtends<VideoEncodeH264SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
10994   {
10995     enum
10996     {
10997       value = true
10998     };
10999   };
11000 
11001   template <>
11002   struct StructExtends<VideoEncodeH264PictureInfoKHR, VideoEncodeInfoKHR>
11003   {
11004     enum
11005     {
11006       value = true
11007     };
11008   };
11009 
11010   template <>
11011   struct StructExtends<VideoEncodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11012   {
11013     enum
11014     {
11015       value = true
11016     };
11017   };
11018 
11019   template <>
11020   struct StructExtends<VideoEncodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11021   {
11022     enum
11023     {
11024       value = true
11025     };
11026   };
11027 
11028   template <>
11029   struct StructExtends<VideoEncodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11030   {
11031     enum
11032     {
11033       value = true
11034     };
11035   };
11036 
11037   template <>
11038   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoCodingControlInfoKHR>
11039   {
11040     enum
11041     {
11042       value = true
11043     };
11044   };
11045 
11046   template <>
11047   struct StructExtends<VideoEncodeH264RateControlInfoKHR, VideoBeginCodingInfoKHR>
11048   {
11049     enum
11050     {
11051       value = true
11052     };
11053   };
11054 
11055   template <>
11056   struct StructExtends<VideoEncodeH264RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11057   {
11058     enum
11059     {
11060       value = true
11061     };
11062   };
11063 
11064   template <>
11065   struct StructExtends<VideoEncodeH264GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11066   {
11067     enum
11068     {
11069       value = true
11070     };
11071   };
11072 
11073   //=== VK_KHR_video_encode_h265 ===
11074   template <>
11075   struct StructExtends<VideoEncodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
11076   {
11077     enum
11078     {
11079       value = true
11080     };
11081   };
11082 
11083   template <>
11084   struct StructExtends<VideoEncodeH265SessionCreateInfoKHR, VideoSessionCreateInfoKHR>
11085   {
11086     enum
11087     {
11088       value = true
11089     };
11090   };
11091 
11092   template <>
11093   struct StructExtends<VideoEncodeH265QualityLevelPropertiesKHR, VideoEncodeQualityLevelPropertiesKHR>
11094   {
11095     enum
11096     {
11097       value = true
11098     };
11099   };
11100 
11101   template <>
11102   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11103   {
11104     enum
11105     {
11106       value = true
11107     };
11108   };
11109 
11110   template <>
11111   struct StructExtends<VideoEncodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11112   {
11113     enum
11114     {
11115       value = true
11116     };
11117   };
11118 
11119   template <>
11120   struct StructExtends<VideoEncodeH265SessionParametersGetInfoKHR, VideoEncodeSessionParametersGetInfoKHR>
11121   {
11122     enum
11123     {
11124       value = true
11125     };
11126   };
11127 
11128   template <>
11129   struct StructExtends<VideoEncodeH265SessionParametersFeedbackInfoKHR, VideoEncodeSessionParametersFeedbackInfoKHR>
11130   {
11131     enum
11132     {
11133       value = true
11134     };
11135   };
11136 
11137   template <>
11138   struct StructExtends<VideoEncodeH265PictureInfoKHR, VideoEncodeInfoKHR>
11139   {
11140     enum
11141     {
11142       value = true
11143     };
11144   };
11145 
11146   template <>
11147   struct StructExtends<VideoEncodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11148   {
11149     enum
11150     {
11151       value = true
11152     };
11153   };
11154 
11155   template <>
11156   struct StructExtends<VideoEncodeH265ProfileInfoKHR, VideoProfileInfoKHR>
11157   {
11158     enum
11159     {
11160       value = true
11161     };
11162   };
11163 
11164   template <>
11165   struct StructExtends<VideoEncodeH265ProfileInfoKHR, QueryPoolCreateInfo>
11166   {
11167     enum
11168     {
11169       value = true
11170     };
11171   };
11172 
11173   template <>
11174   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoCodingControlInfoKHR>
11175   {
11176     enum
11177     {
11178       value = true
11179     };
11180   };
11181 
11182   template <>
11183   struct StructExtends<VideoEncodeH265RateControlInfoKHR, VideoBeginCodingInfoKHR>
11184   {
11185     enum
11186     {
11187       value = true
11188     };
11189   };
11190 
11191   template <>
11192   struct StructExtends<VideoEncodeH265RateControlLayerInfoKHR, VideoEncodeRateControlLayerInfoKHR>
11193   {
11194     enum
11195     {
11196       value = true
11197     };
11198   };
11199 
11200   template <>
11201   struct StructExtends<VideoEncodeH265GopRemainingFrameInfoKHR, VideoBeginCodingInfoKHR>
11202   {
11203     enum
11204     {
11205       value = true
11206     };
11207   };
11208 
11209   //=== VK_KHR_video_decode_h264 ===
11210   template <>
11211   struct StructExtends<VideoDecodeH264ProfileInfoKHR, VideoProfileInfoKHR>
11212   {
11213     enum
11214     {
11215       value = true
11216     };
11217   };
11218 
11219   template <>
11220   struct StructExtends<VideoDecodeH264ProfileInfoKHR, QueryPoolCreateInfo>
11221   {
11222     enum
11223     {
11224       value = true
11225     };
11226   };
11227 
11228   template <>
11229   struct StructExtends<VideoDecodeH264CapabilitiesKHR, VideoCapabilitiesKHR>
11230   {
11231     enum
11232     {
11233       value = true
11234     };
11235   };
11236 
11237   template <>
11238   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
11239   {
11240     enum
11241     {
11242       value = true
11243     };
11244   };
11245 
11246   template <>
11247   struct StructExtends<VideoDecodeH264SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
11248   {
11249     enum
11250     {
11251       value = true
11252     };
11253   };
11254 
11255   template <>
11256   struct StructExtends<VideoDecodeH264PictureInfoKHR, VideoDecodeInfoKHR>
11257   {
11258     enum
11259     {
11260       value = true
11261     };
11262   };
11263 
11264   template <>
11265   struct StructExtends<VideoDecodeH264DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
11266   {
11267     enum
11268     {
11269       value = true
11270     };
11271   };
11272 
11273   //=== VK_AMD_texture_gather_bias_lod ===
11274   template <>
11275   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
11276   {
11277     enum
11278     {
11279       value = true
11280     };
11281   };
11282 
11283   //=== VK_KHR_dynamic_rendering ===
11284   template <>
11285   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
11286   {
11287     enum
11288     {
11289       value = true
11290     };
11291   };
11292 
11293   template <>
11294   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
11295   {
11296     enum
11297     {
11298       value = true
11299     };
11300   };
11301 
11302   template <>
11303   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
11304   {
11305     enum
11306     {
11307       value = true
11308     };
11309   };
11310 
11311   template <>
11312   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
11313   {
11314     enum
11315     {
11316       value = true
11317     };
11318   };
11319 
11320   template <>
11321   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
11322   {
11323     enum
11324     {
11325       value = true
11326     };
11327   };
11328 
11329   template <>
11330   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
11331   {
11332     enum
11333     {
11334       value = true
11335     };
11336   };
11337 
11338   template <>
11339   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
11340   {
11341     enum
11342     {
11343       value = true
11344     };
11345   };
11346 
11347   //=== VK_NV_corner_sampled_image ===
11348   template <>
11349   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
11350   {
11351     enum
11352     {
11353       value = true
11354     };
11355   };
11356 
11357   template <>
11358   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
11359   {
11360     enum
11361     {
11362       value = true
11363     };
11364   };
11365 
11366   //=== VK_NV_external_memory ===
11367   template <>
11368   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
11369   {
11370     enum
11371     {
11372       value = true
11373     };
11374   };
11375 
11376   template <>
11377   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
11378   {
11379     enum
11380     {
11381       value = true
11382     };
11383   };
11384 
11385 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11386   //=== VK_NV_external_memory_win32 ===
11387   template <>
11388   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11389   {
11390     enum
11391     {
11392       value = true
11393     };
11394   };
11395 
11396   template <>
11397   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
11398   {
11399     enum
11400     {
11401       value = true
11402     };
11403   };
11404 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11405 
11406 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11407   //=== VK_NV_win32_keyed_mutex ===
11408   template <>
11409   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
11410   {
11411     enum
11412     {
11413       value = true
11414     };
11415   };
11416 
11417   template <>
11418   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
11419   {
11420     enum
11421     {
11422       value = true
11423     };
11424   };
11425 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11426 
11427   //=== VK_EXT_validation_flags ===
11428   template <>
11429   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
11430   {
11431     enum
11432     {
11433       value = true
11434     };
11435   };
11436 
11437   //=== VK_EXT_astc_decode_mode ===
11438   template <>
11439   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
11440   {
11441     enum
11442     {
11443       value = true
11444     };
11445   };
11446 
11447   template <>
11448   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
11449   {
11450     enum
11451     {
11452       value = true
11453     };
11454   };
11455 
11456   template <>
11457   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
11458   {
11459     enum
11460     {
11461       value = true
11462     };
11463   };
11464 
11465 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11466   //=== VK_KHR_external_memory_win32 ===
11467   template <>
11468   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11469   {
11470     enum
11471     {
11472       value = true
11473     };
11474   };
11475 
11476   template <>
11477   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
11478   {
11479     enum
11480     {
11481       value = true
11482     };
11483   };
11484 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11485 
11486   //=== VK_KHR_external_memory_fd ===
11487   template <>
11488   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
11489   {
11490     enum
11491     {
11492       value = true
11493     };
11494   };
11495 
11496 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11497   //=== VK_KHR_win32_keyed_mutex ===
11498   template <>
11499   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
11500   {
11501     enum
11502     {
11503       value = true
11504     };
11505   };
11506 
11507   template <>
11508   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
11509   {
11510     enum
11511     {
11512       value = true
11513     };
11514   };
11515 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11516 
11517 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11518   //=== VK_KHR_external_semaphore_win32 ===
11519   template <>
11520   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
11521   {
11522     enum
11523     {
11524       value = true
11525     };
11526   };
11527 
11528   template <>
11529   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
11530   {
11531     enum
11532     {
11533       value = true
11534     };
11535   };
11536 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11537 
11538   //=== VK_EXT_conditional_rendering ===
11539   template <>
11540   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
11541   {
11542     enum
11543     {
11544       value = true
11545     };
11546   };
11547 
11548   template <>
11549   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
11550   {
11551     enum
11552     {
11553       value = true
11554     };
11555   };
11556 
11557   template <>
11558   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
11559   {
11560     enum
11561     {
11562       value = true
11563     };
11564   };
11565 
11566   //=== VK_KHR_incremental_present ===
11567   template <>
11568   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
11569   {
11570     enum
11571     {
11572       value = true
11573     };
11574   };
11575 
11576   //=== VK_NV_clip_space_w_scaling ===
11577   template <>
11578   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
11579   {
11580     enum
11581     {
11582       value = true
11583     };
11584   };
11585 
11586   //=== VK_EXT_display_control ===
11587   template <>
11588   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
11589   {
11590     enum
11591     {
11592       value = true
11593     };
11594   };
11595 
11596   //=== VK_GOOGLE_display_timing ===
11597   template <>
11598   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
11599   {
11600     enum
11601     {
11602       value = true
11603     };
11604   };
11605 
11606   //=== VK_NVX_multiview_per_view_attributes ===
11607   template <>
11608   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
11609   {
11610     enum
11611     {
11612       value = true
11613     };
11614   };
11615 
11616   //=== VK_NV_viewport_swizzle ===
11617   template <>
11618   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
11619   {
11620     enum
11621     {
11622       value = true
11623     };
11624   };
11625 
11626   //=== VK_EXT_discard_rectangles ===
11627   template <>
11628   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
11629   {
11630     enum
11631     {
11632       value = true
11633     };
11634   };
11635 
11636   template <>
11637   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
11638   {
11639     enum
11640     {
11641       value = true
11642     };
11643   };
11644 
11645   //=== VK_EXT_conservative_rasterization ===
11646   template <>
11647   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
11648   {
11649     enum
11650     {
11651       value = true
11652     };
11653   };
11654 
11655   template <>
11656   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11657   {
11658     enum
11659     {
11660       value = true
11661     };
11662   };
11663 
11664   //=== VK_EXT_depth_clip_enable ===
11665   template <>
11666   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
11667   {
11668     enum
11669     {
11670       value = true
11671     };
11672   };
11673 
11674   template <>
11675   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
11676   {
11677     enum
11678     {
11679       value = true
11680     };
11681   };
11682 
11683   template <>
11684   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
11685   {
11686     enum
11687     {
11688       value = true
11689     };
11690   };
11691 
11692   //=== VK_IMG_relaxed_line_rasterization ===
11693   template <>
11694   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, PhysicalDeviceFeatures2>
11695   {
11696     enum
11697     {
11698       value = true
11699     };
11700   };
11701 
11702   template <>
11703   struct StructExtends<PhysicalDeviceRelaxedLineRasterizationFeaturesIMG, DeviceCreateInfo>
11704   {
11705     enum
11706     {
11707       value = true
11708     };
11709   };
11710 
11711   //=== VK_KHR_shared_presentable_image ===
11712   template <>
11713   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
11714   {
11715     enum
11716     {
11717       value = true
11718     };
11719   };
11720 
11721 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
11722   //=== VK_KHR_external_fence_win32 ===
11723   template <>
11724   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
11725   {
11726     enum
11727     {
11728       value = true
11729     };
11730   };
11731 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
11732 
11733   //=== VK_KHR_performance_query ===
11734   template <>
11735   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
11736   {
11737     enum
11738     {
11739       value = true
11740     };
11741   };
11742 
11743   template <>
11744   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
11745   {
11746     enum
11747     {
11748       value = true
11749     };
11750   };
11751 
11752   template <>
11753   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
11754   {
11755     enum
11756     {
11757       value = true
11758     };
11759   };
11760 
11761   template <>
11762   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
11763   {
11764     enum
11765     {
11766       value = true
11767     };
11768   };
11769 
11770   template <>
11771   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
11772   {
11773     enum
11774     {
11775       value = true
11776     };
11777   };
11778 
11779   template <>
11780   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
11781   {
11782     enum
11783     {
11784       value = true
11785     };
11786   };
11787 
11788   //=== VK_EXT_debug_utils ===
11789   template <>
11790   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
11791   {
11792     enum
11793     {
11794       value = true
11795     };
11796   };
11797 
11798   template <>
11799   struct StructExtends<DebugUtilsObjectNameInfoEXT, PipelineShaderStageCreateInfo>
11800   {
11801     enum
11802     {
11803       value = true
11804     };
11805   };
11806 
11807 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
11808   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
11809   template <>
11810   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
11811   {
11812     enum
11813     {
11814       value = true
11815     };
11816   };
11817 
11818   template <>
11819   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
11820   {
11821     enum
11822     {
11823       value = true
11824     };
11825   };
11826 
11827   template <>
11828   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
11829   {
11830     enum
11831     {
11832       value = true
11833     };
11834   };
11835 
11836   template <>
11837   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
11838   {
11839     enum
11840     {
11841       value = true
11842     };
11843   };
11844 
11845   template <>
11846   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
11847   {
11848     enum
11849     {
11850       value = true
11851     };
11852   };
11853 
11854   template <>
11855   struct StructExtends<ExternalFormatANDROID, AttachmentDescription2>
11856   {
11857     enum
11858     {
11859       value = true
11860     };
11861   };
11862 
11863   template <>
11864   struct StructExtends<ExternalFormatANDROID, GraphicsPipelineCreateInfo>
11865   {
11866     enum
11867     {
11868       value = true
11869     };
11870   };
11871 
11872   template <>
11873   struct StructExtends<ExternalFormatANDROID, CommandBufferInheritanceInfo>
11874   {
11875     enum
11876     {
11877       value = true
11878     };
11879   };
11880 
11881   template <>
11882   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
11883   {
11884     enum
11885     {
11886       value = true
11887     };
11888   };
11889 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
11890 
11891 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
11892   //=== VK_AMDX_shader_enqueue ===
11893   template <>
11894   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, PhysicalDeviceFeatures2>
11895   {
11896     enum
11897     {
11898       value = true
11899     };
11900   };
11901 
11902   template <>
11903   struct StructExtends<PhysicalDeviceShaderEnqueueFeaturesAMDX, DeviceCreateInfo>
11904   {
11905     enum
11906     {
11907       value = true
11908     };
11909   };
11910 
11911   template <>
11912   struct StructExtends<PhysicalDeviceShaderEnqueuePropertiesAMDX, PhysicalDeviceProperties2>
11913   {
11914     enum
11915     {
11916       value = true
11917     };
11918   };
11919 
11920   template <>
11921   struct StructExtends<ExecutionGraphPipelineCreateInfoAMDX, PipelineCreateInfoKHR>
11922   {
11923     enum
11924     {
11925       value = true
11926     };
11927   };
11928 
11929   template <>
11930   struct StructExtends<PipelineShaderStageNodeCreateInfoAMDX, PipelineShaderStageCreateInfo>
11931   {
11932     enum
11933     {
11934       value = true
11935     };
11936   };
11937 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
11938 
11939   //=== VK_EXT_sample_locations ===
11940   template <>
11941   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
11942   {
11943     enum
11944     {
11945       value = true
11946     };
11947   };
11948 
11949   template <>
11950   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2>
11951   {
11952     enum
11953     {
11954       value = true
11955     };
11956   };
11957 
11958   template <>
11959   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
11960   {
11961     enum
11962     {
11963       value = true
11964     };
11965   };
11966 
11967   template <>
11968   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
11969   {
11970     enum
11971     {
11972       value = true
11973     };
11974   };
11975 
11976   template <>
11977   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
11978   {
11979     enum
11980     {
11981       value = true
11982     };
11983   };
11984 
11985   //=== VK_EXT_blend_operation_advanced ===
11986   template <>
11987   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
11988   {
11989     enum
11990     {
11991       value = true
11992     };
11993   };
11994 
11995   template <>
11996   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
11997   {
11998     enum
11999     {
12000       value = true
12001     };
12002   };
12003 
12004   template <>
12005   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
12006   {
12007     enum
12008     {
12009       value = true
12010     };
12011   };
12012 
12013   template <>
12014   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
12015   {
12016     enum
12017     {
12018       value = true
12019     };
12020   };
12021 
12022   //=== VK_NV_fragment_coverage_to_color ===
12023   template <>
12024   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12025   {
12026     enum
12027     {
12028       value = true
12029     };
12030   };
12031 
12032   //=== VK_KHR_acceleration_structure ===
12033   template <>
12034   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
12035   {
12036     enum
12037     {
12038       value = true
12039     };
12040   };
12041 
12042   template <>
12043   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
12044   {
12045     enum
12046     {
12047       value = true
12048     };
12049   };
12050 
12051   template <>
12052   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
12053   {
12054     enum
12055     {
12056       value = true
12057     };
12058   };
12059 
12060   template <>
12061   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
12062   {
12063     enum
12064     {
12065       value = true
12066     };
12067   };
12068 
12069   //=== VK_KHR_ray_tracing_pipeline ===
12070   template <>
12071   struct StructExtends<RayTracingPipelineCreateInfoKHR, PipelineCreateInfoKHR>
12072   {
12073     enum
12074     {
12075       value = true
12076     };
12077   };
12078 
12079   template <>
12080   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
12081   {
12082     enum
12083     {
12084       value = true
12085     };
12086   };
12087 
12088   template <>
12089   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
12090   {
12091     enum
12092     {
12093       value = true
12094     };
12095   };
12096 
12097   template <>
12098   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
12099   {
12100     enum
12101     {
12102       value = true
12103     };
12104   };
12105 
12106   //=== VK_KHR_ray_query ===
12107   template <>
12108   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
12109   {
12110     enum
12111     {
12112       value = true
12113     };
12114   };
12115 
12116   template <>
12117   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
12118   {
12119     enum
12120     {
12121       value = true
12122     };
12123   };
12124 
12125   //=== VK_NV_framebuffer_mixed_samples ===
12126   template <>
12127   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
12128   {
12129     enum
12130     {
12131       value = true
12132     };
12133   };
12134 
12135   //=== VK_NV_shader_sm_builtins ===
12136   template <>
12137   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
12138   {
12139     enum
12140     {
12141       value = true
12142     };
12143   };
12144 
12145   template <>
12146   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
12147   {
12148     enum
12149     {
12150       value = true
12151     };
12152   };
12153 
12154   template <>
12155   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
12156   {
12157     enum
12158     {
12159       value = true
12160     };
12161   };
12162 
12163   //=== VK_EXT_image_drm_format_modifier ===
12164   template <>
12165   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
12166   {
12167     enum
12168     {
12169       value = true
12170     };
12171   };
12172 
12173   template <>
12174   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
12175   {
12176     enum
12177     {
12178       value = true
12179     };
12180   };
12181 
12182   template <>
12183   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
12184   {
12185     enum
12186     {
12187       value = true
12188     };
12189   };
12190 
12191   template <>
12192   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
12193   {
12194     enum
12195     {
12196       value = true
12197     };
12198   };
12199 
12200   template <>
12201   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
12202   {
12203     enum
12204     {
12205       value = true
12206     };
12207   };
12208 
12209   //=== VK_EXT_validation_cache ===
12210   template <>
12211   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
12212   {
12213     enum
12214     {
12215       value = true
12216     };
12217   };
12218 
12219   template <>
12220   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, PipelineShaderStageCreateInfo>
12221   {
12222     enum
12223     {
12224       value = true
12225     };
12226   };
12227 
12228 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12229   //=== VK_KHR_portability_subset ===
12230   template <>
12231   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
12232   {
12233     enum
12234     {
12235       value = true
12236     };
12237   };
12238 
12239   template <>
12240   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
12241   {
12242     enum
12243     {
12244       value = true
12245     };
12246   };
12247 
12248   template <>
12249   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
12250   {
12251     enum
12252     {
12253       value = true
12254     };
12255   };
12256 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12257 
12258   //=== VK_NV_shading_rate_image ===
12259   template <>
12260   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
12261   {
12262     enum
12263     {
12264       value = true
12265     };
12266   };
12267 
12268   template <>
12269   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
12270   {
12271     enum
12272     {
12273       value = true
12274     };
12275   };
12276 
12277   template <>
12278   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
12279   {
12280     enum
12281     {
12282       value = true
12283     };
12284   };
12285 
12286   template <>
12287   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
12288   {
12289     enum
12290     {
12291       value = true
12292     };
12293   };
12294 
12295   template <>
12296   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
12297   {
12298     enum
12299     {
12300       value = true
12301     };
12302   };
12303 
12304   //=== VK_NV_ray_tracing ===
12305   template <>
12306   struct StructExtends<RayTracingPipelineCreateInfoNV, PipelineCreateInfoKHR>
12307   {
12308     enum
12309     {
12310       value = true
12311     };
12312   };
12313 
12314   template <>
12315   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
12316   {
12317     enum
12318     {
12319       value = true
12320     };
12321   };
12322 
12323   template <>
12324   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
12325   {
12326     enum
12327     {
12328       value = true
12329     };
12330   };
12331 
12332   //=== VK_NV_representative_fragment_test ===
12333   template <>
12334   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
12335   {
12336     enum
12337     {
12338       value = true
12339     };
12340   };
12341 
12342   template <>
12343   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
12344   {
12345     enum
12346     {
12347       value = true
12348     };
12349   };
12350 
12351   template <>
12352   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
12353   {
12354     enum
12355     {
12356       value = true
12357     };
12358   };
12359 
12360   //=== VK_EXT_filter_cubic ===
12361   template <>
12362   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
12363   {
12364     enum
12365     {
12366       value = true
12367     };
12368   };
12369 
12370   template <>
12371   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
12372   {
12373     enum
12374     {
12375       value = true
12376     };
12377   };
12378 
12379   //=== VK_EXT_external_memory_host ===
12380   template <>
12381   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
12382   {
12383     enum
12384     {
12385       value = true
12386     };
12387   };
12388 
12389   template <>
12390   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
12391   {
12392     enum
12393     {
12394       value = true
12395     };
12396   };
12397 
12398   //=== VK_KHR_shader_clock ===
12399   template <>
12400   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
12401   {
12402     enum
12403     {
12404       value = true
12405     };
12406   };
12407 
12408   template <>
12409   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
12410   {
12411     enum
12412     {
12413       value = true
12414     };
12415   };
12416 
12417   //=== VK_AMD_pipeline_compiler_control ===
12418   template <>
12419   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
12420   {
12421     enum
12422     {
12423       value = true
12424     };
12425   };
12426 
12427   template <>
12428   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
12429   {
12430     enum
12431     {
12432       value = true
12433     };
12434   };
12435 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
12436   template <>
12437   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ExecutionGraphPipelineCreateInfoAMDX>
12438   {
12439     enum
12440     {
12441       value = true
12442     };
12443   };
12444 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
12445 
12446   //=== VK_AMD_shader_core_properties ===
12447   template <>
12448   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
12449   {
12450     enum
12451     {
12452       value = true
12453     };
12454   };
12455 
12456   //=== VK_KHR_video_decode_h265 ===
12457   template <>
12458   struct StructExtends<VideoDecodeH265ProfileInfoKHR, VideoProfileInfoKHR>
12459   {
12460     enum
12461     {
12462       value = true
12463     };
12464   };
12465 
12466   template <>
12467   struct StructExtends<VideoDecodeH265ProfileInfoKHR, QueryPoolCreateInfo>
12468   {
12469     enum
12470     {
12471       value = true
12472     };
12473   };
12474 
12475   template <>
12476   struct StructExtends<VideoDecodeH265CapabilitiesKHR, VideoCapabilitiesKHR>
12477   {
12478     enum
12479     {
12480       value = true
12481     };
12482   };
12483 
12484   template <>
12485   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
12486   {
12487     enum
12488     {
12489       value = true
12490     };
12491   };
12492 
12493   template <>
12494   struct StructExtends<VideoDecodeH265SessionParametersAddInfoKHR, VideoSessionParametersUpdateInfoKHR>
12495   {
12496     enum
12497     {
12498       value = true
12499     };
12500   };
12501 
12502   template <>
12503   struct StructExtends<VideoDecodeH265PictureInfoKHR, VideoDecodeInfoKHR>
12504   {
12505     enum
12506     {
12507       value = true
12508     };
12509   };
12510 
12511   template <>
12512   struct StructExtends<VideoDecodeH265DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
12513   {
12514     enum
12515     {
12516       value = true
12517     };
12518   };
12519 
12520   //=== VK_AMD_memory_overallocation_behavior ===
12521   template <>
12522   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
12523   {
12524     enum
12525     {
12526       value = true
12527     };
12528   };
12529 
12530   //=== VK_EXT_vertex_attribute_divisor ===
12531   template <>
12532   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
12533   {
12534     enum
12535     {
12536       value = true
12537     };
12538   };
12539 
12540 #  if defined( VK_USE_PLATFORM_GGP )
12541   //=== VK_GGP_frame_token ===
12542   template <>
12543   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
12544   {
12545     enum
12546     {
12547       value = true
12548     };
12549   };
12550 #  endif /*VK_USE_PLATFORM_GGP*/
12551 
12552   //=== VK_NV_compute_shader_derivatives ===
12553   template <>
12554   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
12555   {
12556     enum
12557     {
12558       value = true
12559     };
12560   };
12561 
12562   template <>
12563   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
12564   {
12565     enum
12566     {
12567       value = true
12568     };
12569   };
12570 
12571   //=== VK_NV_mesh_shader ===
12572   template <>
12573   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
12574   {
12575     enum
12576     {
12577       value = true
12578     };
12579   };
12580 
12581   template <>
12582   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
12583   {
12584     enum
12585     {
12586       value = true
12587     };
12588   };
12589 
12590   template <>
12591   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
12592   {
12593     enum
12594     {
12595       value = true
12596     };
12597   };
12598 
12599   //=== VK_NV_shader_image_footprint ===
12600   template <>
12601   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
12602   {
12603     enum
12604     {
12605       value = true
12606     };
12607   };
12608 
12609   template <>
12610   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
12611   {
12612     enum
12613     {
12614       value = true
12615     };
12616   };
12617 
12618   //=== VK_NV_scissor_exclusive ===
12619   template <>
12620   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
12621   {
12622     enum
12623     {
12624       value = true
12625     };
12626   };
12627 
12628   template <>
12629   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
12630   {
12631     enum
12632     {
12633       value = true
12634     };
12635   };
12636 
12637   template <>
12638   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
12639   {
12640     enum
12641     {
12642       value = true
12643     };
12644   };
12645 
12646   //=== VK_NV_device_diagnostic_checkpoints ===
12647   template <>
12648   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
12649   {
12650     enum
12651     {
12652       value = true
12653     };
12654   };
12655 
12656   //=== VK_INTEL_shader_integer_functions2 ===
12657   template <>
12658   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
12659   {
12660     enum
12661     {
12662       value = true
12663     };
12664   };
12665 
12666   template <>
12667   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
12668   {
12669     enum
12670     {
12671       value = true
12672     };
12673   };
12674 
12675   //=== VK_INTEL_performance_query ===
12676   template <>
12677   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
12678   {
12679     enum
12680     {
12681       value = true
12682     };
12683   };
12684 
12685   //=== VK_EXT_pci_bus_info ===
12686   template <>
12687   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
12688   {
12689     enum
12690     {
12691       value = true
12692     };
12693   };
12694 
12695   //=== VK_AMD_display_native_hdr ===
12696   template <>
12697   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
12698   {
12699     enum
12700     {
12701       value = true
12702     };
12703   };
12704 
12705   template <>
12706   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
12707   {
12708     enum
12709     {
12710       value = true
12711     };
12712   };
12713 
12714   //=== VK_EXT_fragment_density_map ===
12715   template <>
12716   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
12717   {
12718     enum
12719     {
12720       value = true
12721     };
12722   };
12723 
12724   template <>
12725   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
12726   {
12727     enum
12728     {
12729       value = true
12730     };
12731   };
12732 
12733   template <>
12734   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
12735   {
12736     enum
12737     {
12738       value = true
12739     };
12740   };
12741 
12742   template <>
12743   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
12744   {
12745     enum
12746     {
12747       value = true
12748     };
12749   };
12750 
12751   template <>
12752   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
12753   {
12754     enum
12755     {
12756       value = true
12757     };
12758   };
12759 
12760   //=== VK_KHR_fragment_shading_rate ===
12761   template <>
12762   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
12763   {
12764     enum
12765     {
12766       value = true
12767     };
12768   };
12769 
12770   template <>
12771   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
12772   {
12773     enum
12774     {
12775       value = true
12776     };
12777   };
12778 
12779   template <>
12780   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
12781   {
12782     enum
12783     {
12784       value = true
12785     };
12786   };
12787 
12788   template <>
12789   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
12790   {
12791     enum
12792     {
12793       value = true
12794     };
12795   };
12796 
12797   template <>
12798   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
12799   {
12800     enum
12801     {
12802       value = true
12803     };
12804   };
12805 
12806   //=== VK_AMD_shader_core_properties2 ===
12807   template <>
12808   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
12809   {
12810     enum
12811     {
12812       value = true
12813     };
12814   };
12815 
12816   //=== VK_AMD_device_coherent_memory ===
12817   template <>
12818   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
12819   {
12820     enum
12821     {
12822       value = true
12823     };
12824   };
12825 
12826   template <>
12827   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
12828   {
12829     enum
12830     {
12831       value = true
12832     };
12833   };
12834 
12835   //=== VK_EXT_shader_image_atomic_int64 ===
12836   template <>
12837   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
12838   {
12839     enum
12840     {
12841       value = true
12842     };
12843   };
12844 
12845   template <>
12846   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
12847   {
12848     enum
12849     {
12850       value = true
12851     };
12852   };
12853 
12854   //=== VK_KHR_shader_quad_control ===
12855   template <>
12856   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, PhysicalDeviceFeatures2>
12857   {
12858     enum
12859     {
12860       value = true
12861     };
12862   };
12863 
12864   template <>
12865   struct StructExtends<PhysicalDeviceShaderQuadControlFeaturesKHR, DeviceCreateInfo>
12866   {
12867     enum
12868     {
12869       value = true
12870     };
12871   };
12872 
12873   //=== VK_EXT_memory_budget ===
12874   template <>
12875   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
12876   {
12877     enum
12878     {
12879       value = true
12880     };
12881   };
12882 
12883   //=== VK_EXT_memory_priority ===
12884   template <>
12885   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
12886   {
12887     enum
12888     {
12889       value = true
12890     };
12891   };
12892 
12893   template <>
12894   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
12895   {
12896     enum
12897     {
12898       value = true
12899     };
12900   };
12901 
12902   template <>
12903   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
12904   {
12905     enum
12906     {
12907       value = true
12908     };
12909   };
12910 
12911   //=== VK_KHR_surface_protected_capabilities ===
12912   template <>
12913   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
12914   {
12915     enum
12916     {
12917       value = true
12918     };
12919   };
12920 
12921   //=== VK_NV_dedicated_allocation_image_aliasing ===
12922   template <>
12923   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
12924   {
12925     enum
12926     {
12927       value = true
12928     };
12929   };
12930 
12931   template <>
12932   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
12933   {
12934     enum
12935     {
12936       value = true
12937     };
12938   };
12939 
12940   //=== VK_EXT_buffer_device_address ===
12941   template <>
12942   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
12943   {
12944     enum
12945     {
12946       value = true
12947     };
12948   };
12949 
12950   template <>
12951   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
12952   {
12953     enum
12954     {
12955       value = true
12956     };
12957   };
12958 
12959   template <>
12960   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
12961   {
12962     enum
12963     {
12964       value = true
12965     };
12966   };
12967 
12968   //=== VK_EXT_validation_features ===
12969   template <>
12970   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
12971   {
12972     enum
12973     {
12974       value = true
12975     };
12976   };
12977 
12978   template <>
12979   struct StructExtends<ValidationFeaturesEXT, ShaderModuleCreateInfo>
12980   {
12981     enum
12982     {
12983       value = true
12984     };
12985   };
12986 
12987   template <>
12988   struct StructExtends<ValidationFeaturesEXT, ShaderCreateInfoEXT>
12989   {
12990     enum
12991     {
12992       value = true
12993     };
12994   };
12995 
12996   //=== VK_KHR_present_wait ===
12997   template <>
12998   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
12999   {
13000     enum
13001     {
13002       value = true
13003     };
13004   };
13005 
13006   template <>
13007   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
13008   {
13009     enum
13010     {
13011       value = true
13012     };
13013   };
13014 
13015   //=== VK_NV_cooperative_matrix ===
13016   template <>
13017   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
13018   {
13019     enum
13020     {
13021       value = true
13022     };
13023   };
13024 
13025   template <>
13026   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
13027   {
13028     enum
13029     {
13030       value = true
13031     };
13032   };
13033 
13034   template <>
13035   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
13036   {
13037     enum
13038     {
13039       value = true
13040     };
13041   };
13042 
13043   //=== VK_NV_coverage_reduction_mode ===
13044   template <>
13045   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
13046   {
13047     enum
13048     {
13049       value = true
13050     };
13051   };
13052 
13053   template <>
13054   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
13055   {
13056     enum
13057     {
13058       value = true
13059     };
13060   };
13061 
13062   template <>
13063   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
13064   {
13065     enum
13066     {
13067       value = true
13068     };
13069   };
13070 
13071   //=== VK_EXT_fragment_shader_interlock ===
13072   template <>
13073   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
13074   {
13075     enum
13076     {
13077       value = true
13078     };
13079   };
13080 
13081   template <>
13082   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
13083   {
13084     enum
13085     {
13086       value = true
13087     };
13088   };
13089 
13090   //=== VK_EXT_ycbcr_image_arrays ===
13091   template <>
13092   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
13093   {
13094     enum
13095     {
13096       value = true
13097     };
13098   };
13099 
13100   template <>
13101   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
13102   {
13103     enum
13104     {
13105       value = true
13106     };
13107   };
13108 
13109   //=== VK_EXT_provoking_vertex ===
13110   template <>
13111   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
13112   {
13113     enum
13114     {
13115       value = true
13116     };
13117   };
13118 
13119   template <>
13120   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
13121   {
13122     enum
13123     {
13124       value = true
13125     };
13126   };
13127 
13128   template <>
13129   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
13130   {
13131     enum
13132     {
13133       value = true
13134     };
13135   };
13136 
13137   template <>
13138   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
13139   {
13140     enum
13141     {
13142       value = true
13143     };
13144   };
13145 
13146 #  if defined( VK_USE_PLATFORM_WIN32_KHR )
13147   //=== VK_EXT_full_screen_exclusive ===
13148   template <>
13149   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13150   {
13151     enum
13152     {
13153       value = true
13154     };
13155   };
13156 
13157   template <>
13158   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
13159   {
13160     enum
13161     {
13162       value = true
13163     };
13164   };
13165 
13166   template <>
13167   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
13168   {
13169     enum
13170     {
13171       value = true
13172     };
13173   };
13174 
13175   template <>
13176   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
13177   {
13178     enum
13179     {
13180       value = true
13181     };
13182   };
13183 
13184   template <>
13185   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
13186   {
13187     enum
13188     {
13189       value = true
13190     };
13191   };
13192 #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
13193 
13194   //=== VK_EXT_shader_atomic_float ===
13195   template <>
13196   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
13197   {
13198     enum
13199     {
13200       value = true
13201     };
13202   };
13203 
13204   template <>
13205   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
13206   {
13207     enum
13208     {
13209       value = true
13210     };
13211   };
13212 
13213   //=== VK_EXT_extended_dynamic_state ===
13214   template <>
13215   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
13216   {
13217     enum
13218     {
13219       value = true
13220     };
13221   };
13222 
13223   template <>
13224   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
13225   {
13226     enum
13227     {
13228       value = true
13229     };
13230   };
13231 
13232   //=== VK_KHR_pipeline_executable_properties ===
13233   template <>
13234   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
13235   {
13236     enum
13237     {
13238       value = true
13239     };
13240   };
13241 
13242   template <>
13243   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
13244   {
13245     enum
13246     {
13247       value = true
13248     };
13249   };
13250 
13251   //=== VK_EXT_map_memory_placed ===
13252   template <>
13253   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, PhysicalDeviceFeatures2>
13254   {
13255     enum
13256     {
13257       value = true
13258     };
13259   };
13260 
13261   template <>
13262   struct StructExtends<PhysicalDeviceMapMemoryPlacedFeaturesEXT, DeviceCreateInfo>
13263   {
13264     enum
13265     {
13266       value = true
13267     };
13268   };
13269 
13270   template <>
13271   struct StructExtends<PhysicalDeviceMapMemoryPlacedPropertiesEXT, PhysicalDeviceProperties2>
13272   {
13273     enum
13274     {
13275       value = true
13276     };
13277   };
13278 
13279   template <>
13280   struct StructExtends<MemoryMapPlacedInfoEXT, MemoryMapInfo>
13281   {
13282     enum
13283     {
13284       value = true
13285     };
13286   };
13287 
13288   //=== VK_EXT_shader_atomic_float2 ===
13289   template <>
13290   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
13291   {
13292     enum
13293     {
13294       value = true
13295     };
13296   };
13297 
13298   template <>
13299   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
13300   {
13301     enum
13302     {
13303       value = true
13304     };
13305   };
13306 
13307   //=== VK_EXT_surface_maintenance1 ===
13308   template <>
13309   struct StructExtends<SurfacePresentModeEXT, PhysicalDeviceSurfaceInfo2KHR>
13310   {
13311     enum
13312     {
13313       value = true
13314     };
13315   };
13316 
13317   template <>
13318   struct StructExtends<SurfacePresentScalingCapabilitiesEXT, SurfaceCapabilities2KHR>
13319   {
13320     enum
13321     {
13322       value = true
13323     };
13324   };
13325 
13326   template <>
13327   struct StructExtends<SurfacePresentModeCompatibilityEXT, SurfaceCapabilities2KHR>
13328   {
13329     enum
13330     {
13331       value = true
13332     };
13333   };
13334 
13335   //=== VK_EXT_swapchain_maintenance1 ===
13336   template <>
13337   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, PhysicalDeviceFeatures2>
13338   {
13339     enum
13340     {
13341       value = true
13342     };
13343   };
13344 
13345   template <>
13346   struct StructExtends<PhysicalDeviceSwapchainMaintenance1FeaturesEXT, DeviceCreateInfo>
13347   {
13348     enum
13349     {
13350       value = true
13351     };
13352   };
13353 
13354   template <>
13355   struct StructExtends<SwapchainPresentFenceInfoEXT, PresentInfoKHR>
13356   {
13357     enum
13358     {
13359       value = true
13360     };
13361   };
13362 
13363   template <>
13364   struct StructExtends<SwapchainPresentModesCreateInfoEXT, SwapchainCreateInfoKHR>
13365   {
13366     enum
13367     {
13368       value = true
13369     };
13370   };
13371 
13372   template <>
13373   struct StructExtends<SwapchainPresentModeInfoEXT, PresentInfoKHR>
13374   {
13375     enum
13376     {
13377       value = true
13378     };
13379   };
13380 
13381   template <>
13382   struct StructExtends<SwapchainPresentScalingCreateInfoEXT, SwapchainCreateInfoKHR>
13383   {
13384     enum
13385     {
13386       value = true
13387     };
13388   };
13389 
13390   //=== VK_NV_device_generated_commands ===
13391   template <>
13392   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
13393   {
13394     enum
13395     {
13396       value = true
13397     };
13398   };
13399 
13400   template <>
13401   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
13402   {
13403     enum
13404     {
13405       value = true
13406     };
13407   };
13408 
13409   template <>
13410   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
13411   {
13412     enum
13413     {
13414       value = true
13415     };
13416   };
13417 
13418   template <>
13419   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
13420   {
13421     enum
13422     {
13423       value = true
13424     };
13425   };
13426 
13427   //=== VK_NV_inherited_viewport_scissor ===
13428   template <>
13429   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
13430   {
13431     enum
13432     {
13433       value = true
13434     };
13435   };
13436 
13437   template <>
13438   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
13439   {
13440     enum
13441     {
13442       value = true
13443     };
13444   };
13445 
13446   template <>
13447   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
13448   {
13449     enum
13450     {
13451       value = true
13452     };
13453   };
13454 
13455   //=== VK_EXT_texel_buffer_alignment ===
13456   template <>
13457   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
13458   {
13459     enum
13460     {
13461       value = true
13462     };
13463   };
13464 
13465   template <>
13466   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
13467   {
13468     enum
13469     {
13470       value = true
13471     };
13472   };
13473 
13474   //=== VK_QCOM_render_pass_transform ===
13475   template <>
13476   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
13477   {
13478     enum
13479     {
13480       value = true
13481     };
13482   };
13483 
13484   template <>
13485   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
13486   {
13487     enum
13488     {
13489       value = true
13490     };
13491   };
13492 
13493   //=== VK_EXT_depth_bias_control ===
13494   template <>
13495   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, PhysicalDeviceFeatures2>
13496   {
13497     enum
13498     {
13499       value = true
13500     };
13501   };
13502 
13503   template <>
13504   struct StructExtends<PhysicalDeviceDepthBiasControlFeaturesEXT, DeviceCreateInfo>
13505   {
13506     enum
13507     {
13508       value = true
13509     };
13510   };
13511 
13512   template <>
13513   struct StructExtends<DepthBiasRepresentationInfoEXT, DepthBiasInfoEXT>
13514   {
13515     enum
13516     {
13517       value = true
13518     };
13519   };
13520 
13521   template <>
13522   struct StructExtends<DepthBiasRepresentationInfoEXT, PipelineRasterizationStateCreateInfo>
13523   {
13524     enum
13525     {
13526       value = true
13527     };
13528   };
13529 
13530   //=== VK_EXT_device_memory_report ===
13531   template <>
13532   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
13533   {
13534     enum
13535     {
13536       value = true
13537     };
13538   };
13539 
13540   template <>
13541   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
13542   {
13543     enum
13544     {
13545       value = true
13546     };
13547   };
13548 
13549   template <>
13550   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
13551   {
13552     enum
13553     {
13554       value = true
13555     };
13556   };
13557 
13558   //=== VK_EXT_robustness2 ===
13559   template <>
13560   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
13561   {
13562     enum
13563     {
13564       value = true
13565     };
13566   };
13567 
13568   template <>
13569   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
13570   {
13571     enum
13572     {
13573       value = true
13574     };
13575   };
13576 
13577   template <>
13578   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
13579   {
13580     enum
13581     {
13582       value = true
13583     };
13584   };
13585 
13586   //=== VK_EXT_custom_border_color ===
13587   template <>
13588   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
13589   {
13590     enum
13591     {
13592       value = true
13593     };
13594   };
13595 
13596   template <>
13597   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
13598   {
13599     enum
13600     {
13601       value = true
13602     };
13603   };
13604 
13605   template <>
13606   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
13607   {
13608     enum
13609     {
13610       value = true
13611     };
13612   };
13613 
13614   template <>
13615   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
13616   {
13617     enum
13618     {
13619       value = true
13620     };
13621   };
13622 
13623   //=== VK_KHR_pipeline_library ===
13624   template <>
13625   struct StructExtends<PipelineLibraryCreateInfoKHR, GraphicsPipelineCreateInfo>
13626   {
13627     enum
13628     {
13629       value = true
13630     };
13631   };
13632 
13633   //=== VK_NV_present_barrier ===
13634   template <>
13635   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, PhysicalDeviceFeatures2>
13636   {
13637     enum
13638     {
13639       value = true
13640     };
13641   };
13642 
13643   template <>
13644   struct StructExtends<PhysicalDevicePresentBarrierFeaturesNV, DeviceCreateInfo>
13645   {
13646     enum
13647     {
13648       value = true
13649     };
13650   };
13651 
13652   template <>
13653   struct StructExtends<SurfaceCapabilitiesPresentBarrierNV, SurfaceCapabilities2KHR>
13654   {
13655     enum
13656     {
13657       value = true
13658     };
13659   };
13660 
13661   template <>
13662   struct StructExtends<SwapchainPresentBarrierCreateInfoNV, SwapchainCreateInfoKHR>
13663   {
13664     enum
13665     {
13666       value = true
13667     };
13668   };
13669 
13670   //=== VK_KHR_present_id ===
13671   template <>
13672   struct StructExtends<PresentIdKHR, PresentInfoKHR>
13673   {
13674     enum
13675     {
13676       value = true
13677     };
13678   };
13679 
13680   template <>
13681   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
13682   {
13683     enum
13684     {
13685       value = true
13686     };
13687   };
13688 
13689   template <>
13690   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
13691   {
13692     enum
13693     {
13694       value = true
13695     };
13696   };
13697 
13698   //=== VK_KHR_video_encode_queue ===
13699   template <>
13700   struct StructExtends<VideoEncodeCapabilitiesKHR, VideoCapabilitiesKHR>
13701   {
13702     enum
13703     {
13704       value = true
13705     };
13706   };
13707 
13708   template <>
13709   struct StructExtends<QueryPoolVideoEncodeFeedbackCreateInfoKHR, QueryPoolCreateInfo>
13710   {
13711     enum
13712     {
13713       value = true
13714     };
13715   };
13716 
13717   template <>
13718   struct StructExtends<VideoEncodeUsageInfoKHR, VideoProfileInfoKHR>
13719   {
13720     enum
13721     {
13722       value = true
13723     };
13724   };
13725 
13726   template <>
13727   struct StructExtends<VideoEncodeUsageInfoKHR, QueryPoolCreateInfo>
13728   {
13729     enum
13730     {
13731       value = true
13732     };
13733   };
13734 
13735   template <>
13736   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
13737   {
13738     enum
13739     {
13740       value = true
13741     };
13742   };
13743 
13744   template <>
13745   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoBeginCodingInfoKHR>
13746   {
13747     enum
13748     {
13749       value = true
13750     };
13751   };
13752 
13753   template <>
13754   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoCodingControlInfoKHR>
13755   {
13756     enum
13757     {
13758       value = true
13759     };
13760   };
13761 
13762   template <>
13763   struct StructExtends<VideoEncodeQualityLevelInfoKHR, VideoSessionParametersCreateInfoKHR>
13764   {
13765     enum
13766     {
13767       value = true
13768     };
13769   };
13770 
13771   //=== VK_NV_device_diagnostics_config ===
13772   template <>
13773   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
13774   {
13775     enum
13776     {
13777       value = true
13778     };
13779   };
13780 
13781   template <>
13782   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
13783   {
13784     enum
13785     {
13786       value = true
13787     };
13788   };
13789 
13790   template <>
13791   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
13792   {
13793     enum
13794     {
13795       value = true
13796     };
13797   };
13798 
13799 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
13800   //=== VK_NV_cuda_kernel_launch ===
13801   template <>
13802   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, PhysicalDeviceFeatures2>
13803   {
13804     enum
13805     {
13806       value = true
13807     };
13808   };
13809 
13810   template <>
13811   struct StructExtends<PhysicalDeviceCudaKernelLaunchFeaturesNV, DeviceCreateInfo>
13812   {
13813     enum
13814     {
13815       value = true
13816     };
13817   };
13818 
13819   template <>
13820   struct StructExtends<PhysicalDeviceCudaKernelLaunchPropertiesNV, PhysicalDeviceProperties2>
13821   {
13822     enum
13823     {
13824       value = true
13825     };
13826   };
13827 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
13828 
13829   //=== VK_NV_low_latency ===
13830   template <>
13831   struct StructExtends<QueryLowLatencySupportNV, SemaphoreCreateInfo>
13832   {
13833     enum
13834     {
13835       value = true
13836     };
13837   };
13838 
13839 #  if defined( VK_USE_PLATFORM_METAL_EXT )
13840   //=== VK_EXT_metal_objects ===
13841   template <>
13842   struct StructExtends<ExportMetalObjectCreateInfoEXT, InstanceCreateInfo>
13843   {
13844     enum
13845     {
13846       value = true
13847     };
13848   };
13849 
13850   template <>
13851   struct StructExtends<ExportMetalObjectCreateInfoEXT, MemoryAllocateInfo>
13852   {
13853     enum
13854     {
13855       value = true
13856     };
13857   };
13858 
13859   template <>
13860   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageCreateInfo>
13861   {
13862     enum
13863     {
13864       value = true
13865     };
13866   };
13867 
13868   template <>
13869   struct StructExtends<ExportMetalObjectCreateInfoEXT, ImageViewCreateInfo>
13870   {
13871     enum
13872     {
13873       value = true
13874     };
13875   };
13876 
13877   template <>
13878   struct StructExtends<ExportMetalObjectCreateInfoEXT, BufferViewCreateInfo>
13879   {
13880     enum
13881     {
13882       value = true
13883     };
13884   };
13885 
13886   template <>
13887   struct StructExtends<ExportMetalObjectCreateInfoEXT, SemaphoreCreateInfo>
13888   {
13889     enum
13890     {
13891       value = true
13892     };
13893   };
13894 
13895   template <>
13896   struct StructExtends<ExportMetalObjectCreateInfoEXT, EventCreateInfo>
13897   {
13898     enum
13899     {
13900       value = true
13901     };
13902   };
13903 
13904   template <>
13905   struct StructExtends<ExportMetalDeviceInfoEXT, ExportMetalObjectsInfoEXT>
13906   {
13907     enum
13908     {
13909       value = true
13910     };
13911   };
13912 
13913   template <>
13914   struct StructExtends<ExportMetalCommandQueueInfoEXT, ExportMetalObjectsInfoEXT>
13915   {
13916     enum
13917     {
13918       value = true
13919     };
13920   };
13921 
13922   template <>
13923   struct StructExtends<ExportMetalBufferInfoEXT, ExportMetalObjectsInfoEXT>
13924   {
13925     enum
13926     {
13927       value = true
13928     };
13929   };
13930 
13931   template <>
13932   struct StructExtends<ImportMetalBufferInfoEXT, MemoryAllocateInfo>
13933   {
13934     enum
13935     {
13936       value = true
13937     };
13938   };
13939 
13940   template <>
13941   struct StructExtends<ExportMetalTextureInfoEXT, ExportMetalObjectsInfoEXT>
13942   {
13943     enum
13944     {
13945       value = true
13946     };
13947   };
13948 
13949   template <>
13950   struct StructExtends<ImportMetalTextureInfoEXT, ImageCreateInfo>
13951   {
13952     enum
13953     {
13954       value = true
13955     };
13956   };
13957 
13958   template <>
13959   struct StructExtends<ExportMetalIOSurfaceInfoEXT, ExportMetalObjectsInfoEXT>
13960   {
13961     enum
13962     {
13963       value = true
13964     };
13965   };
13966 
13967   template <>
13968   struct StructExtends<ImportMetalIOSurfaceInfoEXT, ImageCreateInfo>
13969   {
13970     enum
13971     {
13972       value = true
13973     };
13974   };
13975 
13976   template <>
13977   struct StructExtends<ExportMetalSharedEventInfoEXT, ExportMetalObjectsInfoEXT>
13978   {
13979     enum
13980     {
13981       value = true
13982     };
13983   };
13984 
13985   template <>
13986   struct StructExtends<ImportMetalSharedEventInfoEXT, SemaphoreCreateInfo>
13987   {
13988     enum
13989     {
13990       value = true
13991     };
13992   };
13993 
13994   template <>
13995   struct StructExtends<ImportMetalSharedEventInfoEXT, EventCreateInfo>
13996   {
13997     enum
13998     {
13999       value = true
14000     };
14001   };
14002 #  endif /*VK_USE_PLATFORM_METAL_EXT*/
14003 
14004   //=== VK_KHR_synchronization2 ===
14005   template <>
14006   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
14007   {
14008     enum
14009     {
14010       value = true
14011     };
14012   };
14013 
14014   //=== VK_EXT_descriptor_buffer ===
14015   template <>
14016   struct StructExtends<PhysicalDeviceDescriptorBufferPropertiesEXT, PhysicalDeviceProperties2>
14017   {
14018     enum
14019     {
14020       value = true
14021     };
14022   };
14023 
14024   template <>
14025   struct StructExtends<PhysicalDeviceDescriptorBufferDensityMapPropertiesEXT, PhysicalDeviceProperties2>
14026   {
14027     enum
14028     {
14029       value = true
14030     };
14031   };
14032 
14033   template <>
14034   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, PhysicalDeviceFeatures2>
14035   {
14036     enum
14037     {
14038       value = true
14039     };
14040   };
14041 
14042   template <>
14043   struct StructExtends<PhysicalDeviceDescriptorBufferFeaturesEXT, DeviceCreateInfo>
14044   {
14045     enum
14046     {
14047       value = true
14048     };
14049   };
14050 
14051   template <>
14052   struct StructExtends<DescriptorBufferBindingPushDescriptorBufferHandleEXT, DescriptorBufferBindingInfoEXT>
14053   {
14054     enum
14055     {
14056       value = true
14057     };
14058   };
14059 
14060   template <>
14061   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, BufferCreateInfo>
14062   {
14063     enum
14064     {
14065       value = true
14066     };
14067   };
14068 
14069   template <>
14070   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageCreateInfo>
14071   {
14072     enum
14073     {
14074       value = true
14075     };
14076   };
14077 
14078   template <>
14079   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, ImageViewCreateInfo>
14080   {
14081     enum
14082     {
14083       value = true
14084     };
14085   };
14086 
14087   template <>
14088   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, SamplerCreateInfo>
14089   {
14090     enum
14091     {
14092       value = true
14093     };
14094   };
14095 
14096   template <>
14097   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoKHR>
14098   {
14099     enum
14100     {
14101       value = true
14102     };
14103   };
14104 
14105   template <>
14106   struct StructExtends<OpaqueCaptureDescriptorDataCreateInfoEXT, AccelerationStructureCreateInfoNV>
14107   {
14108     enum
14109     {
14110       value = true
14111     };
14112   };
14113 
14114   //=== VK_EXT_graphics_pipeline_library ===
14115   template <>
14116   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, PhysicalDeviceFeatures2>
14117   {
14118     enum
14119     {
14120       value = true
14121     };
14122   };
14123 
14124   template <>
14125   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryFeaturesEXT, DeviceCreateInfo>
14126   {
14127     enum
14128     {
14129       value = true
14130     };
14131   };
14132 
14133   template <>
14134   struct StructExtends<PhysicalDeviceGraphicsPipelineLibraryPropertiesEXT, PhysicalDeviceProperties2>
14135   {
14136     enum
14137     {
14138       value = true
14139     };
14140   };
14141 
14142   template <>
14143   struct StructExtends<GraphicsPipelineLibraryCreateInfoEXT, GraphicsPipelineCreateInfo>
14144   {
14145     enum
14146     {
14147       value = true
14148     };
14149   };
14150 
14151   //=== VK_AMD_shader_early_and_late_fragment_tests ===
14152   template <>
14153   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, PhysicalDeviceFeatures2>
14154   {
14155     enum
14156     {
14157       value = true
14158     };
14159   };
14160 
14161   template <>
14162   struct StructExtends<PhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD, DeviceCreateInfo>
14163   {
14164     enum
14165     {
14166       value = true
14167     };
14168   };
14169 
14170   //=== VK_KHR_fragment_shader_barycentric ===
14171   template <>
14172   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, PhysicalDeviceFeatures2>
14173   {
14174     enum
14175     {
14176       value = true
14177     };
14178   };
14179 
14180   template <>
14181   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesKHR, DeviceCreateInfo>
14182   {
14183     enum
14184     {
14185       value = true
14186     };
14187   };
14188 
14189   template <>
14190   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricPropertiesKHR, PhysicalDeviceProperties2>
14191   {
14192     enum
14193     {
14194       value = true
14195     };
14196   };
14197 
14198   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
14199   template <>
14200   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
14201   {
14202     enum
14203     {
14204       value = true
14205     };
14206   };
14207 
14208   template <>
14209   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
14210   {
14211     enum
14212     {
14213       value = true
14214     };
14215   };
14216 
14217   //=== VK_NV_fragment_shading_rate_enums ===
14218   template <>
14219   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
14220   {
14221     enum
14222     {
14223       value = true
14224     };
14225   };
14226 
14227   template <>
14228   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
14229   {
14230     enum
14231     {
14232       value = true
14233     };
14234   };
14235 
14236   template <>
14237   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
14238   {
14239     enum
14240     {
14241       value = true
14242     };
14243   };
14244 
14245   template <>
14246   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
14247   {
14248     enum
14249     {
14250       value = true
14251     };
14252   };
14253 
14254   //=== VK_NV_ray_tracing_motion_blur ===
14255   template <>
14256   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV, AccelerationStructureGeometryTrianglesDataKHR>
14257   {
14258     enum
14259     {
14260       value = true
14261     };
14262   };
14263 
14264   template <>
14265   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
14266   {
14267     enum
14268     {
14269       value = true
14270     };
14271   };
14272 
14273   template <>
14274   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
14275   {
14276     enum
14277     {
14278       value = true
14279     };
14280   };
14281 
14282   template <>
14283   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
14284   {
14285     enum
14286     {
14287       value = true
14288     };
14289   };
14290 
14291   //=== VK_EXT_mesh_shader ===
14292   template <>
14293   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, PhysicalDeviceFeatures2>
14294   {
14295     enum
14296     {
14297       value = true
14298     };
14299   };
14300 
14301   template <>
14302   struct StructExtends<PhysicalDeviceMeshShaderFeaturesEXT, DeviceCreateInfo>
14303   {
14304     enum
14305     {
14306       value = true
14307     };
14308   };
14309 
14310   template <>
14311   struct StructExtends<PhysicalDeviceMeshShaderPropertiesEXT, PhysicalDeviceProperties2>
14312   {
14313     enum
14314     {
14315       value = true
14316     };
14317   };
14318 
14319   //=== VK_EXT_ycbcr_2plane_444_formats ===
14320   template <>
14321   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14322   {
14323     enum
14324     {
14325       value = true
14326     };
14327   };
14328 
14329   template <>
14330   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
14331   {
14332     enum
14333     {
14334       value = true
14335     };
14336   };
14337 
14338   //=== VK_EXT_fragment_density_map2 ===
14339   template <>
14340   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
14341   {
14342     enum
14343     {
14344       value = true
14345     };
14346   };
14347 
14348   template <>
14349   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
14350   {
14351     enum
14352     {
14353       value = true
14354     };
14355   };
14356 
14357   template <>
14358   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
14359   {
14360     enum
14361     {
14362       value = true
14363     };
14364   };
14365 
14366   //=== VK_QCOM_rotated_copy_commands ===
14367   template <>
14368   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2>
14369   {
14370     enum
14371     {
14372       value = true
14373     };
14374   };
14375 
14376   template <>
14377   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2>
14378   {
14379     enum
14380     {
14381       value = true
14382     };
14383   };
14384 
14385   //=== VK_KHR_workgroup_memory_explicit_layout ===
14386   template <>
14387   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
14388   {
14389     enum
14390     {
14391       value = true
14392     };
14393   };
14394 
14395   template <>
14396   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
14397   {
14398     enum
14399     {
14400       value = true
14401     };
14402   };
14403 
14404   //=== VK_EXT_image_compression_control ===
14405   template <>
14406   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, PhysicalDeviceFeatures2>
14407   {
14408     enum
14409     {
14410       value = true
14411     };
14412   };
14413 
14414   template <>
14415   struct StructExtends<PhysicalDeviceImageCompressionControlFeaturesEXT, DeviceCreateInfo>
14416   {
14417     enum
14418     {
14419       value = true
14420     };
14421   };
14422 
14423   template <>
14424   struct StructExtends<ImageCompressionControlEXT, ImageCreateInfo>
14425   {
14426     enum
14427     {
14428       value = true
14429     };
14430   };
14431 
14432   template <>
14433   struct StructExtends<ImageCompressionControlEXT, SwapchainCreateInfoKHR>
14434   {
14435     enum
14436     {
14437       value = true
14438     };
14439   };
14440 
14441   template <>
14442   struct StructExtends<ImageCompressionControlEXT, PhysicalDeviceImageFormatInfo2>
14443   {
14444     enum
14445     {
14446       value = true
14447     };
14448   };
14449 
14450   template <>
14451   struct StructExtends<ImageCompressionPropertiesEXT, ImageFormatProperties2>
14452   {
14453     enum
14454     {
14455       value = true
14456     };
14457   };
14458 
14459   template <>
14460   struct StructExtends<ImageCompressionPropertiesEXT, SurfaceFormat2KHR>
14461   {
14462     enum
14463     {
14464       value = true
14465     };
14466   };
14467 
14468   template <>
14469   struct StructExtends<ImageCompressionPropertiesEXT, SubresourceLayout2>
14470   {
14471     enum
14472     {
14473       value = true
14474     };
14475   };
14476 
14477   //=== VK_EXT_attachment_feedback_loop_layout ===
14478   template <>
14479   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, PhysicalDeviceFeatures2>
14480   {
14481     enum
14482     {
14483       value = true
14484     };
14485   };
14486 
14487   template <>
14488   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT, DeviceCreateInfo>
14489   {
14490     enum
14491     {
14492       value = true
14493     };
14494   };
14495 
14496   //=== VK_EXT_4444_formats ===
14497   template <>
14498   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14499   {
14500     enum
14501     {
14502       value = true
14503     };
14504   };
14505 
14506   template <>
14507   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
14508   {
14509     enum
14510     {
14511       value = true
14512     };
14513   };
14514 
14515   //=== VK_EXT_device_fault ===
14516   template <>
14517   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, PhysicalDeviceFeatures2>
14518   {
14519     enum
14520     {
14521       value = true
14522     };
14523   };
14524 
14525   template <>
14526   struct StructExtends<PhysicalDeviceFaultFeaturesEXT, DeviceCreateInfo>
14527   {
14528     enum
14529     {
14530       value = true
14531     };
14532   };
14533 
14534   //=== VK_EXT_rgba10x6_formats ===
14535   template <>
14536   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
14537   {
14538     enum
14539     {
14540       value = true
14541     };
14542   };
14543 
14544   template <>
14545   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
14546   {
14547     enum
14548     {
14549       value = true
14550     };
14551   };
14552 
14553   //=== VK_EXT_vertex_input_dynamic_state ===
14554   template <>
14555   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
14556   {
14557     enum
14558     {
14559       value = true
14560     };
14561   };
14562 
14563   template <>
14564   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
14565   {
14566     enum
14567     {
14568       value = true
14569     };
14570   };
14571 
14572   //=== VK_EXT_physical_device_drm ===
14573   template <>
14574   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
14575   {
14576     enum
14577     {
14578       value = true
14579     };
14580   };
14581 
14582   //=== VK_EXT_device_address_binding_report ===
14583   template <>
14584   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, PhysicalDeviceFeatures2>
14585   {
14586     enum
14587     {
14588       value = true
14589     };
14590   };
14591 
14592   template <>
14593   struct StructExtends<PhysicalDeviceAddressBindingReportFeaturesEXT, DeviceCreateInfo>
14594   {
14595     enum
14596     {
14597       value = true
14598     };
14599   };
14600 
14601   template <>
14602   struct StructExtends<DeviceAddressBindingCallbackDataEXT, DebugUtilsMessengerCallbackDataEXT>
14603   {
14604     enum
14605     {
14606       value = true
14607     };
14608   };
14609 
14610   //=== VK_EXT_depth_clip_control ===
14611   template <>
14612   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
14613   {
14614     enum
14615     {
14616       value = true
14617     };
14618   };
14619 
14620   template <>
14621   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
14622   {
14623     enum
14624     {
14625       value = true
14626     };
14627   };
14628 
14629   template <>
14630   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
14631   {
14632     enum
14633     {
14634       value = true
14635     };
14636   };
14637 
14638   //=== VK_EXT_primitive_topology_list_restart ===
14639   template <>
14640   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
14641   {
14642     enum
14643     {
14644       value = true
14645     };
14646   };
14647 
14648   template <>
14649   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
14650   {
14651     enum
14652     {
14653       value = true
14654     };
14655   };
14656 
14657 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14658   //=== VK_FUCHSIA_external_memory ===
14659   template <>
14660   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
14661   {
14662     enum
14663     {
14664       value = true
14665     };
14666   };
14667 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14668 
14669 #  if defined( VK_USE_PLATFORM_FUCHSIA )
14670   //=== VK_FUCHSIA_buffer_collection ===
14671   template <>
14672   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
14673   {
14674     enum
14675     {
14676       value = true
14677     };
14678   };
14679 
14680   template <>
14681   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
14682   {
14683     enum
14684     {
14685       value = true
14686     };
14687   };
14688 
14689   template <>
14690   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
14691   {
14692     enum
14693     {
14694       value = true
14695     };
14696   };
14697 #  endif /*VK_USE_PLATFORM_FUCHSIA*/
14698 
14699   //=== VK_HUAWEI_subpass_shading ===
14700   template <>
14701   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
14702   {
14703     enum
14704     {
14705       value = true
14706     };
14707   };
14708 
14709   template <>
14710   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
14711   {
14712     enum
14713     {
14714       value = true
14715     };
14716   };
14717 
14718   template <>
14719   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
14720   {
14721     enum
14722     {
14723       value = true
14724     };
14725   };
14726 
14727   template <>
14728   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
14729   {
14730     enum
14731     {
14732       value = true
14733     };
14734   };
14735 
14736   //=== VK_HUAWEI_invocation_mask ===
14737   template <>
14738   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
14739   {
14740     enum
14741     {
14742       value = true
14743     };
14744   };
14745 
14746   template <>
14747   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
14748   {
14749     enum
14750     {
14751       value = true
14752     };
14753   };
14754 
14755   //=== VK_NV_external_memory_rdma ===
14756   template <>
14757   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
14758   {
14759     enum
14760     {
14761       value = true
14762     };
14763   };
14764 
14765   template <>
14766   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
14767   {
14768     enum
14769     {
14770       value = true
14771     };
14772   };
14773 
14774   //=== VK_EXT_pipeline_properties ===
14775   template <>
14776   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, PhysicalDeviceFeatures2>
14777   {
14778     enum
14779     {
14780       value = true
14781     };
14782   };
14783 
14784   template <>
14785   struct StructExtends<PhysicalDevicePipelinePropertiesFeaturesEXT, DeviceCreateInfo>
14786   {
14787     enum
14788     {
14789       value = true
14790     };
14791   };
14792 
14793   //=== VK_EXT_frame_boundary ===
14794   template <>
14795   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, PhysicalDeviceFeatures2>
14796   {
14797     enum
14798     {
14799       value = true
14800     };
14801   };
14802 
14803   template <>
14804   struct StructExtends<PhysicalDeviceFrameBoundaryFeaturesEXT, DeviceCreateInfo>
14805   {
14806     enum
14807     {
14808       value = true
14809     };
14810   };
14811 
14812   template <>
14813   struct StructExtends<FrameBoundaryEXT, SubmitInfo>
14814   {
14815     enum
14816     {
14817       value = true
14818     };
14819   };
14820 
14821   template <>
14822   struct StructExtends<FrameBoundaryEXT, SubmitInfo2>
14823   {
14824     enum
14825     {
14826       value = true
14827     };
14828   };
14829 
14830   template <>
14831   struct StructExtends<FrameBoundaryEXT, PresentInfoKHR>
14832   {
14833     enum
14834     {
14835       value = true
14836     };
14837   };
14838 
14839   template <>
14840   struct StructExtends<FrameBoundaryEXT, BindSparseInfo>
14841   {
14842     enum
14843     {
14844       value = true
14845     };
14846   };
14847 
14848   //=== VK_EXT_multisampled_render_to_single_sampled ===
14849   template <>
14850   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, PhysicalDeviceFeatures2>
14851   {
14852     enum
14853     {
14854       value = true
14855     };
14856   };
14857 
14858   template <>
14859   struct StructExtends<PhysicalDeviceMultisampledRenderToSingleSampledFeaturesEXT, DeviceCreateInfo>
14860   {
14861     enum
14862     {
14863       value = true
14864     };
14865   };
14866 
14867   template <>
14868   struct StructExtends<SubpassResolvePerformanceQueryEXT, FormatProperties2>
14869   {
14870     enum
14871     {
14872       value = true
14873     };
14874   };
14875 
14876   template <>
14877   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, SubpassDescription2>
14878   {
14879     enum
14880     {
14881       value = true
14882     };
14883   };
14884 
14885   template <>
14886   struct StructExtends<MultisampledRenderToSingleSampledInfoEXT, RenderingInfo>
14887   {
14888     enum
14889     {
14890       value = true
14891     };
14892   };
14893 
14894   //=== VK_EXT_extended_dynamic_state2 ===
14895   template <>
14896   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
14897   {
14898     enum
14899     {
14900       value = true
14901     };
14902   };
14903 
14904   template <>
14905   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
14906   {
14907     enum
14908     {
14909       value = true
14910     };
14911   };
14912 
14913   //=== VK_EXT_color_write_enable ===
14914   template <>
14915   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
14916   {
14917     enum
14918     {
14919       value = true
14920     };
14921   };
14922 
14923   template <>
14924   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
14925   {
14926     enum
14927     {
14928       value = true
14929     };
14930   };
14931 
14932   template <>
14933   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
14934   {
14935     enum
14936     {
14937       value = true
14938     };
14939   };
14940 
14941   //=== VK_EXT_primitives_generated_query ===
14942   template <>
14943   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, PhysicalDeviceFeatures2>
14944   {
14945     enum
14946     {
14947       value = true
14948     };
14949   };
14950 
14951   template <>
14952   struct StructExtends<PhysicalDevicePrimitivesGeneratedQueryFeaturesEXT, DeviceCreateInfo>
14953   {
14954     enum
14955     {
14956       value = true
14957     };
14958   };
14959 
14960   //=== VK_KHR_ray_tracing_maintenance1 ===
14961   template <>
14962   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
14963   {
14964     enum
14965     {
14966       value = true
14967     };
14968   };
14969 
14970   template <>
14971   struct StructExtends<PhysicalDeviceRayTracingMaintenance1FeaturesKHR, DeviceCreateInfo>
14972   {
14973     enum
14974     {
14975       value = true
14976     };
14977   };
14978 
14979   //=== VK_EXT_image_view_min_lod ===
14980   template <>
14981   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
14982   {
14983     enum
14984     {
14985       value = true
14986     };
14987   };
14988 
14989   template <>
14990   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
14991   {
14992     enum
14993     {
14994       value = true
14995     };
14996   };
14997 
14998   template <>
14999   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
15000   {
15001     enum
15002     {
15003       value = true
15004     };
15005   };
15006 
15007   //=== VK_EXT_multi_draw ===
15008   template <>
15009   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
15010   {
15011     enum
15012     {
15013       value = true
15014     };
15015   };
15016 
15017   template <>
15018   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
15019   {
15020     enum
15021     {
15022       value = true
15023     };
15024   };
15025 
15026   template <>
15027   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
15028   {
15029     enum
15030     {
15031       value = true
15032     };
15033   };
15034 
15035   //=== VK_EXT_image_2d_view_of_3d ===
15036   template <>
15037   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15038   {
15039     enum
15040     {
15041       value = true
15042     };
15043   };
15044 
15045   template <>
15046   struct StructExtends<PhysicalDeviceImage2DViewOf3DFeaturesEXT, DeviceCreateInfo>
15047   {
15048     enum
15049     {
15050       value = true
15051     };
15052   };
15053 
15054   //=== VK_EXT_shader_tile_image ===
15055   template <>
15056   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, PhysicalDeviceFeatures2>
15057   {
15058     enum
15059     {
15060       value = true
15061     };
15062   };
15063 
15064   template <>
15065   struct StructExtends<PhysicalDeviceShaderTileImageFeaturesEXT, DeviceCreateInfo>
15066   {
15067     enum
15068     {
15069       value = true
15070     };
15071   };
15072 
15073   template <>
15074   struct StructExtends<PhysicalDeviceShaderTileImagePropertiesEXT, PhysicalDeviceProperties2>
15075   {
15076     enum
15077     {
15078       value = true
15079     };
15080   };
15081 
15082   //=== VK_EXT_opacity_micromap ===
15083   template <>
15084   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, PhysicalDeviceFeatures2>
15085   {
15086     enum
15087     {
15088       value = true
15089     };
15090   };
15091 
15092   template <>
15093   struct StructExtends<PhysicalDeviceOpacityMicromapFeaturesEXT, DeviceCreateInfo>
15094   {
15095     enum
15096     {
15097       value = true
15098     };
15099   };
15100 
15101   template <>
15102   struct StructExtends<PhysicalDeviceOpacityMicromapPropertiesEXT, PhysicalDeviceProperties2>
15103   {
15104     enum
15105     {
15106       value = true
15107     };
15108   };
15109 
15110   template <>
15111   struct StructExtends<AccelerationStructureTrianglesOpacityMicromapEXT, AccelerationStructureGeometryTrianglesDataKHR>
15112   {
15113     enum
15114     {
15115       value = true
15116     };
15117   };
15118 
15119 #  if defined( VK_ENABLE_BETA_EXTENSIONS )
15120   //=== VK_NV_displacement_micromap ===
15121   template <>
15122   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, PhysicalDeviceFeatures2>
15123   {
15124     enum
15125     {
15126       value = true
15127     };
15128   };
15129 
15130   template <>
15131   struct StructExtends<PhysicalDeviceDisplacementMicromapFeaturesNV, DeviceCreateInfo>
15132   {
15133     enum
15134     {
15135       value = true
15136     };
15137   };
15138 
15139   template <>
15140   struct StructExtends<PhysicalDeviceDisplacementMicromapPropertiesNV, PhysicalDeviceProperties2>
15141   {
15142     enum
15143     {
15144       value = true
15145     };
15146   };
15147 
15148   template <>
15149   struct StructExtends<AccelerationStructureTrianglesDisplacementMicromapNV, AccelerationStructureGeometryTrianglesDataKHR>
15150   {
15151     enum
15152     {
15153       value = true
15154     };
15155   };
15156 #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
15157 
15158   //=== VK_HUAWEI_cluster_culling_shader ===
15159   template <>
15160   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, PhysicalDeviceFeatures2>
15161   {
15162     enum
15163     {
15164       value = true
15165     };
15166   };
15167 
15168   template <>
15169   struct StructExtends<PhysicalDeviceClusterCullingShaderFeaturesHUAWEI, DeviceCreateInfo>
15170   {
15171     enum
15172     {
15173       value = true
15174     };
15175   };
15176 
15177   template <>
15178   struct StructExtends<PhysicalDeviceClusterCullingShaderPropertiesHUAWEI, PhysicalDeviceProperties2>
15179   {
15180     enum
15181     {
15182       value = true
15183     };
15184   };
15185 
15186   template <>
15187   struct StructExtends<PhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI, PhysicalDeviceClusterCullingShaderFeaturesHUAWEI>
15188   {
15189     enum
15190     {
15191       value = true
15192     };
15193   };
15194 
15195   //=== VK_EXT_border_color_swizzle ===
15196   template <>
15197   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
15198   {
15199     enum
15200     {
15201       value = true
15202     };
15203   };
15204 
15205   template <>
15206   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
15207   {
15208     enum
15209     {
15210       value = true
15211     };
15212   };
15213 
15214   template <>
15215   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
15216   {
15217     enum
15218     {
15219       value = true
15220     };
15221   };
15222 
15223   //=== VK_EXT_pageable_device_local_memory ===
15224   template <>
15225   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
15226   {
15227     enum
15228     {
15229       value = true
15230     };
15231   };
15232 
15233   template <>
15234   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
15235   {
15236     enum
15237     {
15238       value = true
15239     };
15240   };
15241 
15242   //=== VK_ARM_shader_core_properties ===
15243   template <>
15244   struct StructExtends<PhysicalDeviceShaderCorePropertiesARM, PhysicalDeviceProperties2>
15245   {
15246     enum
15247     {
15248       value = true
15249     };
15250   };
15251 
15252   //=== VK_ARM_scheduling_controls ===
15253   template <>
15254   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceQueueCreateInfo>
15255   {
15256     enum
15257     {
15258       value = true
15259     };
15260   };
15261 
15262   template <>
15263   struct StructExtends<DeviceQueueShaderCoreControlCreateInfoARM, DeviceCreateInfo>
15264   {
15265     enum
15266     {
15267       value = true
15268     };
15269   };
15270 
15271   template <>
15272   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, PhysicalDeviceFeatures2>
15273   {
15274     enum
15275     {
15276       value = true
15277     };
15278   };
15279 
15280   template <>
15281   struct StructExtends<PhysicalDeviceSchedulingControlsFeaturesARM, DeviceCreateInfo>
15282   {
15283     enum
15284     {
15285       value = true
15286     };
15287   };
15288 
15289   template <>
15290   struct StructExtends<PhysicalDeviceSchedulingControlsPropertiesARM, PhysicalDeviceProperties2>
15291   {
15292     enum
15293     {
15294       value = true
15295     };
15296   };
15297 
15298   //=== VK_EXT_image_sliced_view_of_3d ===
15299   template <>
15300   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, PhysicalDeviceFeatures2>
15301   {
15302     enum
15303     {
15304       value = true
15305     };
15306   };
15307 
15308   template <>
15309   struct StructExtends<PhysicalDeviceImageSlicedViewOf3DFeaturesEXT, DeviceCreateInfo>
15310   {
15311     enum
15312     {
15313       value = true
15314     };
15315   };
15316 
15317   template <>
15318   struct StructExtends<ImageViewSlicedCreateInfoEXT, ImageViewCreateInfo>
15319   {
15320     enum
15321     {
15322       value = true
15323     };
15324   };
15325 
15326   //=== VK_VALVE_descriptor_set_host_mapping ===
15327   template <>
15328   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, PhysicalDeviceFeatures2>
15329   {
15330     enum
15331     {
15332       value = true
15333     };
15334   };
15335 
15336   template <>
15337   struct StructExtends<PhysicalDeviceDescriptorSetHostMappingFeaturesVALVE, DeviceCreateInfo>
15338   {
15339     enum
15340     {
15341       value = true
15342     };
15343   };
15344 
15345   //=== VK_EXT_depth_clamp_zero_one ===
15346   template <>
15347   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, PhysicalDeviceFeatures2>
15348   {
15349     enum
15350     {
15351       value = true
15352     };
15353   };
15354 
15355   template <>
15356   struct StructExtends<PhysicalDeviceDepthClampZeroOneFeaturesEXT, DeviceCreateInfo>
15357   {
15358     enum
15359     {
15360       value = true
15361     };
15362   };
15363 
15364   //=== VK_EXT_non_seamless_cube_map ===
15365   template <>
15366   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, PhysicalDeviceFeatures2>
15367   {
15368     enum
15369     {
15370       value = true
15371     };
15372   };
15373 
15374   template <>
15375   struct StructExtends<PhysicalDeviceNonSeamlessCubeMapFeaturesEXT, DeviceCreateInfo>
15376   {
15377     enum
15378     {
15379       value = true
15380     };
15381   };
15382 
15383   //=== VK_ARM_render_pass_striped ===
15384   template <>
15385   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, PhysicalDeviceFeatures2>
15386   {
15387     enum
15388     {
15389       value = true
15390     };
15391   };
15392 
15393   template <>
15394   struct StructExtends<PhysicalDeviceRenderPassStripedFeaturesARM, DeviceCreateInfo>
15395   {
15396     enum
15397     {
15398       value = true
15399     };
15400   };
15401 
15402   template <>
15403   struct StructExtends<PhysicalDeviceRenderPassStripedPropertiesARM, PhysicalDeviceProperties2>
15404   {
15405     enum
15406     {
15407       value = true
15408     };
15409   };
15410 
15411   template <>
15412   struct StructExtends<RenderPassStripeBeginInfoARM, RenderingInfo>
15413   {
15414     enum
15415     {
15416       value = true
15417     };
15418   };
15419 
15420   template <>
15421   struct StructExtends<RenderPassStripeBeginInfoARM, RenderPassBeginInfo>
15422   {
15423     enum
15424     {
15425       value = true
15426     };
15427   };
15428 
15429   template <>
15430   struct StructExtends<RenderPassStripeSubmitInfoARM, CommandBufferSubmitInfo>
15431   {
15432     enum
15433     {
15434       value = true
15435     };
15436   };
15437 
15438   //=== VK_QCOM_fragment_density_map_offset ===
15439   template <>
15440   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
15441   {
15442     enum
15443     {
15444       value = true
15445     };
15446   };
15447 
15448   template <>
15449   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
15450   {
15451     enum
15452     {
15453       value = true
15454     };
15455   };
15456 
15457   template <>
15458   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
15459   {
15460     enum
15461     {
15462       value = true
15463     };
15464   };
15465 
15466   template <>
15467   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
15468   {
15469     enum
15470     {
15471       value = true
15472     };
15473   };
15474 
15475   //=== VK_NV_copy_memory_indirect ===
15476   template <>
15477   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, PhysicalDeviceFeatures2>
15478   {
15479     enum
15480     {
15481       value = true
15482     };
15483   };
15484 
15485   template <>
15486   struct StructExtends<PhysicalDeviceCopyMemoryIndirectFeaturesNV, DeviceCreateInfo>
15487   {
15488     enum
15489     {
15490       value = true
15491     };
15492   };
15493 
15494   template <>
15495   struct StructExtends<PhysicalDeviceCopyMemoryIndirectPropertiesNV, PhysicalDeviceProperties2>
15496   {
15497     enum
15498     {
15499       value = true
15500     };
15501   };
15502 
15503   //=== VK_NV_memory_decompression ===
15504   template <>
15505   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, PhysicalDeviceFeatures2>
15506   {
15507     enum
15508     {
15509       value = true
15510     };
15511   };
15512 
15513   template <>
15514   struct StructExtends<PhysicalDeviceMemoryDecompressionFeaturesNV, DeviceCreateInfo>
15515   {
15516     enum
15517     {
15518       value = true
15519     };
15520   };
15521 
15522   template <>
15523   struct StructExtends<PhysicalDeviceMemoryDecompressionPropertiesNV, PhysicalDeviceProperties2>
15524   {
15525     enum
15526     {
15527       value = true
15528     };
15529   };
15530 
15531   //=== VK_NV_device_generated_commands_compute ===
15532   template <>
15533   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, PhysicalDeviceFeatures2>
15534   {
15535     enum
15536     {
15537       value = true
15538     };
15539   };
15540 
15541   template <>
15542   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV, DeviceCreateInfo>
15543   {
15544     enum
15545     {
15546       value = true
15547     };
15548   };
15549 
15550   template <>
15551   struct StructExtends<ComputePipelineIndirectBufferInfoNV, ComputePipelineCreateInfo>
15552   {
15553     enum
15554     {
15555       value = true
15556     };
15557   };
15558 
15559   //=== VK_NV_linear_color_attachment ===
15560   template <>
15561   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
15562   {
15563     enum
15564     {
15565       value = true
15566     };
15567   };
15568 
15569   template <>
15570   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
15571   {
15572     enum
15573     {
15574       value = true
15575     };
15576   };
15577 
15578   //=== VK_KHR_shader_maximal_reconvergence ===
15579   template <>
15580   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, PhysicalDeviceFeatures2>
15581   {
15582     enum
15583     {
15584       value = true
15585     };
15586   };
15587 
15588   template <>
15589   struct StructExtends<PhysicalDeviceShaderMaximalReconvergenceFeaturesKHR, DeviceCreateInfo>
15590   {
15591     enum
15592     {
15593       value = true
15594     };
15595   };
15596 
15597   //=== VK_EXT_image_compression_control_swapchain ===
15598   template <>
15599   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, PhysicalDeviceFeatures2>
15600   {
15601     enum
15602     {
15603       value = true
15604     };
15605   };
15606 
15607   template <>
15608   struct StructExtends<PhysicalDeviceImageCompressionControlSwapchainFeaturesEXT, DeviceCreateInfo>
15609   {
15610     enum
15611     {
15612       value = true
15613     };
15614   };
15615 
15616   //=== VK_QCOM_image_processing ===
15617   template <>
15618   struct StructExtends<ImageViewSampleWeightCreateInfoQCOM, ImageViewCreateInfo>
15619   {
15620     enum
15621     {
15622       value = true
15623     };
15624   };
15625 
15626   template <>
15627   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, PhysicalDeviceFeatures2>
15628   {
15629     enum
15630     {
15631       value = true
15632     };
15633   };
15634 
15635   template <>
15636   struct StructExtends<PhysicalDeviceImageProcessingFeaturesQCOM, DeviceCreateInfo>
15637   {
15638     enum
15639     {
15640       value = true
15641     };
15642   };
15643 
15644   template <>
15645   struct StructExtends<PhysicalDeviceImageProcessingPropertiesQCOM, PhysicalDeviceProperties2>
15646   {
15647     enum
15648     {
15649       value = true
15650     };
15651   };
15652 
15653   //=== VK_EXT_nested_command_buffer ===
15654   template <>
15655   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, PhysicalDeviceFeatures2>
15656   {
15657     enum
15658     {
15659       value = true
15660     };
15661   };
15662 
15663   template <>
15664   struct StructExtends<PhysicalDeviceNestedCommandBufferFeaturesEXT, DeviceCreateInfo>
15665   {
15666     enum
15667     {
15668       value = true
15669     };
15670   };
15671 
15672   template <>
15673   struct StructExtends<PhysicalDeviceNestedCommandBufferPropertiesEXT, PhysicalDeviceProperties2>
15674   {
15675     enum
15676     {
15677       value = true
15678     };
15679   };
15680 
15681   //=== VK_EXT_external_memory_acquire_unmodified ===
15682   template <>
15683   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier>
15684   {
15685     enum
15686     {
15687       value = true
15688     };
15689   };
15690 
15691   template <>
15692   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, BufferMemoryBarrier2>
15693   {
15694     enum
15695     {
15696       value = true
15697     };
15698   };
15699 
15700   template <>
15701   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier>
15702   {
15703     enum
15704     {
15705       value = true
15706     };
15707   };
15708 
15709   template <>
15710   struct StructExtends<ExternalMemoryAcquireUnmodifiedEXT, ImageMemoryBarrier2>
15711   {
15712     enum
15713     {
15714       value = true
15715     };
15716   };
15717 
15718   //=== VK_EXT_extended_dynamic_state3 ===
15719   template <>
15720   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, PhysicalDeviceFeatures2>
15721   {
15722     enum
15723     {
15724       value = true
15725     };
15726   };
15727 
15728   template <>
15729   struct StructExtends<PhysicalDeviceExtendedDynamicState3FeaturesEXT, DeviceCreateInfo>
15730   {
15731     enum
15732     {
15733       value = true
15734     };
15735   };
15736 
15737   template <>
15738   struct StructExtends<PhysicalDeviceExtendedDynamicState3PropertiesEXT, PhysicalDeviceProperties2>
15739   {
15740     enum
15741     {
15742       value = true
15743     };
15744   };
15745 
15746   //=== VK_EXT_subpass_merge_feedback ===
15747   template <>
15748   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
15749   {
15750     enum
15751     {
15752       value = true
15753     };
15754   };
15755 
15756   template <>
15757   struct StructExtends<PhysicalDeviceSubpassMergeFeedbackFeaturesEXT, DeviceCreateInfo>
15758   {
15759     enum
15760     {
15761       value = true
15762     };
15763   };
15764 
15765   template <>
15766   struct StructExtends<RenderPassCreationControlEXT, RenderPassCreateInfo2>
15767   {
15768     enum
15769     {
15770       value = true
15771     };
15772   };
15773 
15774   template <>
15775   struct StructExtends<RenderPassCreationControlEXT, SubpassDescription2>
15776   {
15777     enum
15778     {
15779       value = true
15780     };
15781   };
15782 
15783   template <>
15784   struct StructExtends<RenderPassCreationFeedbackCreateInfoEXT, RenderPassCreateInfo2>
15785   {
15786     enum
15787     {
15788       value = true
15789     };
15790   };
15791 
15792   template <>
15793   struct StructExtends<RenderPassSubpassFeedbackCreateInfoEXT, SubpassDescription2>
15794   {
15795     enum
15796     {
15797       value = true
15798     };
15799   };
15800 
15801   //=== VK_LUNARG_direct_driver_loading ===
15802   template <>
15803   struct StructExtends<DirectDriverLoadingListLUNARG, InstanceCreateInfo>
15804   {
15805     enum
15806     {
15807       value = true
15808     };
15809   };
15810 
15811   //=== VK_EXT_shader_module_identifier ===
15812   template <>
15813   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, PhysicalDeviceFeatures2>
15814   {
15815     enum
15816     {
15817       value = true
15818     };
15819   };
15820 
15821   template <>
15822   struct StructExtends<PhysicalDeviceShaderModuleIdentifierFeaturesEXT, DeviceCreateInfo>
15823   {
15824     enum
15825     {
15826       value = true
15827     };
15828   };
15829 
15830   template <>
15831   struct StructExtends<PhysicalDeviceShaderModuleIdentifierPropertiesEXT, PhysicalDeviceProperties2>
15832   {
15833     enum
15834     {
15835       value = true
15836     };
15837   };
15838 
15839   template <>
15840   struct StructExtends<PipelineShaderStageModuleIdentifierCreateInfoEXT, PipelineShaderStageCreateInfo>
15841   {
15842     enum
15843     {
15844       value = true
15845     };
15846   };
15847 
15848   //=== VK_EXT_rasterization_order_attachment_access ===
15849   template <>
15850   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, PhysicalDeviceFeatures2>
15851   {
15852     enum
15853     {
15854       value = true
15855     };
15856   };
15857 
15858   template <>
15859   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT, DeviceCreateInfo>
15860   {
15861     enum
15862     {
15863       value = true
15864     };
15865   };
15866 
15867   //=== VK_NV_optical_flow ===
15868   template <>
15869   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, PhysicalDeviceFeatures2>
15870   {
15871     enum
15872     {
15873       value = true
15874     };
15875   };
15876 
15877   template <>
15878   struct StructExtends<PhysicalDeviceOpticalFlowFeaturesNV, DeviceCreateInfo>
15879   {
15880     enum
15881     {
15882       value = true
15883     };
15884   };
15885 
15886   template <>
15887   struct StructExtends<PhysicalDeviceOpticalFlowPropertiesNV, PhysicalDeviceProperties2>
15888   {
15889     enum
15890     {
15891       value = true
15892     };
15893   };
15894 
15895   template <>
15896   struct StructExtends<OpticalFlowImageFormatInfoNV, PhysicalDeviceImageFormatInfo2>
15897   {
15898     enum
15899     {
15900       value = true
15901     };
15902   };
15903 
15904   template <>
15905   struct StructExtends<OpticalFlowImageFormatInfoNV, ImageCreateInfo>
15906   {
15907     enum
15908     {
15909       value = true
15910     };
15911   };
15912 
15913   template <>
15914   struct StructExtends<OpticalFlowSessionCreatePrivateDataInfoNV, OpticalFlowSessionCreateInfoNV>
15915   {
15916     enum
15917     {
15918       value = true
15919     };
15920   };
15921 
15922   //=== VK_EXT_legacy_dithering ===
15923   template <>
15924   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, PhysicalDeviceFeatures2>
15925   {
15926     enum
15927     {
15928       value = true
15929     };
15930   };
15931 
15932   template <>
15933   struct StructExtends<PhysicalDeviceLegacyDitheringFeaturesEXT, DeviceCreateInfo>
15934   {
15935     enum
15936     {
15937       value = true
15938     };
15939   };
15940 
15941 #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
15942   //=== VK_ANDROID_external_format_resolve ===
15943   template <>
15944   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, PhysicalDeviceFeatures2>
15945   {
15946     enum
15947     {
15948       value = true
15949     };
15950   };
15951 
15952   template <>
15953   struct StructExtends<PhysicalDeviceExternalFormatResolveFeaturesANDROID, DeviceCreateInfo>
15954   {
15955     enum
15956     {
15957       value = true
15958     };
15959   };
15960 
15961   template <>
15962   struct StructExtends<PhysicalDeviceExternalFormatResolvePropertiesANDROID, PhysicalDeviceProperties2>
15963   {
15964     enum
15965     {
15966       value = true
15967     };
15968   };
15969 
15970   template <>
15971   struct StructExtends<AndroidHardwareBufferFormatResolvePropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
15972   {
15973     enum
15974     {
15975       value = true
15976     };
15977   };
15978 #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
15979 
15980   //=== VK_AMD_anti_lag ===
15981   template <>
15982   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, PhysicalDeviceFeatures2>
15983   {
15984     enum
15985     {
15986       value = true
15987     };
15988   };
15989 
15990   template <>
15991   struct StructExtends<PhysicalDeviceAntiLagFeaturesAMD, DeviceCreateInfo>
15992   {
15993     enum
15994     {
15995       value = true
15996     };
15997   };
15998 
15999   //=== VK_KHR_ray_tracing_position_fetch ===
16000   template <>
16001   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, PhysicalDeviceFeatures2>
16002   {
16003     enum
16004     {
16005       value = true
16006     };
16007   };
16008 
16009   template <>
16010   struct StructExtends<PhysicalDeviceRayTracingPositionFetchFeaturesKHR, DeviceCreateInfo>
16011   {
16012     enum
16013     {
16014       value = true
16015     };
16016   };
16017 
16018   //=== VK_EXT_shader_object ===
16019   template <>
16020   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, PhysicalDeviceFeatures2>
16021   {
16022     enum
16023     {
16024       value = true
16025     };
16026   };
16027 
16028   template <>
16029   struct StructExtends<PhysicalDeviceShaderObjectFeaturesEXT, DeviceCreateInfo>
16030   {
16031     enum
16032     {
16033       value = true
16034     };
16035   };
16036 
16037   template <>
16038   struct StructExtends<PhysicalDeviceShaderObjectPropertiesEXT, PhysicalDeviceProperties2>
16039   {
16040     enum
16041     {
16042       value = true
16043     };
16044   };
16045 
16046   //=== VK_KHR_pipeline_binary ===
16047   template <>
16048   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, PhysicalDeviceFeatures2>
16049   {
16050     enum
16051     {
16052       value = true
16053     };
16054   };
16055 
16056   template <>
16057   struct StructExtends<PhysicalDevicePipelineBinaryFeaturesKHR, DeviceCreateInfo>
16058   {
16059     enum
16060     {
16061       value = true
16062     };
16063   };
16064 
16065   template <>
16066   struct StructExtends<PhysicalDevicePipelineBinaryPropertiesKHR, PhysicalDeviceProperties2>
16067   {
16068     enum
16069     {
16070       value = true
16071     };
16072   };
16073 
16074   template <>
16075   struct StructExtends<DevicePipelineBinaryInternalCacheControlKHR, DeviceCreateInfo>
16076   {
16077     enum
16078     {
16079       value = true
16080     };
16081   };
16082 
16083   template <>
16084   struct StructExtends<PipelineBinaryInfoKHR, GraphicsPipelineCreateInfo>
16085   {
16086     enum
16087     {
16088       value = true
16089     };
16090   };
16091 
16092   template <>
16093   struct StructExtends<PipelineBinaryInfoKHR, ComputePipelineCreateInfo>
16094   {
16095     enum
16096     {
16097       value = true
16098     };
16099   };
16100 
16101   template <>
16102   struct StructExtends<PipelineBinaryInfoKHR, RayTracingPipelineCreateInfoKHR>
16103   {
16104     enum
16105     {
16106       value = true
16107     };
16108   };
16109 
16110   //=== VK_QCOM_tile_properties ===
16111   template <>
16112   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, PhysicalDeviceFeatures2>
16113   {
16114     enum
16115     {
16116       value = true
16117     };
16118   };
16119 
16120   template <>
16121   struct StructExtends<PhysicalDeviceTilePropertiesFeaturesQCOM, DeviceCreateInfo>
16122   {
16123     enum
16124     {
16125       value = true
16126     };
16127   };
16128 
16129   //=== VK_SEC_amigo_profiling ===
16130   template <>
16131   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, PhysicalDeviceFeatures2>
16132   {
16133     enum
16134     {
16135       value = true
16136     };
16137   };
16138 
16139   template <>
16140   struct StructExtends<PhysicalDeviceAmigoProfilingFeaturesSEC, DeviceCreateInfo>
16141   {
16142     enum
16143     {
16144       value = true
16145     };
16146   };
16147 
16148   template <>
16149   struct StructExtends<AmigoProfilingSubmitInfoSEC, SubmitInfo>
16150   {
16151     enum
16152     {
16153       value = true
16154     };
16155   };
16156 
16157   //=== VK_QCOM_multiview_per_view_viewports ===
16158   template <>
16159   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, PhysicalDeviceFeatures2>
16160   {
16161     enum
16162     {
16163       value = true
16164     };
16165   };
16166 
16167   template <>
16168   struct StructExtends<PhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM, DeviceCreateInfo>
16169   {
16170     enum
16171     {
16172       value = true
16173     };
16174   };
16175 
16176   //=== VK_NV_ray_tracing_invocation_reorder ===
16177   template <>
16178   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderPropertiesNV, PhysicalDeviceProperties2>
16179   {
16180     enum
16181     {
16182       value = true
16183     };
16184   };
16185 
16186   template <>
16187   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, PhysicalDeviceFeatures2>
16188   {
16189     enum
16190     {
16191       value = true
16192     };
16193   };
16194 
16195   template <>
16196   struct StructExtends<PhysicalDeviceRayTracingInvocationReorderFeaturesNV, DeviceCreateInfo>
16197   {
16198     enum
16199     {
16200       value = true
16201     };
16202   };
16203 
16204   //=== VK_NV_extended_sparse_address_space ===
16205   template <>
16206   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, PhysicalDeviceFeatures2>
16207   {
16208     enum
16209     {
16210       value = true
16211     };
16212   };
16213 
16214   template <>
16215   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpaceFeaturesNV, DeviceCreateInfo>
16216   {
16217     enum
16218     {
16219       value = true
16220     };
16221   };
16222 
16223   template <>
16224   struct StructExtends<PhysicalDeviceExtendedSparseAddressSpacePropertiesNV, PhysicalDeviceProperties2>
16225   {
16226     enum
16227     {
16228       value = true
16229     };
16230   };
16231 
16232   //=== VK_EXT_mutable_descriptor_type ===
16233   template <>
16234   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, PhysicalDeviceFeatures2>
16235   {
16236     enum
16237     {
16238       value = true
16239     };
16240   };
16241 
16242   template <>
16243   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesEXT, DeviceCreateInfo>
16244   {
16245     enum
16246     {
16247       value = true
16248     };
16249   };
16250 
16251   template <>
16252   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorSetLayoutCreateInfo>
16253   {
16254     enum
16255     {
16256       value = true
16257     };
16258   };
16259 
16260   template <>
16261   struct StructExtends<MutableDescriptorTypeCreateInfoEXT, DescriptorPoolCreateInfo>
16262   {
16263     enum
16264     {
16265       value = true
16266     };
16267   };
16268 
16269   //=== VK_EXT_legacy_vertex_attributes ===
16270   template <>
16271   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, PhysicalDeviceFeatures2>
16272   {
16273     enum
16274     {
16275       value = true
16276     };
16277   };
16278 
16279   template <>
16280   struct StructExtends<PhysicalDeviceLegacyVertexAttributesFeaturesEXT, DeviceCreateInfo>
16281   {
16282     enum
16283     {
16284       value = true
16285     };
16286   };
16287 
16288   template <>
16289   struct StructExtends<PhysicalDeviceLegacyVertexAttributesPropertiesEXT, PhysicalDeviceProperties2>
16290   {
16291     enum
16292     {
16293       value = true
16294     };
16295   };
16296 
16297   //=== VK_EXT_layer_settings ===
16298   template <>
16299   struct StructExtends<LayerSettingsCreateInfoEXT, InstanceCreateInfo>
16300   {
16301     enum
16302     {
16303       value = true
16304     };
16305   };
16306 
16307   //=== VK_ARM_shader_core_builtins ===
16308   template <>
16309   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, PhysicalDeviceFeatures2>
16310   {
16311     enum
16312     {
16313       value = true
16314     };
16315   };
16316 
16317   template <>
16318   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsFeaturesARM, DeviceCreateInfo>
16319   {
16320     enum
16321     {
16322       value = true
16323     };
16324   };
16325 
16326   template <>
16327   struct StructExtends<PhysicalDeviceShaderCoreBuiltinsPropertiesARM, PhysicalDeviceProperties2>
16328   {
16329     enum
16330     {
16331       value = true
16332     };
16333   };
16334 
16335   //=== VK_EXT_pipeline_library_group_handles ===
16336   template <>
16337   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, PhysicalDeviceFeatures2>
16338   {
16339     enum
16340     {
16341       value = true
16342     };
16343   };
16344 
16345   template <>
16346   struct StructExtends<PhysicalDevicePipelineLibraryGroupHandlesFeaturesEXT, DeviceCreateInfo>
16347   {
16348     enum
16349     {
16350       value = true
16351     };
16352   };
16353 
16354   //=== VK_EXT_dynamic_rendering_unused_attachments ===
16355   template <>
16356   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, PhysicalDeviceFeatures2>
16357   {
16358     enum
16359     {
16360       value = true
16361     };
16362   };
16363 
16364   template <>
16365   struct StructExtends<PhysicalDeviceDynamicRenderingUnusedAttachmentsFeaturesEXT, DeviceCreateInfo>
16366   {
16367     enum
16368     {
16369       value = true
16370     };
16371   };
16372 
16373   //=== VK_NV_low_latency2 ===
16374   template <>
16375   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo>
16376   {
16377     enum
16378     {
16379       value = true
16380     };
16381   };
16382 
16383   template <>
16384   struct StructExtends<LatencySubmissionPresentIdNV, SubmitInfo2>
16385   {
16386     enum
16387     {
16388       value = true
16389     };
16390   };
16391 
16392   template <>
16393   struct StructExtends<SwapchainLatencyCreateInfoNV, SwapchainCreateInfoKHR>
16394   {
16395     enum
16396     {
16397       value = true
16398     };
16399   };
16400 
16401   template <>
16402   struct StructExtends<LatencySurfaceCapabilitiesNV, SurfaceCapabilities2KHR>
16403   {
16404     enum
16405     {
16406       value = true
16407     };
16408   };
16409 
16410   //=== VK_KHR_cooperative_matrix ===
16411   template <>
16412   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, PhysicalDeviceFeatures2>
16413   {
16414     enum
16415     {
16416       value = true
16417     };
16418   };
16419 
16420   template <>
16421   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesKHR, DeviceCreateInfo>
16422   {
16423     enum
16424     {
16425       value = true
16426     };
16427   };
16428 
16429   template <>
16430   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesKHR, PhysicalDeviceProperties2>
16431   {
16432     enum
16433     {
16434       value = true
16435     };
16436   };
16437 
16438   //=== VK_QCOM_multiview_per_view_render_areas ===
16439   template <>
16440   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, PhysicalDeviceFeatures2>
16441   {
16442     enum
16443     {
16444       value = true
16445     };
16446   };
16447 
16448   template <>
16449   struct StructExtends<PhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM, DeviceCreateInfo>
16450   {
16451     enum
16452     {
16453       value = true
16454     };
16455   };
16456 
16457   template <>
16458   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderPassBeginInfo>
16459   {
16460     enum
16461     {
16462       value = true
16463     };
16464   };
16465 
16466   template <>
16467   struct StructExtends<MultiviewPerViewRenderAreasRenderPassBeginInfoQCOM, RenderingInfo>
16468   {
16469     enum
16470     {
16471       value = true
16472     };
16473   };
16474 
16475   //=== VK_KHR_video_decode_av1 ===
16476   template <>
16477   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, VideoProfileInfoKHR>
16478   {
16479     enum
16480     {
16481       value = true
16482     };
16483   };
16484 
16485   template <>
16486   struct StructExtends<VideoDecodeAV1ProfileInfoKHR, QueryPoolCreateInfo>
16487   {
16488     enum
16489     {
16490       value = true
16491     };
16492   };
16493 
16494   template <>
16495   struct StructExtends<VideoDecodeAV1CapabilitiesKHR, VideoCapabilitiesKHR>
16496   {
16497     enum
16498     {
16499       value = true
16500     };
16501   };
16502 
16503   template <>
16504   struct StructExtends<VideoDecodeAV1SessionParametersCreateInfoKHR, VideoSessionParametersCreateInfoKHR>
16505   {
16506     enum
16507     {
16508       value = true
16509     };
16510   };
16511 
16512   template <>
16513   struct StructExtends<VideoDecodeAV1PictureInfoKHR, VideoDecodeInfoKHR>
16514   {
16515     enum
16516     {
16517       value = true
16518     };
16519   };
16520 
16521   template <>
16522   struct StructExtends<VideoDecodeAV1DpbSlotInfoKHR, VideoReferenceSlotInfoKHR>
16523   {
16524     enum
16525     {
16526       value = true
16527     };
16528   };
16529 
16530   //=== VK_KHR_video_maintenance1 ===
16531   template <>
16532   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, PhysicalDeviceFeatures2>
16533   {
16534     enum
16535     {
16536       value = true
16537     };
16538   };
16539 
16540   template <>
16541   struct StructExtends<PhysicalDeviceVideoMaintenance1FeaturesKHR, DeviceCreateInfo>
16542   {
16543     enum
16544     {
16545       value = true
16546     };
16547   };
16548 
16549   template <>
16550   struct StructExtends<VideoInlineQueryInfoKHR, VideoDecodeInfoKHR>
16551   {
16552     enum
16553     {
16554       value = true
16555     };
16556   };
16557 
16558   template <>
16559   struct StructExtends<VideoInlineQueryInfoKHR, VideoEncodeInfoKHR>
16560   {
16561     enum
16562     {
16563       value = true
16564     };
16565   };
16566 
16567   //=== VK_NV_per_stage_descriptor_set ===
16568   template <>
16569   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, PhysicalDeviceFeatures2>
16570   {
16571     enum
16572     {
16573       value = true
16574     };
16575   };
16576 
16577   template <>
16578   struct StructExtends<PhysicalDevicePerStageDescriptorSetFeaturesNV, DeviceCreateInfo>
16579   {
16580     enum
16581     {
16582       value = true
16583     };
16584   };
16585 
16586   //=== VK_QCOM_image_processing2 ===
16587   template <>
16588   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, PhysicalDeviceFeatures2>
16589   {
16590     enum
16591     {
16592       value = true
16593     };
16594   };
16595 
16596   template <>
16597   struct StructExtends<PhysicalDeviceImageProcessing2FeaturesQCOM, DeviceCreateInfo>
16598   {
16599     enum
16600     {
16601       value = true
16602     };
16603   };
16604 
16605   template <>
16606   struct StructExtends<PhysicalDeviceImageProcessing2PropertiesQCOM, PhysicalDeviceProperties2>
16607   {
16608     enum
16609     {
16610       value = true
16611     };
16612   };
16613 
16614   template <>
16615   struct StructExtends<SamplerBlockMatchWindowCreateInfoQCOM, SamplerCreateInfo>
16616   {
16617     enum
16618     {
16619       value = true
16620     };
16621   };
16622 
16623   //=== VK_QCOM_filter_cubic_weights ===
16624   template <>
16625   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, PhysicalDeviceFeatures2>
16626   {
16627     enum
16628     {
16629       value = true
16630     };
16631   };
16632 
16633   template <>
16634   struct StructExtends<PhysicalDeviceCubicWeightsFeaturesQCOM, DeviceCreateInfo>
16635   {
16636     enum
16637     {
16638       value = true
16639     };
16640   };
16641 
16642   template <>
16643   struct StructExtends<SamplerCubicWeightsCreateInfoQCOM, SamplerCreateInfo>
16644   {
16645     enum
16646     {
16647       value = true
16648     };
16649   };
16650 
16651   template <>
16652   struct StructExtends<BlitImageCubicWeightsInfoQCOM, BlitImageInfo2>
16653   {
16654     enum
16655     {
16656       value = true
16657     };
16658   };
16659 
16660   //=== VK_QCOM_ycbcr_degamma ===
16661   template <>
16662   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, PhysicalDeviceFeatures2>
16663   {
16664     enum
16665     {
16666       value = true
16667     };
16668   };
16669 
16670   template <>
16671   struct StructExtends<PhysicalDeviceYcbcrDegammaFeaturesQCOM, DeviceCreateInfo>
16672   {
16673     enum
16674     {
16675       value = true
16676     };
16677   };
16678 
16679   template <>
16680   struct StructExtends<SamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM, SamplerYcbcrConversionCreateInfo>
16681   {
16682     enum
16683     {
16684       value = true
16685     };
16686   };
16687 
16688   //=== VK_QCOM_filter_cubic_clamp ===
16689   template <>
16690   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, PhysicalDeviceFeatures2>
16691   {
16692     enum
16693     {
16694       value = true
16695     };
16696   };
16697 
16698   template <>
16699   struct StructExtends<PhysicalDeviceCubicClampFeaturesQCOM, DeviceCreateInfo>
16700   {
16701     enum
16702     {
16703       value = true
16704     };
16705   };
16706 
16707   //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
16708   template <>
16709   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
16710   {
16711     enum
16712     {
16713       value = true
16714     };
16715   };
16716 
16717   template <>
16718   struct StructExtends<PhysicalDeviceAttachmentFeedbackLoopDynamicStateFeaturesEXT, DeviceCreateInfo>
16719   {
16720     enum
16721     {
16722       value = true
16723     };
16724   };
16725 
16726 #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
16727   //=== VK_QNX_external_memory_screen_buffer ===
16728   template <>
16729   struct StructExtends<ScreenBufferFormatPropertiesQNX, ScreenBufferPropertiesQNX>
16730   {
16731     enum
16732     {
16733       value = true
16734     };
16735   };
16736 
16737   template <>
16738   struct StructExtends<ImportScreenBufferInfoQNX, MemoryAllocateInfo>
16739   {
16740     enum
16741     {
16742       value = true
16743     };
16744   };
16745 
16746   template <>
16747   struct StructExtends<ExternalFormatQNX, ImageCreateInfo>
16748   {
16749     enum
16750     {
16751       value = true
16752     };
16753   };
16754 
16755   template <>
16756   struct StructExtends<ExternalFormatQNX, SamplerYcbcrConversionCreateInfo>
16757   {
16758     enum
16759     {
16760       value = true
16761     };
16762   };
16763 
16764   template <>
16765   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, PhysicalDeviceFeatures2>
16766   {
16767     enum
16768     {
16769       value = true
16770     };
16771   };
16772 
16773   template <>
16774   struct StructExtends<PhysicalDeviceExternalMemoryScreenBufferFeaturesQNX, DeviceCreateInfo>
16775   {
16776     enum
16777     {
16778       value = true
16779     };
16780   };
16781 #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
16782 
16783   //=== VK_MSFT_layered_driver ===
16784   template <>
16785   struct StructExtends<PhysicalDeviceLayeredDriverPropertiesMSFT, PhysicalDeviceProperties2>
16786   {
16787     enum
16788     {
16789       value = true
16790     };
16791   };
16792 
16793   //=== VK_NV_descriptor_pool_overallocation ===
16794   template <>
16795   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, PhysicalDeviceFeatures2>
16796   {
16797     enum
16798     {
16799       value = true
16800     };
16801   };
16802 
16803   template <>
16804   struct StructExtends<PhysicalDeviceDescriptorPoolOverallocationFeaturesNV, DeviceCreateInfo>
16805   {
16806     enum
16807     {
16808       value = true
16809     };
16810   };
16811 
16812   //=== VK_NV_raw_access_chains ===
16813   template <>
16814   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, PhysicalDeviceFeatures2>
16815   {
16816     enum
16817     {
16818       value = true
16819     };
16820   };
16821 
16822   template <>
16823   struct StructExtends<PhysicalDeviceRawAccessChainsFeaturesNV, DeviceCreateInfo>
16824   {
16825     enum
16826     {
16827       value = true
16828     };
16829   };
16830 
16831   //=== VK_KHR_shader_relaxed_extended_instruction ===
16832   template <>
16833   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, PhysicalDeviceFeatures2>
16834   {
16835     enum
16836     {
16837       value = true
16838     };
16839   };
16840 
16841   template <>
16842   struct StructExtends<PhysicalDeviceShaderRelaxedExtendedInstructionFeaturesKHR, DeviceCreateInfo>
16843   {
16844     enum
16845     {
16846       value = true
16847     };
16848   };
16849 
16850   //=== VK_NV_command_buffer_inheritance ===
16851   template <>
16852   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, PhysicalDeviceFeatures2>
16853   {
16854     enum
16855     {
16856       value = true
16857     };
16858   };
16859 
16860   template <>
16861   struct StructExtends<PhysicalDeviceCommandBufferInheritanceFeaturesNV, DeviceCreateInfo>
16862   {
16863     enum
16864     {
16865       value = true
16866     };
16867   };
16868 
16869   //=== VK_KHR_maintenance7 ===
16870   template <>
16871   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, PhysicalDeviceFeatures2>
16872   {
16873     enum
16874     {
16875       value = true
16876     };
16877   };
16878 
16879   template <>
16880   struct StructExtends<PhysicalDeviceMaintenance7FeaturesKHR, DeviceCreateInfo>
16881   {
16882     enum
16883     {
16884       value = true
16885     };
16886   };
16887 
16888   template <>
16889   struct StructExtends<PhysicalDeviceMaintenance7PropertiesKHR, PhysicalDeviceProperties2>
16890   {
16891     enum
16892     {
16893       value = true
16894     };
16895   };
16896 
16897   template <>
16898   struct StructExtends<PhysicalDeviceLayeredApiPropertiesListKHR, PhysicalDeviceProperties2>
16899   {
16900     enum
16901     {
16902       value = true
16903     };
16904   };
16905 
16906   template <>
16907   struct StructExtends<PhysicalDeviceLayeredApiVulkanPropertiesKHR, PhysicalDeviceLayeredApiPropertiesKHR>
16908   {
16909     enum
16910     {
16911       value = true
16912     };
16913   };
16914 
16915   //=== VK_NV_shader_atomic_float16_vector ===
16916   template <>
16917   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, PhysicalDeviceFeatures2>
16918   {
16919     enum
16920     {
16921       value = true
16922     };
16923   };
16924 
16925   template <>
16926   struct StructExtends<PhysicalDeviceShaderAtomicFloat16VectorFeaturesNV, DeviceCreateInfo>
16927   {
16928     enum
16929     {
16930       value = true
16931     };
16932   };
16933 
16934   //=== VK_EXT_shader_replicated_composites ===
16935   template <>
16936   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, PhysicalDeviceFeatures2>
16937   {
16938     enum
16939     {
16940       value = true
16941     };
16942   };
16943 
16944   template <>
16945   struct StructExtends<PhysicalDeviceShaderReplicatedCompositesFeaturesEXT, DeviceCreateInfo>
16946   {
16947     enum
16948     {
16949       value = true
16950     };
16951   };
16952 
16953   //=== VK_NV_ray_tracing_validation ===
16954   template <>
16955   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, PhysicalDeviceFeatures2>
16956   {
16957     enum
16958     {
16959       value = true
16960     };
16961   };
16962 
16963   template <>
16964   struct StructExtends<PhysicalDeviceRayTracingValidationFeaturesNV, DeviceCreateInfo>
16965   {
16966     enum
16967     {
16968       value = true
16969     };
16970   };
16971 
16972   //=== VK_MESA_image_alignment_control ===
16973   template <>
16974   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, PhysicalDeviceFeatures2>
16975   {
16976     enum
16977     {
16978       value = true
16979     };
16980   };
16981 
16982   template <>
16983   struct StructExtends<PhysicalDeviceImageAlignmentControlFeaturesMESA, DeviceCreateInfo>
16984   {
16985     enum
16986     {
16987       value = true
16988     };
16989   };
16990 
16991   template <>
16992   struct StructExtends<PhysicalDeviceImageAlignmentControlPropertiesMESA, PhysicalDeviceProperties2>
16993   {
16994     enum
16995     {
16996       value = true
16997     };
16998   };
16999 
17000   template <>
17001   struct StructExtends<ImageAlignmentControlCreateInfoMESA, ImageCreateInfo>
17002   {
17003     enum
17004     {
17005       value = true
17006     };
17007   };
17008 
17009 #endif  // VULKAN_HPP_DISABLE_ENHANCED_MODE
17010 
17011 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
17012   class DynamicLoader
17013   {
17014   public:
17015 #  ifdef VULKAN_HPP_NO_EXCEPTIONS
DynamicLoader(std::string const & vulkanLibraryName={} )17016     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
17017 #  else
17018     DynamicLoader( std::string const & vulkanLibraryName = {} )
17019 #  endif
17020     {
17021       if ( !vulkanLibraryName.empty() )
17022       {
17023 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17024         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
17025 #  elif defined( _WIN32 )
17026         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
17027 #  else
17028 #    error unsupported platform
17029 #  endif
17030       }
17031       else
17032       {
17033 #  if defined( __unix__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17034         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
17035         if ( m_library == nullptr )
17036         {
17037           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
17038         }
17039 #  elif defined( __APPLE__ )
17040         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
17041         if ( m_library == nullptr )
17042         {
17043           m_library = dlopen( "libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL );
17044         }
17045 #  elif defined( _WIN32 )
17046         m_library = ::LoadLibraryA( "vulkan-1.dll" );
17047 #  else
17048 #    error unsupported platform
17049 #  endif
17050       }
17051 
17052 #  ifndef VULKAN_HPP_NO_EXCEPTIONS
17053       if ( m_library == nullptr )
17054       {
17055         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the scope of this function.
17056         throw std::runtime_error( "Failed to load vulkan library!" );
17057       }
17058 #  endif
17059     }
17060 
17061     DynamicLoader( DynamicLoader const & ) = delete;
17062 
DynamicLoader(DynamicLoader && other)17063     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
17064     {
17065       other.m_library = nullptr;
17066     }
17067 
17068     DynamicLoader & operator=( DynamicLoader const & ) = delete;
17069 
operator =(DynamicLoader && other)17070     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
17071     {
17072       std::swap( m_library, other.m_library );
17073       return *this;
17074     }
17075 
~DynamicLoader()17076     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
17077     {
17078       if ( m_library )
17079       {
17080 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17081         dlclose( m_library );
17082 #  elif defined( _WIN32 )
17083         ::FreeLibrary( m_library );
17084 #  else
17085 #    error unsupported platform
17086 #  endif
17087       }
17088     }
17089 
17090     template <typename T>
getProcAddress(const char * function) const17091     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
17092     {
17093 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17094       return (T)dlsym( m_library, function );
17095 #  elif defined( _WIN32 )
17096       return ( T )::GetProcAddress( m_library, function );
17097 #  else
17098 #    error unsupported platform
17099 #  endif
17100     }
17101 
success() const17102     bool success() const VULKAN_HPP_NOEXCEPT
17103     {
17104       return m_library != nullptr;
17105     }
17106 
17107   private:
17108 #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNX__ ) || defined( __Fuchsia__ )
17109     void * m_library;
17110 #  elif defined( _WIN32 )
17111     ::HINSTANCE m_library;
17112 #  else
17113 #    error unsupported platform
17114 #  endif
17115   };
17116 #endif
17117 
17118   using PFN_dummy = void ( * )();
17119 
17120   class DispatchLoaderDynamic : public DispatchLoaderBase
17121   {
17122   public:
17123     //=== VK_VERSION_1_0 ===
17124     PFN_vkCreateInstance                               vkCreateInstance                               = 0;
17125     PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
17126     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
17127     PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
17128     PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
17129     PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
17130     PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
17131     PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
17132     PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
17133     PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
17134     PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
17135     PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
17136     PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
17137     PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
17138     PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
17139     PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
17140     PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
17141     PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
17142     PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
17143     PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
17144     PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
17145     PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
17146     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
17147     PFN_vkMapMemory                                    vkMapMemory                                    = 0;
17148     PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
17149     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
17150     PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
17151     PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
17152     PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
17153     PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
17154     PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
17155     PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
17156     PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
17157     PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
17158     PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
17159     PFN_vkCreateFence                                  vkCreateFence                                  = 0;
17160     PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
17161     PFN_vkResetFences                                  vkResetFences                                  = 0;
17162     PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
17163     PFN_vkWaitForFences                                vkWaitForFences                                = 0;
17164     PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
17165     PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
17166     PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
17167     PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
17168     PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
17169     PFN_vkSetEvent                                     vkSetEvent                                     = 0;
17170     PFN_vkResetEvent                                   vkResetEvent                                   = 0;
17171     PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
17172     PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
17173     PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
17174     PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
17175     PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
17176     PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
17177     PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
17178     PFN_vkCreateImage                                  vkCreateImage                                  = 0;
17179     PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
17180     PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
17181     PFN_vkCreateImageView                              vkCreateImageView                              = 0;
17182     PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
17183     PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
17184     PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
17185     PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
17186     PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
17187     PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
17188     PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
17189     PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
17190     PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
17191     PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
17192     PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
17193     PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
17194     PFN_vkCreateSampler                                vkCreateSampler                                = 0;
17195     PFN_vkDestroySampler                               vkDestroySampler                               = 0;
17196     PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
17197     PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
17198     PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
17199     PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
17200     PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
17201     PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
17202     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
17203     PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
17204     PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
17205     PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
17206     PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
17207     PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
17208     PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
17209     PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
17210     PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
17211     PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
17212     PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
17213     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
17214     PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
17215     PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
17216     PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
17217     PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
17218     PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
17219     PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
17220     PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
17221     PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
17222     PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
17223     PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
17224     PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
17225     PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
17226     PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
17227     PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
17228     PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
17229     PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
17230     PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
17231     PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
17232     PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
17233     PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
17234     PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
17235     PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
17236     PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
17237     PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
17238     PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
17239     PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
17240     PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
17241     PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
17242     PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
17243     PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
17244     PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
17245     PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
17246     PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
17247     PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
17248     PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
17249     PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
17250     PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
17251     PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
17252     PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
17253     PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
17254     PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
17255     PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
17256     PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
17257     PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
17258     PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
17259     PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
17260     PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
17261 
17262     //=== VK_VERSION_1_1 ===
17263     PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
17264     PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
17265     PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
17266     PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
17267     PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
17268     PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
17269     PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
17270     PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
17271     PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
17272     PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
17273     PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
17274     PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
17275     PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
17276     PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
17277     PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
17278     PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
17279     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
17280     PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
17281     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
17282     PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
17283     PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
17284     PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
17285     PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
17286     PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
17287     PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
17288     PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
17289     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
17290     PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
17291 
17292     //=== VK_VERSION_1_2 ===
17293     PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
17294     PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
17295     PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
17296     PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
17297     PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
17298     PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
17299     PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
17300     PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
17301     PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
17302     PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
17303     PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
17304     PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
17305     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
17306 
17307     //=== VK_VERSION_1_3 ===
17308     PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
17309     PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
17310     PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
17311     PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
17312     PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
17313     PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
17314     PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
17315     PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
17316     PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
17317     PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
17318     PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
17319     PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
17320     PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
17321     PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
17322     PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
17323     PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
17324     PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
17325     PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
17326     PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
17327     PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
17328     PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
17329     PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
17330     PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
17331     PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
17332     PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
17333     PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
17334     PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
17335     PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
17336     PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
17337     PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
17338     PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
17339     PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
17340     PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
17341     PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
17342     PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
17343     PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
17344     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
17345 
17346     //=== VK_VERSION_1_4 ===
17347     PFN_vkCmdSetLineStipple                     vkCmdSetLineStipple                     = 0;
17348     PFN_vkMapMemory2                            vkMapMemory2                            = 0;
17349     PFN_vkUnmapMemory2                          vkUnmapMemory2                          = 0;
17350     PFN_vkCmdBindIndexBuffer2                   vkCmdBindIndexBuffer2                   = 0;
17351     PFN_vkGetRenderingAreaGranularity           vkGetRenderingAreaGranularity           = 0;
17352     PFN_vkGetDeviceImageSubresourceLayout       vkGetDeviceImageSubresourceLayout       = 0;
17353     PFN_vkGetImageSubresourceLayout2            vkGetImageSubresourceLayout2            = 0;
17354     PFN_vkCmdPushDescriptorSet                  vkCmdPushDescriptorSet                  = 0;
17355     PFN_vkCmdPushDescriptorSetWithTemplate      vkCmdPushDescriptorSetWithTemplate      = 0;
17356     PFN_vkCmdSetRenderingAttachmentLocations    vkCmdSetRenderingAttachmentLocations    = 0;
17357     PFN_vkCmdSetRenderingInputAttachmentIndices vkCmdSetRenderingInputAttachmentIndices = 0;
17358     PFN_vkCmdBindDescriptorSets2                vkCmdBindDescriptorSets2                = 0;
17359     PFN_vkCmdPushConstants2                     vkCmdPushConstants2                     = 0;
17360     PFN_vkCmdPushDescriptorSet2                 vkCmdPushDescriptorSet2                 = 0;
17361     PFN_vkCmdPushDescriptorSetWithTemplate2     vkCmdPushDescriptorSetWithTemplate2     = 0;
17362     PFN_vkCopyMemoryToImage                     vkCopyMemoryToImage                     = 0;
17363     PFN_vkCopyImageToMemory                     vkCopyImageToMemory                     = 0;
17364     PFN_vkCopyImageToImage                      vkCopyImageToImage                      = 0;
17365     PFN_vkTransitionImageLayout                 vkTransitionImageLayout                 = 0;
17366 
17367     //=== VK_KHR_surface ===
17368     PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
17369     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
17370     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
17371     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
17372     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
17373 
17374     //=== VK_KHR_swapchain ===
17375     PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
17376     PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
17377     PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
17378     PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
17379     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
17380     PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
17381     PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
17382     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
17383     PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
17384 
17385     //=== VK_KHR_display ===
17386     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
17387     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
17388     PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
17389     PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
17390     PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
17391     PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
17392     PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
17393 
17394     //=== VK_KHR_display_swapchain ===
17395     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
17396 
17397 #if defined( VK_USE_PLATFORM_XLIB_KHR )
17398     //=== VK_KHR_xlib_surface ===
17399     PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
17400     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
17401 #else
17402     PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
17403     PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
17404 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
17405 
17406 #if defined( VK_USE_PLATFORM_XCB_KHR )
17407     //=== VK_KHR_xcb_surface ===
17408     PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
17409     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
17410 #else
17411     PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
17412     PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
17413 #endif /*VK_USE_PLATFORM_XCB_KHR*/
17414 
17415 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
17416     //=== VK_KHR_wayland_surface ===
17417     PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
17418     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
17419 #else
17420     PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
17421     PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
17422 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
17423 
17424 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17425     //=== VK_KHR_android_surface ===
17426     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
17427 #else
17428     PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
17429 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17430 
17431 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17432     //=== VK_KHR_win32_surface ===
17433     PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
17434     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
17435 #else
17436     PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
17437     PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
17438 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17439 
17440     //=== VK_EXT_debug_report ===
17441     PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
17442     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
17443     PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
17444 
17445     //=== VK_EXT_debug_marker ===
17446     PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
17447     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
17448     PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
17449     PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
17450     PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
17451 
17452     //=== VK_KHR_video_queue ===
17453     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
17454     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
17455     PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
17456     PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
17457     PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
17458     PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
17459     PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
17460     PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
17461     PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
17462     PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
17463     PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
17464     PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
17465 
17466     //=== VK_KHR_video_decode_queue ===
17467     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
17468 
17469     //=== VK_EXT_transform_feedback ===
17470     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
17471     PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
17472     PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
17473     PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
17474     PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
17475     PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
17476 
17477     //=== VK_NVX_binary_import ===
17478     PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
17479     PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
17480     PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
17481     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
17482     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
17483 
17484     //=== VK_NVX_image_view_handle ===
17485     PFN_vkGetImageViewHandleNVX  vkGetImageViewHandleNVX  = 0;
17486     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
17487 
17488     //=== VK_AMD_draw_indirect_count ===
17489     PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
17490     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
17491 
17492     //=== VK_AMD_shader_info ===
17493     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
17494 
17495     //=== VK_KHR_dynamic_rendering ===
17496     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
17497     PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
17498 
17499 #if defined( VK_USE_PLATFORM_GGP )
17500     //=== VK_GGP_stream_descriptor_surface ===
17501     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
17502 #else
17503     PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
17504 #endif /*VK_USE_PLATFORM_GGP*/
17505 
17506     //=== VK_NV_external_memory_capabilities ===
17507     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
17508 
17509 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17510     //=== VK_NV_external_memory_win32 ===
17511     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
17512 #else
17513     PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
17514 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17515 
17516     //=== VK_KHR_get_physical_device_properties2 ===
17517     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
17518     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
17519     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
17520     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
17521     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
17522     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
17523     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
17524 
17525     //=== VK_KHR_device_group ===
17526     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
17527     PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
17528     PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
17529 
17530 #if defined( VK_USE_PLATFORM_VI_NN )
17531     //=== VK_NN_vi_surface ===
17532     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
17533 #else
17534     PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
17535 #endif /*VK_USE_PLATFORM_VI_NN*/
17536 
17537     //=== VK_KHR_maintenance1 ===
17538     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
17539 
17540     //=== VK_KHR_device_group_creation ===
17541     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
17542 
17543     //=== VK_KHR_external_memory_capabilities ===
17544     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
17545 
17546 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17547     //=== VK_KHR_external_memory_win32 ===
17548     PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
17549     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
17550 #else
17551     PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
17552     PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
17553 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17554 
17555     //=== VK_KHR_external_memory_fd ===
17556     PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
17557     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
17558 
17559     //=== VK_KHR_external_semaphore_capabilities ===
17560     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
17561 
17562 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17563     //=== VK_KHR_external_semaphore_win32 ===
17564     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
17565     PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
17566 #else
17567     PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
17568     PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
17569 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17570 
17571     //=== VK_KHR_external_semaphore_fd ===
17572     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
17573     PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
17574 
17575     //=== VK_KHR_push_descriptor ===
17576     PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
17577     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
17578 
17579     //=== VK_EXT_conditional_rendering ===
17580     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
17581     PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
17582 
17583     //=== VK_KHR_descriptor_update_template ===
17584     PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
17585     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
17586     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
17587 
17588     //=== VK_NV_clip_space_w_scaling ===
17589     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
17590 
17591     //=== VK_EXT_direct_mode_display ===
17592     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
17593 
17594 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
17595     //=== VK_EXT_acquire_xlib_display ===
17596     PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
17597     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
17598 #else
17599     PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
17600     PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
17601 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
17602 
17603     //=== VK_EXT_display_surface_counter ===
17604     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
17605 
17606     //=== VK_EXT_display_control ===
17607     PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
17608     PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
17609     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
17610     PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
17611 
17612     //=== VK_GOOGLE_display_timing ===
17613     PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
17614     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
17615 
17616     //=== VK_EXT_discard_rectangles ===
17617     PFN_vkCmdSetDiscardRectangleEXT       vkCmdSetDiscardRectangleEXT       = 0;
17618     PFN_vkCmdSetDiscardRectangleEnableEXT vkCmdSetDiscardRectangleEnableEXT = 0;
17619     PFN_vkCmdSetDiscardRectangleModeEXT   vkCmdSetDiscardRectangleModeEXT   = 0;
17620 
17621     //=== VK_EXT_hdr_metadata ===
17622     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
17623 
17624     //=== VK_KHR_create_renderpass2 ===
17625     PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
17626     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
17627     PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
17628     PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
17629 
17630     //=== VK_KHR_shared_presentable_image ===
17631     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
17632 
17633     //=== VK_KHR_external_fence_capabilities ===
17634     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
17635 
17636 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17637     //=== VK_KHR_external_fence_win32 ===
17638     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
17639     PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
17640 #else
17641     PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
17642     PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
17643 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17644 
17645     //=== VK_KHR_external_fence_fd ===
17646     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
17647     PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
17648 
17649     //=== VK_KHR_performance_query ===
17650     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
17651     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR         = 0;
17652     PFN_vkAcquireProfilingLockKHR                                       vkAcquireProfilingLockKHR                                       = 0;
17653     PFN_vkReleaseProfilingLockKHR                                       vkReleaseProfilingLockKHR                                       = 0;
17654 
17655     //=== VK_KHR_get_surface_capabilities2 ===
17656     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
17657     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
17658 
17659     //=== VK_KHR_get_display_properties2 ===
17660     PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
17661     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
17662     PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
17663     PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
17664 
17665 #if defined( VK_USE_PLATFORM_IOS_MVK )
17666     //=== VK_MVK_ios_surface ===
17667     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
17668 #else
17669     PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
17670 #endif /*VK_USE_PLATFORM_IOS_MVK*/
17671 
17672 #if defined( VK_USE_PLATFORM_MACOS_MVK )
17673     //=== VK_MVK_macos_surface ===
17674     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
17675 #else
17676     PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
17677 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
17678 
17679     //=== VK_EXT_debug_utils ===
17680     PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
17681     PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
17682     PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
17683     PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
17684     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
17685     PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
17686     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
17687     PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
17688     PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
17689     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
17690     PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
17691 
17692 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
17693     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
17694     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
17695     PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
17696 #else
17697     PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
17698     PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
17699 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
17700 
17701 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17702     //=== VK_AMDX_shader_enqueue ===
17703     PFN_vkCreateExecutionGraphPipelinesAMDX        vkCreateExecutionGraphPipelinesAMDX        = 0;
17704     PFN_vkGetExecutionGraphPipelineScratchSizeAMDX vkGetExecutionGraphPipelineScratchSizeAMDX = 0;
17705     PFN_vkGetExecutionGraphPipelineNodeIndexAMDX   vkGetExecutionGraphPipelineNodeIndexAMDX   = 0;
17706     PFN_vkCmdInitializeGraphScratchMemoryAMDX      vkCmdInitializeGraphScratchMemoryAMDX      = 0;
17707     PFN_vkCmdDispatchGraphAMDX                     vkCmdDispatchGraphAMDX                     = 0;
17708     PFN_vkCmdDispatchGraphIndirectAMDX             vkCmdDispatchGraphIndirectAMDX             = 0;
17709     PFN_vkCmdDispatchGraphIndirectCountAMDX        vkCmdDispatchGraphIndirectCountAMDX        = 0;
17710 #else
17711     PFN_dummy vkCreateExecutionGraphPipelinesAMDX_placeholder               = 0;
17712     PFN_dummy vkGetExecutionGraphPipelineScratchSizeAMDX_placeholder        = 0;
17713     PFN_dummy vkGetExecutionGraphPipelineNodeIndexAMDX_placeholder          = 0;
17714     PFN_dummy vkCmdInitializeGraphScratchMemoryAMDX_placeholder             = 0;
17715     PFN_dummy vkCmdDispatchGraphAMDX_placeholder                            = 0;
17716     PFN_dummy vkCmdDispatchGraphIndirectAMDX_placeholder                    = 0;
17717     PFN_dummy vkCmdDispatchGraphIndirectCountAMDX_placeholder               = 0;
17718 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17719 
17720     //=== VK_EXT_sample_locations ===
17721     PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
17722     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
17723 
17724     //=== VK_KHR_get_memory_requirements2 ===
17725     PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
17726     PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
17727     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
17728 
17729     //=== VK_KHR_acceleration_structure ===
17730     PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
17731     PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
17732     PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
17733     PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
17734     PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
17735     PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
17736     PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
17737     PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
17738     PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
17739     PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
17740     PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
17741     PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
17742     PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
17743     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
17744     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
17745     PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
17746 
17747     //=== VK_KHR_ray_tracing_pipeline ===
17748     PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
17749     PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
17750     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
17751     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
17752     PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
17753     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
17754     PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
17755 
17756     //=== VK_KHR_sampler_ycbcr_conversion ===
17757     PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
17758     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
17759 
17760     //=== VK_KHR_bind_memory2 ===
17761     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
17762     PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
17763 
17764     //=== VK_EXT_image_drm_format_modifier ===
17765     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
17766 
17767     //=== VK_EXT_validation_cache ===
17768     PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
17769     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
17770     PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
17771     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
17772 
17773     //=== VK_NV_shading_rate_image ===
17774     PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
17775     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
17776     PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
17777 
17778     //=== VK_NV_ray_tracing ===
17779     PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
17780     PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
17781     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
17782     PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
17783     PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
17784     PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
17785     PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
17786     PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
17787     PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
17788     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
17789     PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
17790     PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
17791 
17792     //=== VK_KHR_maintenance3 ===
17793     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
17794 
17795     //=== VK_KHR_draw_indirect_count ===
17796     PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
17797     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
17798 
17799     //=== VK_EXT_external_memory_host ===
17800     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
17801 
17802     //=== VK_AMD_buffer_marker ===
17803     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
17804 
17805     //=== VK_EXT_calibrated_timestamps ===
17806     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
17807     PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
17808 
17809     //=== VK_NV_mesh_shader ===
17810     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
17811     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
17812     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
17813 
17814     //=== VK_NV_scissor_exclusive ===
17815     PFN_vkCmdSetExclusiveScissorEnableNV vkCmdSetExclusiveScissorEnableNV = 0;
17816     PFN_vkCmdSetExclusiveScissorNV       vkCmdSetExclusiveScissorNV       = 0;
17817 
17818     //=== VK_NV_device_diagnostic_checkpoints ===
17819     PFN_vkCmdSetCheckpointNV       vkCmdSetCheckpointNV       = 0;
17820     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
17821 
17822     //=== VK_KHR_timeline_semaphore ===
17823     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
17824     PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
17825     PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
17826 
17827     //=== VK_INTEL_performance_query ===
17828     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
17829     PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
17830     PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
17831     PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
17832     PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
17833     PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
17834     PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
17835     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
17836     PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
17837 
17838     //=== VK_AMD_display_native_hdr ===
17839     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
17840 
17841 #if defined( VK_USE_PLATFORM_FUCHSIA )
17842     //=== VK_FUCHSIA_imagepipe_surface ===
17843     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
17844 #else
17845     PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
17846 #endif /*VK_USE_PLATFORM_FUCHSIA*/
17847 
17848 #if defined( VK_USE_PLATFORM_METAL_EXT )
17849     //=== VK_EXT_metal_surface ===
17850     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
17851 #else
17852     PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
17853 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17854 
17855     //=== VK_KHR_fragment_shading_rate ===
17856     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
17857     PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
17858 
17859     //=== VK_KHR_dynamic_rendering_local_read ===
17860     PFN_vkCmdSetRenderingAttachmentLocationsKHR    vkCmdSetRenderingAttachmentLocationsKHR    = 0;
17861     PFN_vkCmdSetRenderingInputAttachmentIndicesKHR vkCmdSetRenderingInputAttachmentIndicesKHR = 0;
17862 
17863     //=== VK_EXT_buffer_device_address ===
17864     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
17865 
17866     //=== VK_EXT_tooling_info ===
17867     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
17868 
17869     //=== VK_KHR_present_wait ===
17870     PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
17871 
17872     //=== VK_NV_cooperative_matrix ===
17873     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
17874 
17875     //=== VK_NV_coverage_reduction_mode ===
17876     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
17877 
17878 #if defined( VK_USE_PLATFORM_WIN32_KHR )
17879     //=== VK_EXT_full_screen_exclusive ===
17880     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
17881     PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
17882     PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
17883     PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
17884 #else
17885     PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
17886     PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
17887     PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
17888     PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
17889 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
17890 
17891     //=== VK_EXT_headless_surface ===
17892     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
17893 
17894     //=== VK_KHR_buffer_device_address ===
17895     PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
17896     PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
17897     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
17898 
17899     //=== VK_EXT_line_rasterization ===
17900     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
17901 
17902     //=== VK_EXT_host_query_reset ===
17903     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
17904 
17905     //=== VK_EXT_extended_dynamic_state ===
17906     PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
17907     PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
17908     PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
17909     PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
17910     PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
17911     PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
17912     PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
17913     PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
17914     PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
17915     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
17916     PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
17917     PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
17918 
17919     //=== VK_KHR_deferred_host_operations ===
17920     PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
17921     PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
17922     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
17923     PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
17924     PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
17925 
17926     //=== VK_KHR_pipeline_executable_properties ===
17927     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
17928     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
17929     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
17930 
17931     //=== VK_EXT_host_image_copy ===
17932     PFN_vkCopyMemoryToImageEXT          vkCopyMemoryToImageEXT          = 0;
17933     PFN_vkCopyImageToMemoryEXT          vkCopyImageToMemoryEXT          = 0;
17934     PFN_vkCopyImageToImageEXT           vkCopyImageToImageEXT           = 0;
17935     PFN_vkTransitionImageLayoutEXT      vkTransitionImageLayoutEXT      = 0;
17936     PFN_vkGetImageSubresourceLayout2EXT vkGetImageSubresourceLayout2EXT = 0;
17937 
17938     //=== VK_KHR_map_memory2 ===
17939     PFN_vkMapMemory2KHR   vkMapMemory2KHR   = 0;
17940     PFN_vkUnmapMemory2KHR vkUnmapMemory2KHR = 0;
17941 
17942     //=== VK_EXT_swapchain_maintenance1 ===
17943     PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT = 0;
17944 
17945     //=== VK_NV_device_generated_commands ===
17946     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
17947     PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
17948     PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
17949     PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
17950     PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
17951     PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
17952 
17953     //=== VK_EXT_depth_bias_control ===
17954     PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT = 0;
17955 
17956     //=== VK_EXT_acquire_drm_display ===
17957     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
17958     PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
17959 
17960     //=== VK_EXT_private_data ===
17961     PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
17962     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
17963     PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
17964     PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
17965 
17966     //=== VK_KHR_video_encode_queue ===
17967     PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = 0;
17968     PFN_vkGetEncodedVideoSessionParametersKHR                   vkGetEncodedVideoSessionParametersKHR                   = 0;
17969     PFN_vkCmdEncodeVideoKHR                                     vkCmdEncodeVideoKHR                                     = 0;
17970 
17971 #if defined( VK_ENABLE_BETA_EXTENSIONS )
17972     //=== VK_NV_cuda_kernel_launch ===
17973     PFN_vkCreateCudaModuleNV    vkCreateCudaModuleNV    = 0;
17974     PFN_vkGetCudaModuleCacheNV  vkGetCudaModuleCacheNV  = 0;
17975     PFN_vkCreateCudaFunctionNV  vkCreateCudaFunctionNV  = 0;
17976     PFN_vkDestroyCudaModuleNV   vkDestroyCudaModuleNV   = 0;
17977     PFN_vkDestroyCudaFunctionNV vkDestroyCudaFunctionNV = 0;
17978     PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV = 0;
17979 #else
17980     PFN_dummy vkCreateCudaModuleNV_placeholder                              = 0;
17981     PFN_dummy vkGetCudaModuleCacheNV_placeholder                            = 0;
17982     PFN_dummy vkCreateCudaFunctionNV_placeholder                            = 0;
17983     PFN_dummy vkDestroyCudaModuleNV_placeholder                             = 0;
17984     PFN_dummy vkDestroyCudaFunctionNV_placeholder                           = 0;
17985     PFN_dummy vkCmdCudaLaunchKernelNV_placeholder                           = 0;
17986 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
17987 
17988 #if defined( VK_USE_PLATFORM_METAL_EXT )
17989     //=== VK_EXT_metal_objects ===
17990     PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT = 0;
17991 #else
17992     PFN_dummy vkExportMetalObjectsEXT_placeholder                           = 0;
17993 #endif /*VK_USE_PLATFORM_METAL_EXT*/
17994 
17995     //=== VK_KHR_synchronization2 ===
17996     PFN_vkCmdSetEvent2KHR           vkCmdSetEvent2KHR           = 0;
17997     PFN_vkCmdResetEvent2KHR         vkCmdResetEvent2KHR         = 0;
17998     PFN_vkCmdWaitEvents2KHR         vkCmdWaitEvents2KHR         = 0;
17999     PFN_vkCmdPipelineBarrier2KHR    vkCmdPipelineBarrier2KHR    = 0;
18000     PFN_vkCmdWriteTimestamp2KHR     vkCmdWriteTimestamp2KHR     = 0;
18001     PFN_vkQueueSubmit2KHR           vkQueueSubmit2KHR           = 0;
18002     PFN_vkCmdWriteBufferMarker2AMD  vkCmdWriteBufferMarker2AMD  = 0;
18003     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
18004 
18005     //=== VK_EXT_descriptor_buffer ===
18006     PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT                          = 0;
18007     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT                 = 0;
18008     PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT                                       = 0;
18009     PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT                            = 0;
18010     PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT                       = 0;
18011     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = 0;
18012     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT                = 0;
18013     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT                 = 0;
18014     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT             = 0;
18015     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT               = 0;
18016     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = 0;
18017 
18018     //=== VK_NV_fragment_shading_rate_enums ===
18019     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
18020 
18021     //=== VK_EXT_mesh_shader ===
18022     PFN_vkCmdDrawMeshTasksEXT              vkCmdDrawMeshTasksEXT              = 0;
18023     PFN_vkCmdDrawMeshTasksIndirectEXT      vkCmdDrawMeshTasksIndirectEXT      = 0;
18024     PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT = 0;
18025 
18026     //=== VK_KHR_copy_commands2 ===
18027     PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
18028     PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
18029     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
18030     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
18031     PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
18032     PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
18033 
18034     //=== VK_EXT_device_fault ===
18035     PFN_vkGetDeviceFaultInfoEXT vkGetDeviceFaultInfoEXT = 0;
18036 
18037 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18038     //=== VK_NV_acquire_winrt_display ===
18039     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
18040     PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
18041 #else
18042     PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
18043     PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
18044 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18045 
18046 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
18047     //=== VK_EXT_directfb_surface ===
18048     PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
18049     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
18050 #else
18051     PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
18052     PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
18053 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
18054 
18055     //=== VK_EXT_vertex_input_dynamic_state ===
18056     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
18057 
18058 #if defined( VK_USE_PLATFORM_FUCHSIA )
18059     //=== VK_FUCHSIA_external_memory ===
18060     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
18061     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
18062 #else
18063     PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
18064     PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
18065 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18066 
18067 #if defined( VK_USE_PLATFORM_FUCHSIA )
18068     //=== VK_FUCHSIA_external_semaphore ===
18069     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
18070     PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
18071 #else
18072     PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
18073     PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
18074 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18075 
18076 #if defined( VK_USE_PLATFORM_FUCHSIA )
18077     //=== VK_FUCHSIA_buffer_collection ===
18078     PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
18079     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
18080     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
18081     PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
18082     PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
18083 #else
18084     PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
18085     PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
18086     PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
18087     PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
18088     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
18089 #endif /*VK_USE_PLATFORM_FUCHSIA*/
18090 
18091     //=== VK_HUAWEI_subpass_shading ===
18092     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
18093     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
18094 
18095     //=== VK_HUAWEI_invocation_mask ===
18096     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
18097 
18098     //=== VK_NV_external_memory_rdma ===
18099     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
18100 
18101     //=== VK_EXT_pipeline_properties ===
18102     PFN_vkGetPipelinePropertiesEXT vkGetPipelinePropertiesEXT = 0;
18103 
18104     //=== VK_EXT_extended_dynamic_state2 ===
18105     PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
18106     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
18107     PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
18108     PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
18109     PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
18110 
18111 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18112     //=== VK_QNX_screen_surface ===
18113     PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
18114     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
18115 #else
18116     PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
18117     PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
18118 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18119 
18120     //=== VK_EXT_color_write_enable ===
18121     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
18122 
18123     //=== VK_KHR_ray_tracing_maintenance1 ===
18124     PFN_vkCmdTraceRaysIndirect2KHR vkCmdTraceRaysIndirect2KHR = 0;
18125 
18126     //=== VK_EXT_multi_draw ===
18127     PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
18128     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
18129 
18130     //=== VK_EXT_opacity_micromap ===
18131     PFN_vkCreateMicromapEXT                 vkCreateMicromapEXT                 = 0;
18132     PFN_vkDestroyMicromapEXT                vkDestroyMicromapEXT                = 0;
18133     PFN_vkCmdBuildMicromapsEXT              vkCmdBuildMicromapsEXT              = 0;
18134     PFN_vkBuildMicromapsEXT                 vkBuildMicromapsEXT                 = 0;
18135     PFN_vkCopyMicromapEXT                   vkCopyMicromapEXT                   = 0;
18136     PFN_vkCopyMicromapToMemoryEXT           vkCopyMicromapToMemoryEXT           = 0;
18137     PFN_vkCopyMemoryToMicromapEXT           vkCopyMemoryToMicromapEXT           = 0;
18138     PFN_vkWriteMicromapsPropertiesEXT       vkWriteMicromapsPropertiesEXT       = 0;
18139     PFN_vkCmdCopyMicromapEXT                vkCmdCopyMicromapEXT                = 0;
18140     PFN_vkCmdCopyMicromapToMemoryEXT        vkCmdCopyMicromapToMemoryEXT        = 0;
18141     PFN_vkCmdCopyMemoryToMicromapEXT        vkCmdCopyMemoryToMicromapEXT        = 0;
18142     PFN_vkCmdWriteMicromapsPropertiesEXT    vkCmdWriteMicromapsPropertiesEXT    = 0;
18143     PFN_vkGetDeviceMicromapCompatibilityEXT vkGetDeviceMicromapCompatibilityEXT = 0;
18144     PFN_vkGetMicromapBuildSizesEXT          vkGetMicromapBuildSizesEXT          = 0;
18145 
18146     //=== VK_HUAWEI_cluster_culling_shader ===
18147     PFN_vkCmdDrawClusterHUAWEI         vkCmdDrawClusterHUAWEI         = 0;
18148     PFN_vkCmdDrawClusterIndirectHUAWEI vkCmdDrawClusterIndirectHUAWEI = 0;
18149 
18150     //=== VK_EXT_pageable_device_local_memory ===
18151     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
18152 
18153     //=== VK_KHR_maintenance4 ===
18154     PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
18155     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
18156     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
18157 
18158     //=== VK_VALVE_descriptor_set_host_mapping ===
18159     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE vkGetDescriptorSetLayoutHostMappingInfoVALVE = 0;
18160     PFN_vkGetDescriptorSetHostMappingVALVE           vkGetDescriptorSetHostMappingVALVE           = 0;
18161 
18162     //=== VK_NV_copy_memory_indirect ===
18163     PFN_vkCmdCopyMemoryIndirectNV        vkCmdCopyMemoryIndirectNV        = 0;
18164     PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV = 0;
18165 
18166     //=== VK_NV_memory_decompression ===
18167     PFN_vkCmdDecompressMemoryNV              vkCmdDecompressMemoryNV              = 0;
18168     PFN_vkCmdDecompressMemoryIndirectCountNV vkCmdDecompressMemoryIndirectCountNV = 0;
18169 
18170     //=== VK_NV_device_generated_commands_compute ===
18171     PFN_vkGetPipelineIndirectMemoryRequirementsNV vkGetPipelineIndirectMemoryRequirementsNV = 0;
18172     PFN_vkCmdUpdatePipelineIndirectBufferNV       vkCmdUpdatePipelineIndirectBufferNV       = 0;
18173     PFN_vkGetPipelineIndirectDeviceAddressNV      vkGetPipelineIndirectDeviceAddressNV      = 0;
18174 
18175     //=== VK_EXT_extended_dynamic_state3 ===
18176     PFN_vkCmdSetDepthClampEnableEXT                 vkCmdSetDepthClampEnableEXT                 = 0;
18177     PFN_vkCmdSetPolygonModeEXT                      vkCmdSetPolygonModeEXT                      = 0;
18178     PFN_vkCmdSetRasterizationSamplesEXT             vkCmdSetRasterizationSamplesEXT             = 0;
18179     PFN_vkCmdSetSampleMaskEXT                       vkCmdSetSampleMaskEXT                       = 0;
18180     PFN_vkCmdSetAlphaToCoverageEnableEXT            vkCmdSetAlphaToCoverageEnableEXT            = 0;
18181     PFN_vkCmdSetAlphaToOneEnableEXT                 vkCmdSetAlphaToOneEnableEXT                 = 0;
18182     PFN_vkCmdSetLogicOpEnableEXT                    vkCmdSetLogicOpEnableEXT                    = 0;
18183     PFN_vkCmdSetColorBlendEnableEXT                 vkCmdSetColorBlendEnableEXT                 = 0;
18184     PFN_vkCmdSetColorBlendEquationEXT               vkCmdSetColorBlendEquationEXT               = 0;
18185     PFN_vkCmdSetColorWriteMaskEXT                   vkCmdSetColorWriteMaskEXT                   = 0;
18186     PFN_vkCmdSetTessellationDomainOriginEXT         vkCmdSetTessellationDomainOriginEXT         = 0;
18187     PFN_vkCmdSetRasterizationStreamEXT              vkCmdSetRasterizationStreamEXT              = 0;
18188     PFN_vkCmdSetConservativeRasterizationModeEXT    vkCmdSetConservativeRasterizationModeEXT    = 0;
18189     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT vkCmdSetExtraPrimitiveOverestimationSizeEXT = 0;
18190     PFN_vkCmdSetDepthClipEnableEXT                  vkCmdSetDepthClipEnableEXT                  = 0;
18191     PFN_vkCmdSetSampleLocationsEnableEXT            vkCmdSetSampleLocationsEnableEXT            = 0;
18192     PFN_vkCmdSetColorBlendAdvancedEXT               vkCmdSetColorBlendAdvancedEXT               = 0;
18193     PFN_vkCmdSetProvokingVertexModeEXT              vkCmdSetProvokingVertexModeEXT              = 0;
18194     PFN_vkCmdSetLineRasterizationModeEXT            vkCmdSetLineRasterizationModeEXT            = 0;
18195     PFN_vkCmdSetLineStippleEnableEXT                vkCmdSetLineStippleEnableEXT                = 0;
18196     PFN_vkCmdSetDepthClipNegativeOneToOneEXT        vkCmdSetDepthClipNegativeOneToOneEXT        = 0;
18197     PFN_vkCmdSetViewportWScalingEnableNV            vkCmdSetViewportWScalingEnableNV            = 0;
18198     PFN_vkCmdSetViewportSwizzleNV                   vkCmdSetViewportSwizzleNV                   = 0;
18199     PFN_vkCmdSetCoverageToColorEnableNV             vkCmdSetCoverageToColorEnableNV             = 0;
18200     PFN_vkCmdSetCoverageToColorLocationNV           vkCmdSetCoverageToColorLocationNV           = 0;
18201     PFN_vkCmdSetCoverageModulationModeNV            vkCmdSetCoverageModulationModeNV            = 0;
18202     PFN_vkCmdSetCoverageModulationTableEnableNV     vkCmdSetCoverageModulationTableEnableNV     = 0;
18203     PFN_vkCmdSetCoverageModulationTableNV           vkCmdSetCoverageModulationTableNV           = 0;
18204     PFN_vkCmdSetShadingRateImageEnableNV            vkCmdSetShadingRateImageEnableNV            = 0;
18205     PFN_vkCmdSetRepresentativeFragmentTestEnableNV  vkCmdSetRepresentativeFragmentTestEnableNV  = 0;
18206     PFN_vkCmdSetCoverageReductionModeNV             vkCmdSetCoverageReductionModeNV             = 0;
18207 
18208     //=== VK_EXT_shader_module_identifier ===
18209     PFN_vkGetShaderModuleIdentifierEXT           vkGetShaderModuleIdentifierEXT           = 0;
18210     PFN_vkGetShaderModuleCreateInfoIdentifierEXT vkGetShaderModuleCreateInfoIdentifierEXT = 0;
18211 
18212     //=== VK_NV_optical_flow ===
18213     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV vkGetPhysicalDeviceOpticalFlowImageFormatsNV = 0;
18214     PFN_vkCreateOpticalFlowSessionNV                 vkCreateOpticalFlowSessionNV                 = 0;
18215     PFN_vkDestroyOpticalFlowSessionNV                vkDestroyOpticalFlowSessionNV                = 0;
18216     PFN_vkBindOpticalFlowSessionImageNV              vkBindOpticalFlowSessionImageNV              = 0;
18217     PFN_vkCmdOpticalFlowExecuteNV                    vkCmdOpticalFlowExecuteNV                    = 0;
18218 
18219     //=== VK_KHR_maintenance5 ===
18220     PFN_vkCmdBindIndexBuffer2KHR             vkCmdBindIndexBuffer2KHR             = 0;
18221     PFN_vkGetRenderingAreaGranularityKHR     vkGetRenderingAreaGranularityKHR     = 0;
18222     PFN_vkGetDeviceImageSubresourceLayoutKHR vkGetDeviceImageSubresourceLayoutKHR = 0;
18223     PFN_vkGetImageSubresourceLayout2KHR      vkGetImageSubresourceLayout2KHR      = 0;
18224 
18225     //=== VK_AMD_anti_lag ===
18226     PFN_vkAntiLagUpdateAMD vkAntiLagUpdateAMD = 0;
18227 
18228     //=== VK_EXT_shader_object ===
18229     PFN_vkCreateShadersEXT       vkCreateShadersEXT       = 0;
18230     PFN_vkDestroyShaderEXT       vkDestroyShaderEXT       = 0;
18231     PFN_vkGetShaderBinaryDataEXT vkGetShaderBinaryDataEXT = 0;
18232     PFN_vkCmdBindShadersEXT      vkCmdBindShadersEXT      = 0;
18233 
18234     //=== VK_KHR_pipeline_binary ===
18235     PFN_vkCreatePipelineBinariesKHR      vkCreatePipelineBinariesKHR      = 0;
18236     PFN_vkDestroyPipelineBinaryKHR       vkDestroyPipelineBinaryKHR       = 0;
18237     PFN_vkGetPipelineKeyKHR              vkGetPipelineKeyKHR              = 0;
18238     PFN_vkGetPipelineBinaryDataKHR       vkGetPipelineBinaryDataKHR       = 0;
18239     PFN_vkReleaseCapturedPipelineDataKHR vkReleaseCapturedPipelineDataKHR = 0;
18240 
18241     //=== VK_QCOM_tile_properties ===
18242     PFN_vkGetFramebufferTilePropertiesQCOM      vkGetFramebufferTilePropertiesQCOM      = 0;
18243     PFN_vkGetDynamicRenderingTilePropertiesQCOM vkGetDynamicRenderingTilePropertiesQCOM = 0;
18244 
18245     //=== VK_NV_low_latency2 ===
18246     PFN_vkSetLatencySleepModeNV  vkSetLatencySleepModeNV  = 0;
18247     PFN_vkLatencySleepNV         vkLatencySleepNV         = 0;
18248     PFN_vkSetLatencyMarkerNV     vkSetLatencyMarkerNV     = 0;
18249     PFN_vkGetLatencyTimingsNV    vkGetLatencyTimingsNV    = 0;
18250     PFN_vkQueueNotifyOutOfBandNV vkQueueNotifyOutOfBandNV = 0;
18251 
18252     //=== VK_KHR_cooperative_matrix ===
18253     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR = 0;
18254 
18255     //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
18256     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT vkCmdSetAttachmentFeedbackLoopEnableEXT = 0;
18257 
18258 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
18259     //=== VK_QNX_external_memory_screen_buffer ===
18260     PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX = 0;
18261 #else
18262     PFN_dummy vkGetScreenBufferPropertiesQNX_placeholder                    = 0;
18263 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
18264 
18265     //=== VK_KHR_line_rasterization ===
18266     PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR = 0;
18267 
18268     //=== VK_KHR_calibrated_timestamps ===
18269     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = 0;
18270     PFN_vkGetCalibratedTimestampsKHR                   vkGetCalibratedTimestampsKHR                   = 0;
18271 
18272     //=== VK_KHR_maintenance6 ===
18273     PFN_vkCmdBindDescriptorSets2KHR                   vkCmdBindDescriptorSets2KHR                   = 0;
18274     PFN_vkCmdPushConstants2KHR                        vkCmdPushConstants2KHR                        = 0;
18275     PFN_vkCmdPushDescriptorSet2KHR                    vkCmdPushDescriptorSet2KHR                    = 0;
18276     PFN_vkCmdPushDescriptorSetWithTemplate2KHR        vkCmdPushDescriptorSetWithTemplate2KHR        = 0;
18277     PFN_vkCmdSetDescriptorBufferOffsets2EXT           vkCmdSetDescriptorBufferOffsets2EXT           = 0;
18278     PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT vkCmdBindDescriptorBufferEmbeddedSamplers2EXT = 0;
18279 
18280   public:
18281     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
18282     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
18283 
DispatchLoaderDynamic(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18284     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18285     {
18286       init( getInstanceProcAddr );
18287     }
18288 
18289     // This interface does not require a linked vulkan library.
DispatchLoaderDynamic(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr getDeviceProcAddr=nullptr)18290     DispatchLoaderDynamic( VkInstance                instance,
18291                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18292                            VkDevice                  device            = {},
18293                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
18294     {
18295       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
18296     }
18297 
18298     template <typename DynamicLoader
18299 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
18300               = VULKAN_HPP_NAMESPACE::DynamicLoader
18301 #endif
18302               >
init()18303     void init()
18304     {
18305       static DynamicLoader dl;
18306       init( dl );
18307     }
18308 
18309     template <typename DynamicLoader>
init(DynamicLoader const & dl)18310     void init( DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
18311     {
18312       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
18313       init( getInstanceProcAddr );
18314     }
18315 
init(PFN_vkGetInstanceProcAddr getInstanceProcAddr)18316     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
18317     {
18318       VULKAN_HPP_ASSERT( getInstanceProcAddr );
18319 
18320       vkGetInstanceProcAddr = getInstanceProcAddr;
18321 
18322       //=== VK_VERSION_1_0 ===
18323       vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
18324       vkEnumerateInstanceExtensionProperties =
18325         PFN_vkEnumerateInstanceExtensionProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
18326       vkEnumerateInstanceLayerProperties = PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
18327 
18328       //=== VK_VERSION_1_1 ===
18329       vkEnumerateInstanceVersion = PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
18330     }
18331 
18332     // This interface does not require a linked vulkan library.
init(VkInstance instance,PFN_vkGetInstanceProcAddr getInstanceProcAddr,VkDevice device={},PFN_vkGetDeviceProcAddr=nullptr)18333     void init( VkInstance                instance,
18334                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
18335                VkDevice                  device              = {},
18336                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
18337     {
18338       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
18339       vkGetInstanceProcAddr = getInstanceProcAddr;
18340       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
18341       if ( device )
18342       {
18343         init( VULKAN_HPP_NAMESPACE::Device( device ) );
18344       }
18345     }
18346 
init(VULKAN_HPP_NAMESPACE::Instance instanceCpp)18347     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
18348     {
18349       VkInstance instance = static_cast<VkInstance>( instanceCpp );
18350 
18351       //=== VK_VERSION_1_0 ===
18352       vkDestroyInstance                   = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
18353       vkEnumeratePhysicalDevices          = PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
18354       vkGetPhysicalDeviceFeatures         = PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
18355       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
18356       vkGetPhysicalDeviceImageFormatProperties =
18357         PFN_vkGetPhysicalDeviceImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
18358       vkGetPhysicalDeviceProperties = PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
18359       vkGetPhysicalDeviceQueueFamilyProperties =
18360         PFN_vkGetPhysicalDeviceQueueFamilyProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
18361       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
18362       vkGetDeviceProcAddr                 = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
18363       vkCreateDevice                      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
18364       vkDestroyDevice                     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
18365       vkEnumerateDeviceExtensionProperties =
18366         PFN_vkEnumerateDeviceExtensionProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
18367       vkEnumerateDeviceLayerProperties   = PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
18368       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
18369       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
18370       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
18371       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
18372       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
18373       vkFreeMemory                       = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
18374       vkMapMemory                        = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
18375       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
18376       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
18377       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
18378       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
18379       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
18380       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
18381       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
18382       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
18383       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
18384       vkGetPhysicalDeviceSparseImageFormatProperties =
18385         PFN_vkGetPhysicalDeviceSparseImageFormatProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
18386       vkQueueBindSparse            = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
18387       vkCreateFence                = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
18388       vkDestroyFence               = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
18389       vkResetFences                = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
18390       vkGetFenceStatus             = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
18391       vkWaitForFences              = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
18392       vkCreateSemaphore            = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
18393       vkDestroySemaphore           = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
18394       vkCreateEvent                = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
18395       vkDestroyEvent               = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
18396       vkGetEventStatus             = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
18397       vkSetEvent                   = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
18398       vkResetEvent                 = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
18399       vkCreateQueryPool            = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
18400       vkDestroyQueryPool           = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
18401       vkGetQueryPoolResults        = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
18402       vkCreateBuffer               = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
18403       vkDestroyBuffer              = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
18404       vkCreateBufferView           = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
18405       vkDestroyBufferView          = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
18406       vkCreateImage                = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
18407       vkDestroyImage               = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
18408       vkGetImageSubresourceLayout  = PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
18409       vkCreateImageView            = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
18410       vkDestroyImageView           = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
18411       vkCreateShaderModule         = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
18412       vkDestroyShaderModule        = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
18413       vkCreatePipelineCache        = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
18414       vkDestroyPipelineCache       = PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
18415       vkGetPipelineCacheData       = PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
18416       vkMergePipelineCaches        = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
18417       vkCreateGraphicsPipelines    = PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
18418       vkCreateComputePipelines     = PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
18419       vkDestroyPipeline            = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
18420       vkCreatePipelineLayout       = PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
18421       vkDestroyPipelineLayout      = PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
18422       vkCreateSampler              = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
18423       vkDestroySampler             = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
18424       vkCreateDescriptorSetLayout  = PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
18425       vkDestroyDescriptorSetLayout = PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
18426       vkCreateDescriptorPool       = PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
18427       vkDestroyDescriptorPool      = PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
18428       vkResetDescriptorPool        = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
18429       vkAllocateDescriptorSets     = PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
18430       vkFreeDescriptorSets         = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
18431       vkUpdateDescriptorSets       = PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
18432       vkCreateFramebuffer          = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
18433       vkDestroyFramebuffer         = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
18434       vkCreateRenderPass           = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
18435       vkDestroyRenderPass          = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
18436       vkGetRenderAreaGranularity   = PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
18437       vkCreateCommandPool          = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
18438       vkDestroyCommandPool         = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
18439       vkResetCommandPool           = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
18440       vkAllocateCommandBuffers     = PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
18441       vkFreeCommandBuffers         = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
18442       vkBeginCommandBuffer         = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
18443       vkEndCommandBuffer           = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
18444       vkResetCommandBuffer         = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
18445       vkCmdBindPipeline            = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
18446       vkCmdSetViewport             = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
18447       vkCmdSetScissor              = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
18448       vkCmdSetLineWidth            = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
18449       vkCmdSetDepthBias            = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
18450       vkCmdSetBlendConstants       = PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
18451       vkCmdSetDepthBounds          = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
18452       vkCmdSetStencilCompareMask   = PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
18453       vkCmdSetStencilWriteMask     = PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
18454       vkCmdSetStencilReference     = PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
18455       vkCmdBindDescriptorSets      = PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
18456       vkCmdBindIndexBuffer         = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
18457       vkCmdBindVertexBuffers       = PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
18458       vkCmdDraw                    = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
18459       vkCmdDrawIndexed             = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
18460       vkCmdDrawIndirect            = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
18461       vkCmdDrawIndexedIndirect     = PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
18462       vkCmdDispatch                = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
18463       vkCmdDispatchIndirect        = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
18464       vkCmdCopyBuffer              = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
18465       vkCmdCopyImage               = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
18466       vkCmdBlitImage               = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
18467       vkCmdCopyBufferToImage       = PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
18468       vkCmdCopyImageToBuffer       = PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
18469       vkCmdUpdateBuffer            = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
18470       vkCmdFillBuffer              = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
18471       vkCmdClearColorImage         = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
18472       vkCmdClearDepthStencilImage  = PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
18473       vkCmdClearAttachments        = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
18474       vkCmdResolveImage            = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
18475       vkCmdSetEvent                = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
18476       vkCmdResetEvent              = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
18477       vkCmdWaitEvents              = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
18478       vkCmdPipelineBarrier         = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
18479       vkCmdBeginQuery              = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
18480       vkCmdEndQuery                = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
18481       vkCmdResetQueryPool          = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
18482       vkCmdWriteTimestamp          = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
18483       vkCmdCopyQueryPoolResults    = PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
18484       vkCmdPushConstants           = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
18485       vkCmdBeginRenderPass         = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
18486       vkCmdNextSubpass             = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
18487       vkCmdEndRenderPass           = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
18488       vkCmdExecuteCommands         = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
18489 
18490       //=== VK_VERSION_1_1 ===
18491       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
18492       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
18493       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
18494       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
18495       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
18496       vkEnumeratePhysicalDeviceGroups     = PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
18497       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
18498       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
18499       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
18500       vkGetPhysicalDeviceFeatures2        = PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
18501       vkGetPhysicalDeviceProperties2      = PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
18502       vkGetPhysicalDeviceFormatProperties2 =
18503         PFN_vkGetPhysicalDeviceFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
18504       vkGetPhysicalDeviceImageFormatProperties2 =
18505         PFN_vkGetPhysicalDeviceImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
18506       vkGetPhysicalDeviceQueueFamilyProperties2 =
18507         PFN_vkGetPhysicalDeviceQueueFamilyProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
18508       vkGetPhysicalDeviceMemoryProperties2 =
18509         PFN_vkGetPhysicalDeviceMemoryProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
18510       vkGetPhysicalDeviceSparseImageFormatProperties2 =
18511         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
18512       vkTrimCommandPool                 = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
18513       vkGetDeviceQueue2                 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
18514       vkCreateSamplerYcbcrConversion    = PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
18515       vkDestroySamplerYcbcrConversion   = PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
18516       vkCreateDescriptorUpdateTemplate  = PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
18517       vkDestroyDescriptorUpdateTemplate = PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
18518       vkUpdateDescriptorSetWithTemplate = PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
18519       vkGetPhysicalDeviceExternalBufferProperties =
18520         PFN_vkGetPhysicalDeviceExternalBufferProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
18521       vkGetPhysicalDeviceExternalFenceProperties =
18522         PFN_vkGetPhysicalDeviceExternalFenceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
18523       vkGetPhysicalDeviceExternalSemaphoreProperties =
18524         PFN_vkGetPhysicalDeviceExternalSemaphoreProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
18525       vkGetDescriptorSetLayoutSupport = PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
18526 
18527       //=== VK_VERSION_1_2 ===
18528       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
18529       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
18530       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
18531       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
18532       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
18533       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
18534       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
18535       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
18536       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
18537       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
18538       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
18539       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
18540       vkGetDeviceMemoryOpaqueCaptureAddress =
18541         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
18542 
18543       //=== VK_VERSION_1_3 ===
18544       vkGetPhysicalDeviceToolProperties   = PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
18545       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
18546       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
18547       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
18548       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
18549       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
18550       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
18551       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
18552       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
18553       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
18554       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
18555       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
18556       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
18557       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
18558       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
18559       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
18560       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
18561       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
18562       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
18563       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
18564       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
18565       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
18566       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
18567       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
18568       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
18569       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
18570       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
18571       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
18572       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
18573       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
18574       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
18575       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
18576       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
18577       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
18578       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
18579       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
18580       vkGetDeviceImageSparseMemoryRequirements =
18581         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
18582 
18583       //=== VK_VERSION_1_4 ===
18584       vkCmdSetLineStipple                = PFN_vkCmdSetLineStipple( vkGetInstanceProcAddr( instance, "vkCmdSetLineStipple" ) );
18585       vkMapMemory2                       = PFN_vkMapMemory2( vkGetInstanceProcAddr( instance, "vkMapMemory2" ) );
18586       vkUnmapMemory2                     = PFN_vkUnmapMemory2( vkGetInstanceProcAddr( instance, "vkUnmapMemory2" ) );
18587       vkCmdBindIndexBuffer2              = PFN_vkCmdBindIndexBuffer2( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2" ) );
18588       vkGetRenderingAreaGranularity      = PFN_vkGetRenderingAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularity" ) );
18589       vkGetDeviceImageSubresourceLayout  = PFN_vkGetDeviceImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayout" ) );
18590       vkGetImageSubresourceLayout2       = PFN_vkGetImageSubresourceLayout2( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2" ) );
18591       vkCmdPushDescriptorSet             = PFN_vkCmdPushDescriptorSet( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet" ) );
18592       vkCmdPushDescriptorSetWithTemplate = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate" ) );
18593       vkCmdSetRenderingAttachmentLocations =
18594         PFN_vkCmdSetRenderingAttachmentLocations( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocations" ) );
18595       vkCmdSetRenderingInputAttachmentIndices =
18596         PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndices" ) );
18597       vkCmdBindDescriptorSets2            = PFN_vkCmdBindDescriptorSets2( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2" ) );
18598       vkCmdPushConstants2                 = PFN_vkCmdPushConstants2( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2" ) );
18599       vkCmdPushDescriptorSet2             = PFN_vkCmdPushDescriptorSet2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2" ) );
18600       vkCmdPushDescriptorSetWithTemplate2 = PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2" ) );
18601       vkCopyMemoryToImage                 = PFN_vkCopyMemoryToImage( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImage" ) );
18602       vkCopyImageToMemory                 = PFN_vkCopyImageToMemory( vkGetInstanceProcAddr( instance, "vkCopyImageToMemory" ) );
18603       vkCopyImageToImage                  = PFN_vkCopyImageToImage( vkGetInstanceProcAddr( instance, "vkCopyImageToImage" ) );
18604       vkTransitionImageLayout             = PFN_vkTransitionImageLayout( vkGetInstanceProcAddr( instance, "vkTransitionImageLayout" ) );
18605 
18606       //=== VK_KHR_surface ===
18607       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
18608       vkGetPhysicalDeviceSurfaceSupportKHR =
18609         PFN_vkGetPhysicalDeviceSurfaceSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
18610       vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
18611         PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
18612       vkGetPhysicalDeviceSurfaceFormatsKHR =
18613         PFN_vkGetPhysicalDeviceSurfaceFormatsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
18614       vkGetPhysicalDeviceSurfacePresentModesKHR =
18615         PFN_vkGetPhysicalDeviceSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
18616 
18617       //=== VK_KHR_swapchain ===
18618       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
18619       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
18620       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
18621       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
18622       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
18623       vkGetDeviceGroupPresentCapabilitiesKHR =
18624         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
18625       vkGetDeviceGroupSurfacePresentModesKHR =
18626         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
18627       vkGetPhysicalDevicePresentRectanglesKHR =
18628         PFN_vkGetPhysicalDevicePresentRectanglesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
18629       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
18630 
18631       //=== VK_KHR_display ===
18632       vkGetPhysicalDeviceDisplayPropertiesKHR =
18633         PFN_vkGetPhysicalDeviceDisplayPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
18634       vkGetPhysicalDeviceDisplayPlanePropertiesKHR =
18635         PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
18636       vkGetDisplayPlaneSupportedDisplaysKHR =
18637         PFN_vkGetDisplayPlaneSupportedDisplaysKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
18638       vkGetDisplayModePropertiesKHR    = PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
18639       vkCreateDisplayModeKHR           = PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
18640       vkGetDisplayPlaneCapabilitiesKHR = PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
18641       vkCreateDisplayPlaneSurfaceKHR   = PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
18642 
18643       //=== VK_KHR_display_swapchain ===
18644       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
18645 
18646 #if defined( VK_USE_PLATFORM_XLIB_KHR )
18647       //=== VK_KHR_xlib_surface ===
18648       vkCreateXlibSurfaceKHR = PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
18649       vkGetPhysicalDeviceXlibPresentationSupportKHR =
18650         PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
18651 #endif /*VK_USE_PLATFORM_XLIB_KHR*/
18652 
18653 #if defined( VK_USE_PLATFORM_XCB_KHR )
18654       //=== VK_KHR_xcb_surface ===
18655       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
18656       vkGetPhysicalDeviceXcbPresentationSupportKHR =
18657         PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
18658 #endif /*VK_USE_PLATFORM_XCB_KHR*/
18659 
18660 #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
18661       //=== VK_KHR_wayland_surface ===
18662       vkCreateWaylandSurfaceKHR = PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
18663       vkGetPhysicalDeviceWaylandPresentationSupportKHR =
18664         PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
18665 #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
18666 
18667 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18668       //=== VK_KHR_android_surface ===
18669       vkCreateAndroidSurfaceKHR = PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
18670 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18671 
18672 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18673       //=== VK_KHR_win32_surface ===
18674       vkCreateWin32SurfaceKHR = PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
18675       vkGetPhysicalDeviceWin32PresentationSupportKHR =
18676         PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
18677 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18678 
18679       //=== VK_EXT_debug_report ===
18680       vkCreateDebugReportCallbackEXT  = PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
18681       vkDestroyDebugReportCallbackEXT = PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
18682       vkDebugReportMessageEXT         = PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
18683 
18684       //=== VK_EXT_debug_marker ===
18685       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
18686       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
18687       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
18688       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
18689       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
18690 
18691       //=== VK_KHR_video_queue ===
18692       vkGetPhysicalDeviceVideoCapabilitiesKHR =
18693         PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
18694       vkGetPhysicalDeviceVideoFormatPropertiesKHR =
18695         PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
18696       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
18697       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
18698       vkGetVideoSessionMemoryRequirementsKHR =
18699         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
18700       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
18701       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
18702       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
18703       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
18704       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
18705       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
18706       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
18707 
18708       //=== VK_KHR_video_decode_queue ===
18709       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
18710 
18711       //=== VK_EXT_transform_feedback ===
18712       vkCmdBindTransformFeedbackBuffersEXT =
18713         PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
18714       vkCmdBeginTransformFeedbackEXT = PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
18715       vkCmdEndTransformFeedbackEXT   = PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
18716       vkCmdBeginQueryIndexedEXT      = PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
18717       vkCmdEndQueryIndexedEXT        = PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
18718       vkCmdDrawIndirectByteCountEXT  = PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
18719 
18720       //=== VK_NVX_binary_import ===
18721       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
18722       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
18723       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
18724       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
18725       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
18726 
18727       //=== VK_NVX_image_view_handle ===
18728       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
18729       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
18730 
18731       //=== VK_AMD_draw_indirect_count ===
18732       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
18733       if ( !vkCmdDrawIndirectCount )
18734         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
18735       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
18736       if ( !vkCmdDrawIndexedIndirectCount )
18737         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
18738 
18739       //=== VK_AMD_shader_info ===
18740       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
18741 
18742       //=== VK_KHR_dynamic_rendering ===
18743       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
18744       if ( !vkCmdBeginRendering )
18745         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
18746       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
18747       if ( !vkCmdEndRendering )
18748         vkCmdEndRendering = vkCmdEndRenderingKHR;
18749 
18750 #if defined( VK_USE_PLATFORM_GGP )
18751       //=== VK_GGP_stream_descriptor_surface ===
18752       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP( vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
18753 #endif /*VK_USE_PLATFORM_GGP*/
18754 
18755       //=== VK_NV_external_memory_capabilities ===
18756       vkGetPhysicalDeviceExternalImageFormatPropertiesNV =
18757         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
18758 
18759 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18760       //=== VK_NV_external_memory_win32 ===
18761       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
18762 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18763 
18764       //=== VK_KHR_get_physical_device_properties2 ===
18765       vkGetPhysicalDeviceFeatures2KHR = PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
18766       if ( !vkGetPhysicalDeviceFeatures2 )
18767         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
18768       vkGetPhysicalDeviceProperties2KHR = PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
18769       if ( !vkGetPhysicalDeviceProperties2 )
18770         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
18771       vkGetPhysicalDeviceFormatProperties2KHR =
18772         PFN_vkGetPhysicalDeviceFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
18773       if ( !vkGetPhysicalDeviceFormatProperties2 )
18774         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
18775       vkGetPhysicalDeviceImageFormatProperties2KHR =
18776         PFN_vkGetPhysicalDeviceImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
18777       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
18778         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
18779       vkGetPhysicalDeviceQueueFamilyProperties2KHR =
18780         PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
18781       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
18782         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
18783       vkGetPhysicalDeviceMemoryProperties2KHR =
18784         PFN_vkGetPhysicalDeviceMemoryProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
18785       if ( !vkGetPhysicalDeviceMemoryProperties2 )
18786         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
18787       vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
18788         PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
18789       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
18790         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
18791 
18792       //=== VK_KHR_device_group ===
18793       vkGetDeviceGroupPeerMemoryFeaturesKHR =
18794         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
18795       if ( !vkGetDeviceGroupPeerMemoryFeatures )
18796         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
18797       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
18798       if ( !vkCmdSetDeviceMask )
18799         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
18800       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
18801       if ( !vkCmdDispatchBase )
18802         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
18803 
18804 #if defined( VK_USE_PLATFORM_VI_NN )
18805       //=== VK_NN_vi_surface ===
18806       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
18807 #endif /*VK_USE_PLATFORM_VI_NN*/
18808 
18809       //=== VK_KHR_maintenance1 ===
18810       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
18811       if ( !vkTrimCommandPool )
18812         vkTrimCommandPool = vkTrimCommandPoolKHR;
18813 
18814       //=== VK_KHR_device_group_creation ===
18815       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
18816       if ( !vkEnumeratePhysicalDeviceGroups )
18817         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
18818 
18819       //=== VK_KHR_external_memory_capabilities ===
18820       vkGetPhysicalDeviceExternalBufferPropertiesKHR =
18821         PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
18822       if ( !vkGetPhysicalDeviceExternalBufferProperties )
18823         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
18824 
18825 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18826       //=== VK_KHR_external_memory_win32 ===
18827       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
18828       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
18829 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18830 
18831       //=== VK_KHR_external_memory_fd ===
18832       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
18833       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
18834 
18835       //=== VK_KHR_external_semaphore_capabilities ===
18836       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
18837         PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
18838       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
18839         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
18840 
18841 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18842       //=== VK_KHR_external_semaphore_win32 ===
18843       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
18844       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
18845 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18846 
18847       //=== VK_KHR_external_semaphore_fd ===
18848       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
18849       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
18850 
18851       //=== VK_KHR_push_descriptor ===
18852       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
18853       if ( !vkCmdPushDescriptorSet )
18854         vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
18855       vkCmdPushDescriptorSetWithTemplateKHR =
18856         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
18857       if ( !vkCmdPushDescriptorSetWithTemplate )
18858         vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
18859 
18860       //=== VK_EXT_conditional_rendering ===
18861       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
18862       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
18863 
18864       //=== VK_KHR_descriptor_update_template ===
18865       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
18866       if ( !vkCreateDescriptorUpdateTemplate )
18867         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
18868       vkDestroyDescriptorUpdateTemplateKHR =
18869         PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
18870       if ( !vkDestroyDescriptorUpdateTemplate )
18871         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
18872       vkUpdateDescriptorSetWithTemplateKHR =
18873         PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
18874       if ( !vkUpdateDescriptorSetWithTemplate )
18875         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
18876 
18877       //=== VK_NV_clip_space_w_scaling ===
18878       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
18879 
18880       //=== VK_EXT_direct_mode_display ===
18881       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
18882 
18883 #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
18884       //=== VK_EXT_acquire_xlib_display ===
18885       vkAcquireXlibDisplayEXT    = PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
18886       vkGetRandROutputDisplayEXT = PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
18887 #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
18888 
18889       //=== VK_EXT_display_surface_counter ===
18890       vkGetPhysicalDeviceSurfaceCapabilities2EXT =
18891         PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
18892 
18893       //=== VK_EXT_display_control ===
18894       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
18895       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
18896       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
18897       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
18898 
18899       //=== VK_GOOGLE_display_timing ===
18900       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
18901       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
18902 
18903       //=== VK_EXT_discard_rectangles ===
18904       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
18905       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEnableEXT" ) );
18906       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleModeEXT" ) );
18907 
18908       //=== VK_EXT_hdr_metadata ===
18909       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
18910 
18911       //=== VK_KHR_create_renderpass2 ===
18912       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
18913       if ( !vkCreateRenderPass2 )
18914         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
18915       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
18916       if ( !vkCmdBeginRenderPass2 )
18917         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
18918       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
18919       if ( !vkCmdNextSubpass2 )
18920         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
18921       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
18922       if ( !vkCmdEndRenderPass2 )
18923         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
18924 
18925       //=== VK_KHR_shared_presentable_image ===
18926       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
18927 
18928       //=== VK_KHR_external_fence_capabilities ===
18929       vkGetPhysicalDeviceExternalFencePropertiesKHR =
18930         PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
18931       if ( !vkGetPhysicalDeviceExternalFenceProperties )
18932         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
18933 
18934 #if defined( VK_USE_PLATFORM_WIN32_KHR )
18935       //=== VK_KHR_external_fence_win32 ===
18936       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
18937       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
18938 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
18939 
18940       //=== VK_KHR_external_fence_fd ===
18941       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
18942       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
18943 
18944       //=== VK_KHR_performance_query ===
18945       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
18946         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
18947       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
18948         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
18949       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
18950       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
18951 
18952       //=== VK_KHR_get_surface_capabilities2 ===
18953       vkGetPhysicalDeviceSurfaceCapabilities2KHR =
18954         PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
18955       vkGetPhysicalDeviceSurfaceFormats2KHR =
18956         PFN_vkGetPhysicalDeviceSurfaceFormats2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
18957 
18958       //=== VK_KHR_get_display_properties2 ===
18959       vkGetPhysicalDeviceDisplayProperties2KHR =
18960         PFN_vkGetPhysicalDeviceDisplayProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
18961       vkGetPhysicalDeviceDisplayPlaneProperties2KHR =
18962         PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
18963       vkGetDisplayModeProperties2KHR    = PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
18964       vkGetDisplayPlaneCapabilities2KHR = PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
18965 
18966 #if defined( VK_USE_PLATFORM_IOS_MVK )
18967       //=== VK_MVK_ios_surface ===
18968       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
18969 #endif /*VK_USE_PLATFORM_IOS_MVK*/
18970 
18971 #if defined( VK_USE_PLATFORM_MACOS_MVK )
18972       //=== VK_MVK_macos_surface ===
18973       vkCreateMacOSSurfaceMVK = PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
18974 #endif /*VK_USE_PLATFORM_MACOS_MVK*/
18975 
18976       //=== VK_EXT_debug_utils ===
18977       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
18978       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
18979       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
18980       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
18981       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
18982       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
18983       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
18984       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
18985       vkCreateDebugUtilsMessengerEXT  = PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
18986       vkDestroyDebugUtilsMessengerEXT = PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
18987       vkSubmitDebugUtilsMessageEXT    = PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
18988 
18989 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
18990       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
18991       vkGetAndroidHardwareBufferPropertiesANDROID =
18992         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
18993       vkGetMemoryAndroidHardwareBufferANDROID =
18994         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
18995 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
18996 
18997 #if defined( VK_ENABLE_BETA_EXTENSIONS )
18998       //=== VK_AMDX_shader_enqueue ===
18999       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetInstanceProcAddr( instance, "vkCreateExecutionGraphPipelinesAMDX" ) );
19000       vkGetExecutionGraphPipelineScratchSizeAMDX =
19001         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
19002       vkGetExecutionGraphPipelineNodeIndexAMDX =
19003         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetInstanceProcAddr( instance, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
19004       vkCmdInitializeGraphScratchMemoryAMDX =
19005         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetInstanceProcAddr( instance, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
19006       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphAMDX" ) );
19007       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectAMDX" ) );
19008       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetInstanceProcAddr( instance, "vkCmdDispatchGraphIndirectCountAMDX" ) );
19009 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19010 
19011       //=== VK_EXT_sample_locations ===
19012       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
19013       vkGetPhysicalDeviceMultisamplePropertiesEXT =
19014         PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
19015 
19016       //=== VK_KHR_get_memory_requirements2 ===
19017       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
19018       if ( !vkGetImageMemoryRequirements2 )
19019         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
19020       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
19021       if ( !vkGetBufferMemoryRequirements2 )
19022         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
19023       vkGetImageSparseMemoryRequirements2KHR =
19024         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
19025       if ( !vkGetImageSparseMemoryRequirements2 )
19026         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
19027 
19028       //=== VK_KHR_acceleration_structure ===
19029       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
19030       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
19031       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
19032       vkCmdBuildAccelerationStructuresIndirectKHR =
19033         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
19034       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
19035       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
19036       vkCopyAccelerationStructureToMemoryKHR =
19037         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
19038       vkCopyMemoryToAccelerationStructureKHR =
19039         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
19040       vkWriteAccelerationStructuresPropertiesKHR =
19041         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
19042       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
19043       vkCmdCopyAccelerationStructureToMemoryKHR =
19044         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
19045       vkCmdCopyMemoryToAccelerationStructureKHR =
19046         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
19047       vkGetAccelerationStructureDeviceAddressKHR =
19048         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
19049       vkCmdWriteAccelerationStructuresPropertiesKHR =
19050         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
19051       vkGetDeviceAccelerationStructureCompatibilityKHR =
19052         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
19053       vkGetAccelerationStructureBuildSizesKHR =
19054         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
19055 
19056       //=== VK_KHR_ray_tracing_pipeline ===
19057       vkCmdTraceRaysKHR              = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
19058       vkCreateRayTracingPipelinesKHR = PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
19059       vkGetRayTracingShaderGroupHandlesKHR =
19060         PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
19061       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
19062         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
19063       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
19064       vkGetRayTracingShaderGroupStackSizeKHR =
19065         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
19066       vkCmdSetRayTracingPipelineStackSizeKHR =
19067         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
19068 
19069       //=== VK_KHR_sampler_ycbcr_conversion ===
19070       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
19071       if ( !vkCreateSamplerYcbcrConversion )
19072         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
19073       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
19074       if ( !vkDestroySamplerYcbcrConversion )
19075         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
19076 
19077       //=== VK_KHR_bind_memory2 ===
19078       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
19079       if ( !vkBindBufferMemory2 )
19080         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
19081       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
19082       if ( !vkBindImageMemory2 )
19083         vkBindImageMemory2 = vkBindImageMemory2KHR;
19084 
19085       //=== VK_EXT_image_drm_format_modifier ===
19086       vkGetImageDrmFormatModifierPropertiesEXT =
19087         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
19088 
19089       //=== VK_EXT_validation_cache ===
19090       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
19091       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
19092       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
19093       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
19094 
19095       //=== VK_NV_shading_rate_image ===
19096       vkCmdBindShadingRateImageNV = PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
19097       vkCmdSetViewportShadingRatePaletteNV =
19098         PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
19099       vkCmdSetCoarseSampleOrderNV = PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
19100 
19101       //=== VK_NV_ray_tracing ===
19102       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
19103       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
19104       vkGetAccelerationStructureMemoryRequirementsNV =
19105         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
19106       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
19107       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
19108       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
19109       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
19110       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
19111       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
19112       if ( !vkGetRayTracingShaderGroupHandlesKHR )
19113         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
19114       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
19115       vkCmdWriteAccelerationStructuresPropertiesNV =
19116         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
19117       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
19118 
19119       //=== VK_KHR_maintenance3 ===
19120       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
19121       if ( !vkGetDescriptorSetLayoutSupport )
19122         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
19123 
19124       //=== VK_KHR_draw_indirect_count ===
19125       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
19126       if ( !vkCmdDrawIndirectCount )
19127         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
19128       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
19129       if ( !vkCmdDrawIndexedIndirectCount )
19130         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
19131 
19132       //=== VK_EXT_external_memory_host ===
19133       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
19134 
19135       //=== VK_AMD_buffer_marker ===
19136       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
19137 
19138       //=== VK_EXT_calibrated_timestamps ===
19139       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT =
19140         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
19141       if ( !vkGetPhysicalDeviceCalibrateableTimeDomainsKHR )
19142         vkGetPhysicalDeviceCalibrateableTimeDomainsKHR = vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
19143       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
19144       if ( !vkGetCalibratedTimestampsKHR )
19145         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
19146 
19147       //=== VK_NV_mesh_shader ===
19148       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
19149       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
19150       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
19151 
19152       //=== VK_NV_scissor_exclusive ===
19153       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorEnableNV" ) );
19154       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
19155 
19156       //=== VK_NV_device_diagnostic_checkpoints ===
19157       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
19158       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
19159 
19160       //=== VK_KHR_timeline_semaphore ===
19161       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
19162       if ( !vkGetSemaphoreCounterValue )
19163         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
19164       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
19165       if ( !vkWaitSemaphores )
19166         vkWaitSemaphores = vkWaitSemaphoresKHR;
19167       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
19168       if ( !vkSignalSemaphore )
19169         vkSignalSemaphore = vkSignalSemaphoreKHR;
19170 
19171       //=== VK_INTEL_performance_query ===
19172       vkInitializePerformanceApiINTEL   = PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
19173       vkUninitializePerformanceApiINTEL = PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
19174       vkCmdSetPerformanceMarkerINTEL    = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
19175       vkCmdSetPerformanceStreamMarkerINTEL =
19176         PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
19177       vkCmdSetPerformanceOverrideINTEL = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
19178       vkAcquirePerformanceConfigurationINTEL =
19179         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
19180       vkReleasePerformanceConfigurationINTEL =
19181         PFN_vkReleasePerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
19182       vkQueueSetPerformanceConfigurationINTEL =
19183         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
19184       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
19185 
19186       //=== VK_AMD_display_native_hdr ===
19187       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
19188 
19189 #if defined( VK_USE_PLATFORM_FUCHSIA )
19190       //=== VK_FUCHSIA_imagepipe_surface ===
19191       vkCreateImagePipeSurfaceFUCHSIA = PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
19192 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19193 
19194 #if defined( VK_USE_PLATFORM_METAL_EXT )
19195       //=== VK_EXT_metal_surface ===
19196       vkCreateMetalSurfaceEXT = PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
19197 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19198 
19199       //=== VK_KHR_fragment_shading_rate ===
19200       vkGetPhysicalDeviceFragmentShadingRatesKHR =
19201         PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
19202       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
19203 
19204       //=== VK_KHR_dynamic_rendering_local_read ===
19205       vkCmdSetRenderingAttachmentLocationsKHR =
19206         PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
19207       if ( !vkCmdSetRenderingAttachmentLocations )
19208         vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
19209       vkCmdSetRenderingInputAttachmentIndicesKHR =
19210         PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetInstanceProcAddr( instance, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
19211       if ( !vkCmdSetRenderingInputAttachmentIndices )
19212         vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
19213 
19214       //=== VK_EXT_buffer_device_address ===
19215       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
19216       if ( !vkGetBufferDeviceAddress )
19217         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
19218 
19219       //=== VK_EXT_tooling_info ===
19220       vkGetPhysicalDeviceToolPropertiesEXT =
19221         PFN_vkGetPhysicalDeviceToolPropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
19222       if ( !vkGetPhysicalDeviceToolProperties )
19223         vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
19224 
19225       //=== VK_KHR_present_wait ===
19226       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
19227 
19228       //=== VK_NV_cooperative_matrix ===
19229       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV =
19230         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
19231 
19232       //=== VK_NV_coverage_reduction_mode ===
19233       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
19234         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
19235 
19236 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19237       //=== VK_EXT_full_screen_exclusive ===
19238       vkGetPhysicalDeviceSurfacePresentModes2EXT =
19239         PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
19240       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
19241       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
19242       vkGetDeviceGroupSurfacePresentModes2EXT =
19243         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
19244 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19245 
19246       //=== VK_EXT_headless_surface ===
19247       vkCreateHeadlessSurfaceEXT = PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
19248 
19249       //=== VK_KHR_buffer_device_address ===
19250       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
19251       if ( !vkGetBufferDeviceAddress )
19252         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
19253       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
19254       if ( !vkGetBufferOpaqueCaptureAddress )
19255         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
19256       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
19257         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
19258       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
19259         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
19260 
19261       //=== VK_EXT_line_rasterization ===
19262       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
19263       if ( !vkCmdSetLineStipple )
19264         vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
19265 
19266       //=== VK_EXT_host_query_reset ===
19267       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
19268       if ( !vkResetQueryPool )
19269         vkResetQueryPool = vkResetQueryPoolEXT;
19270 
19271       //=== VK_EXT_extended_dynamic_state ===
19272       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
19273       if ( !vkCmdSetCullMode )
19274         vkCmdSetCullMode = vkCmdSetCullModeEXT;
19275       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
19276       if ( !vkCmdSetFrontFace )
19277         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
19278       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
19279       if ( !vkCmdSetPrimitiveTopology )
19280         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
19281       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
19282       if ( !vkCmdSetViewportWithCount )
19283         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
19284       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
19285       if ( !vkCmdSetScissorWithCount )
19286         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
19287       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
19288       if ( !vkCmdBindVertexBuffers2 )
19289         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
19290       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
19291       if ( !vkCmdSetDepthTestEnable )
19292         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
19293       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
19294       if ( !vkCmdSetDepthWriteEnable )
19295         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
19296       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
19297       if ( !vkCmdSetDepthCompareOp )
19298         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
19299       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
19300       if ( !vkCmdSetDepthBoundsTestEnable )
19301         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
19302       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
19303       if ( !vkCmdSetStencilTestEnable )
19304         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
19305       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
19306       if ( !vkCmdSetStencilOp )
19307         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
19308 
19309       //=== VK_KHR_deferred_host_operations ===
19310       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
19311       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
19312       vkGetDeferredOperationMaxConcurrencyKHR =
19313         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
19314       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
19315       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
19316 
19317       //=== VK_KHR_pipeline_executable_properties ===
19318       vkGetPipelineExecutablePropertiesKHR =
19319         PFN_vkGetPipelineExecutablePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
19320       vkGetPipelineExecutableStatisticsKHR =
19321         PFN_vkGetPipelineExecutableStatisticsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
19322       vkGetPipelineExecutableInternalRepresentationsKHR =
19323         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
19324 
19325       //=== VK_EXT_host_image_copy ===
19326       vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToImageEXT" ) );
19327       if ( !vkCopyMemoryToImage )
19328         vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
19329       vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToMemoryEXT" ) );
19330       if ( !vkCopyImageToMemory )
19331         vkCopyImageToMemory = vkCopyImageToMemoryEXT;
19332       vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetInstanceProcAddr( instance, "vkCopyImageToImageEXT" ) );
19333       if ( !vkCopyImageToImage )
19334         vkCopyImageToImage = vkCopyImageToImageEXT;
19335       vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetInstanceProcAddr( instance, "vkTransitionImageLayoutEXT" ) );
19336       if ( !vkTransitionImageLayout )
19337         vkTransitionImageLayout = vkTransitionImageLayoutEXT;
19338       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2EXT" ) );
19339       if ( !vkGetImageSubresourceLayout2 )
19340         vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
19341 
19342       //=== VK_KHR_map_memory2 ===
19343       vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetInstanceProcAddr( instance, "vkMapMemory2KHR" ) );
19344       if ( !vkMapMemory2 )
19345         vkMapMemory2 = vkMapMemory2KHR;
19346       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetInstanceProcAddr( instance, "vkUnmapMemory2KHR" ) );
19347       if ( !vkUnmapMemory2 )
19348         vkUnmapMemory2 = vkUnmapMemory2KHR;
19349 
19350       //=== VK_EXT_swapchain_maintenance1 ===
19351       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetInstanceProcAddr( instance, "vkReleaseSwapchainImagesEXT" ) );
19352 
19353       //=== VK_NV_device_generated_commands ===
19354       vkGetGeneratedCommandsMemoryRequirementsNV =
19355         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
19356       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
19357       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
19358       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
19359       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
19360       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
19361 
19362       //=== VK_EXT_depth_bias_control ===
19363       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias2EXT" ) );
19364 
19365       //=== VK_EXT_acquire_drm_display ===
19366       vkAcquireDrmDisplayEXT = PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
19367       vkGetDrmDisplayEXT     = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
19368 
19369       //=== VK_EXT_private_data ===
19370       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
19371       if ( !vkCreatePrivateDataSlot )
19372         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
19373       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
19374       if ( !vkDestroyPrivateDataSlot )
19375         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
19376       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
19377       if ( !vkSetPrivateData )
19378         vkSetPrivateData = vkSetPrivateDataEXT;
19379       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
19380       if ( !vkGetPrivateData )
19381         vkGetPrivateData = vkGetPrivateDataEXT;
19382 
19383       //=== VK_KHR_video_encode_queue ===
19384       vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR = PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR(
19385         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR" ) );
19386       vkGetEncodedVideoSessionParametersKHR =
19387         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkGetEncodedVideoSessionParametersKHR" ) );
19388       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
19389 
19390 #if defined( VK_ENABLE_BETA_EXTENSIONS )
19391       //=== VK_NV_cuda_kernel_launch ===
19392       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetInstanceProcAddr( instance, "vkCreateCudaModuleNV" ) );
19393       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetInstanceProcAddr( instance, "vkGetCudaModuleCacheNV" ) );
19394       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkCreateCudaFunctionNV" ) );
19395       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaModuleNV" ) );
19396       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetInstanceProcAddr( instance, "vkDestroyCudaFunctionNV" ) );
19397       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetInstanceProcAddr( instance, "vkCmdCudaLaunchKernelNV" ) );
19398 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
19399 
19400 #if defined( VK_USE_PLATFORM_METAL_EXT )
19401       //=== VK_EXT_metal_objects ===
19402       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetInstanceProcAddr( instance, "vkExportMetalObjectsEXT" ) );
19403 #endif /*VK_USE_PLATFORM_METAL_EXT*/
19404 
19405       //=== VK_KHR_synchronization2 ===
19406       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
19407       if ( !vkCmdSetEvent2 )
19408         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
19409       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
19410       if ( !vkCmdResetEvent2 )
19411         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
19412       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
19413       if ( !vkCmdWaitEvents2 )
19414         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
19415       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
19416       if ( !vkCmdPipelineBarrier2 )
19417         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
19418       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
19419       if ( !vkCmdWriteTimestamp2 )
19420         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
19421       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
19422       if ( !vkQueueSubmit2 )
19423         vkQueueSubmit2 = vkQueueSubmit2KHR;
19424       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
19425       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
19426 
19427       //=== VK_EXT_descriptor_buffer ===
19428       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSizeEXT" ) );
19429       vkGetDescriptorSetLayoutBindingOffsetEXT =
19430         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
19431       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetInstanceProcAddr( instance, "vkGetDescriptorEXT" ) );
19432       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBuffersEXT" ) );
19433       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
19434       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
19435         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
19436       vkGetBufferOpaqueCaptureDescriptorDataEXT =
19437         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
19438       vkGetImageOpaqueCaptureDescriptorDataEXT =
19439         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
19440       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
19441         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
19442       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
19443         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetInstanceProcAddr( instance, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
19444       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
19445         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
19446 
19447       //=== VK_NV_fragment_shading_rate_enums ===
19448       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
19449 
19450       //=== VK_EXT_mesh_shader ===
19451       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksEXT" ) );
19452       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectEXT" ) );
19453       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
19454 
19455       //=== VK_KHR_copy_commands2 ===
19456       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
19457       if ( !vkCmdCopyBuffer2 )
19458         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
19459       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
19460       if ( !vkCmdCopyImage2 )
19461         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
19462       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
19463       if ( !vkCmdCopyBufferToImage2 )
19464         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
19465       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
19466       if ( !vkCmdCopyImageToBuffer2 )
19467         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
19468       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
19469       if ( !vkCmdBlitImage2 )
19470         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
19471       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
19472       if ( !vkCmdResolveImage2 )
19473         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
19474 
19475       //=== VK_EXT_device_fault ===
19476       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceFaultInfoEXT" ) );
19477 
19478 #if defined( VK_USE_PLATFORM_WIN32_KHR )
19479       //=== VK_NV_acquire_winrt_display ===
19480       vkAcquireWinrtDisplayNV = PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
19481       vkGetWinrtDisplayNV     = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
19482 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
19483 
19484 #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
19485       //=== VK_EXT_directfb_surface ===
19486       vkCreateDirectFBSurfaceEXT = PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
19487       vkGetPhysicalDeviceDirectFBPresentationSupportEXT =
19488         PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
19489 #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
19490 
19491       //=== VK_EXT_vertex_input_dynamic_state ===
19492       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
19493 
19494 #if defined( VK_USE_PLATFORM_FUCHSIA )
19495       //=== VK_FUCHSIA_external_memory ===
19496       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
19497       vkGetMemoryZirconHandlePropertiesFUCHSIA =
19498         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
19499 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19500 
19501 #if defined( VK_USE_PLATFORM_FUCHSIA )
19502       //=== VK_FUCHSIA_external_semaphore ===
19503       vkImportSemaphoreZirconHandleFUCHSIA =
19504         PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
19505       vkGetSemaphoreZirconHandleFUCHSIA = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
19506 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19507 
19508 #if defined( VK_USE_PLATFORM_FUCHSIA )
19509       //=== VK_FUCHSIA_buffer_collection ===
19510       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
19511       vkSetBufferCollectionImageConstraintsFUCHSIA =
19512         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
19513       vkSetBufferCollectionBufferConstraintsFUCHSIA =
19514         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
19515       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
19516       vkGetBufferCollectionPropertiesFUCHSIA =
19517         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
19518 #endif /*VK_USE_PLATFORM_FUCHSIA*/
19519 
19520       //=== VK_HUAWEI_subpass_shading ===
19521       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
19522         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
19523       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
19524 
19525       //=== VK_HUAWEI_invocation_mask ===
19526       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
19527 
19528       //=== VK_NV_external_memory_rdma ===
19529       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
19530 
19531       //=== VK_EXT_pipeline_properties ===
19532       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetInstanceProcAddr( instance, "vkGetPipelinePropertiesEXT" ) );
19533 
19534       //=== VK_EXT_extended_dynamic_state2 ===
19535       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
19536       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
19537       if ( !vkCmdSetRasterizerDiscardEnable )
19538         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
19539       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
19540       if ( !vkCmdSetDepthBiasEnable )
19541         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
19542       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
19543       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
19544       if ( !vkCmdSetPrimitiveRestartEnable )
19545         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
19546 
19547 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19548       //=== VK_QNX_screen_surface ===
19549       vkCreateScreenSurfaceQNX = PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
19550       vkGetPhysicalDeviceScreenPresentationSupportQNX =
19551         PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
19552 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19553 
19554       //=== VK_EXT_color_write_enable ===
19555       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
19556 
19557       //=== VK_KHR_ray_tracing_maintenance1 ===
19558       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirect2KHR" ) );
19559 
19560       //=== VK_EXT_multi_draw ===
19561       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
19562       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
19563 
19564       //=== VK_EXT_opacity_micromap ===
19565       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetInstanceProcAddr( instance, "vkCreateMicromapEXT" ) );
19566       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetInstanceProcAddr( instance, "vkDestroyMicromapEXT" ) );
19567       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkCmdBuildMicromapsEXT" ) );
19568       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetInstanceProcAddr( instance, "vkBuildMicromapsEXT" ) );
19569       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapEXT" ) );
19570       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCopyMicromapToMemoryEXT" ) );
19571       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCopyMemoryToMicromapEXT" ) );
19572       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkWriteMicromapsPropertiesEXT" ) );
19573       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapEXT" ) );
19574       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMicromapToMemoryEXT" ) );
19575       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToMicromapEXT" ) );
19576       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetInstanceProcAddr( instance, "vkCmdWriteMicromapsPropertiesEXT" ) );
19577       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetInstanceProcAddr( instance, "vkGetDeviceMicromapCompatibilityEXT" ) );
19578       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetInstanceProcAddr( instance, "vkGetMicromapBuildSizesEXT" ) );
19579 
19580       //=== VK_HUAWEI_cluster_culling_shader ===
19581       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterHUAWEI" ) );
19582       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdDrawClusterIndirectHUAWEI" ) );
19583 
19584       //=== VK_EXT_pageable_device_local_memory ===
19585       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
19586 
19587       //=== VK_KHR_maintenance4 ===
19588       vkGetDeviceBufferMemoryRequirementsKHR =
19589         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
19590       if ( !vkGetDeviceBufferMemoryRequirements )
19591         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
19592       vkGetDeviceImageMemoryRequirementsKHR =
19593         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
19594       if ( !vkGetDeviceImageMemoryRequirements )
19595         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
19596       vkGetDeviceImageSparseMemoryRequirementsKHR =
19597         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
19598       if ( !vkGetDeviceImageSparseMemoryRequirements )
19599         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
19600 
19601       //=== VK_VALVE_descriptor_set_host_mapping ===
19602       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
19603         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
19604       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetHostMappingVALVE" ) );
19605 
19606       //=== VK_NV_copy_memory_indirect ===
19607       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryIndirectNV" ) );
19608       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToImageIndirectNV" ) );
19609 
19610       //=== VK_NV_memory_decompression ===
19611       vkCmdDecompressMemoryNV = PFN_vkCmdDecompressMemoryNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryNV" ) );
19612       vkCmdDecompressMemoryIndirectCountNV =
19613         PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDecompressMemoryIndirectCountNV" ) );
19614 
19615       //=== VK_NV_device_generated_commands_compute ===
19616       vkGetPipelineIndirectMemoryRequirementsNV =
19617         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
19618       vkCmdUpdatePipelineIndirectBufferNV = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetInstanceProcAddr( instance, "vkCmdUpdatePipelineIndirectBufferNV" ) );
19619       vkGetPipelineIndirectDeviceAddressNV =
19620         PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetInstanceProcAddr( instance, "vkGetPipelineIndirectDeviceAddressNV" ) );
19621 
19622       //=== VK_EXT_extended_dynamic_state3 ===
19623       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClampEnableEXT" ) );
19624       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPolygonModeEXT" ) );
19625       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationSamplesEXT" ) );
19626       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleMaskEXT" ) );
19627       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToCoverageEnableEXT" ) );
19628       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAlphaToOneEnableEXT" ) );
19629       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEnableEXT" ) );
19630       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEnableEXT" ) );
19631       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendEquationEXT" ) );
19632       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteMaskEXT" ) );
19633       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetInstanceProcAddr( instance, "vkCmdSetTessellationDomainOriginEXT" ) );
19634       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizationStreamEXT" ) );
19635       vkCmdSetConservativeRasterizationModeEXT =
19636         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetConservativeRasterizationModeEXT" ) );
19637       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
19638         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
19639       vkCmdSetDepthClipEnableEXT       = PFN_vkCmdSetDepthClipEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipEnableEXT" ) );
19640       vkCmdSetSampleLocationsEnableEXT = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEnableEXT" ) );
19641       vkCmdSetColorBlendAdvancedEXT    = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorBlendAdvancedEXT" ) );
19642       vkCmdSetProvokingVertexModeEXT   = PFN_vkCmdSetProvokingVertexModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetProvokingVertexModeEXT" ) );
19643       vkCmdSetLineRasterizationModeEXT = PFN_vkCmdSetLineRasterizationModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineRasterizationModeEXT" ) );
19644       vkCmdSetLineStippleEnableEXT     = PFN_vkCmdSetLineStippleEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEnableEXT" ) );
19645       vkCmdSetDepthClipNegativeOneToOneEXT =
19646         PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
19647       vkCmdSetViewportWScalingEnableNV  = PFN_vkCmdSetViewportWScalingEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingEnableNV" ) );
19648       vkCmdSetViewportSwizzleNV         = PFN_vkCmdSetViewportSwizzleNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportSwizzleNV" ) );
19649       vkCmdSetCoverageToColorEnableNV   = PFN_vkCmdSetCoverageToColorEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorEnableNV" ) );
19650       vkCmdSetCoverageToColorLocationNV = PFN_vkCmdSetCoverageToColorLocationNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageToColorLocationNV" ) );
19651       vkCmdSetCoverageModulationModeNV  = PFN_vkCmdSetCoverageModulationModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationModeNV" ) );
19652       vkCmdSetCoverageModulationTableEnableNV =
19653         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableEnableNV" ) );
19654       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageModulationTableNV" ) );
19655       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetShadingRateImageEnableNV" ) );
19656       vkCmdSetRepresentativeFragmentTestEnableNV =
19657         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetInstanceProcAddr( instance, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
19658       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoverageReductionModeNV" ) );
19659 
19660       //=== VK_EXT_shader_module_identifier ===
19661       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleIdentifierEXT" ) );
19662       vkGetShaderModuleCreateInfoIdentifierEXT =
19663         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetInstanceProcAddr( instance, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
19664 
19665       //=== VK_NV_optical_flow ===
19666       vkGetPhysicalDeviceOpticalFlowImageFormatsNV =
19667         PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceOpticalFlowImageFormatsNV" ) );
19668       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkCreateOpticalFlowSessionNV" ) );
19669       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetInstanceProcAddr( instance, "vkDestroyOpticalFlowSessionNV" ) );
19670       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetInstanceProcAddr( instance, "vkBindOpticalFlowSessionImageNV" ) );
19671       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetInstanceProcAddr( instance, "vkCmdOpticalFlowExecuteNV" ) );
19672 
19673       //=== VK_KHR_maintenance5 ===
19674       vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer2KHR" ) );
19675       if ( !vkCmdBindIndexBuffer2 )
19676         vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
19677       vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetInstanceProcAddr( instance, "vkGetRenderingAreaGranularityKHR" ) );
19678       if ( !vkGetRenderingAreaGranularity )
19679         vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
19680       vkGetDeviceImageSubresourceLayoutKHR =
19681         PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetInstanceProcAddr( instance, "vkGetDeviceImageSubresourceLayoutKHR" ) );
19682       if ( !vkGetDeviceImageSubresourceLayout )
19683         vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
19684       vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout2KHR" ) );
19685       if ( !vkGetImageSubresourceLayout2 )
19686         vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
19687 
19688       //=== VK_AMD_anti_lag ===
19689       vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetInstanceProcAddr( instance, "vkAntiLagUpdateAMD" ) );
19690 
19691       //=== VK_EXT_shader_object ===
19692       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetInstanceProcAddr( instance, "vkCreateShadersEXT" ) );
19693       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetInstanceProcAddr( instance, "vkDestroyShaderEXT" ) );
19694       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetInstanceProcAddr( instance, "vkGetShaderBinaryDataEXT" ) );
19695       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetInstanceProcAddr( instance, "vkCmdBindShadersEXT" ) );
19696 
19697       //=== VK_KHR_pipeline_binary ===
19698       vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetInstanceProcAddr( instance, "vkCreatePipelineBinariesKHR" ) );
19699       vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetInstanceProcAddr( instance, "vkDestroyPipelineBinaryKHR" ) );
19700       vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineKeyKHR" ) );
19701       vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetInstanceProcAddr( instance, "vkGetPipelineBinaryDataKHR" ) );
19702       vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetInstanceProcAddr( instance, "vkReleaseCapturedPipelineDataKHR" ) );
19703 
19704       //=== VK_QCOM_tile_properties ===
19705       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetFramebufferTilePropertiesQCOM" ) );
19706       vkGetDynamicRenderingTilePropertiesQCOM =
19707         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetInstanceProcAddr( instance, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
19708 
19709       //=== VK_NV_low_latency2 ===
19710       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetInstanceProcAddr( instance, "vkSetLatencySleepModeNV" ) );
19711       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetInstanceProcAddr( instance, "vkLatencySleepNV" ) );
19712       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetInstanceProcAddr( instance, "vkSetLatencyMarkerNV" ) );
19713       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetInstanceProcAddr( instance, "vkGetLatencyTimingsNV" ) );
19714       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetInstanceProcAddr( instance, "vkQueueNotifyOutOfBandNV" ) );
19715 
19716       //=== VK_KHR_cooperative_matrix ===
19717       vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR =
19718         PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR" ) );
19719 
19720       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
19721       vkCmdSetAttachmentFeedbackLoopEnableEXT =
19722         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
19723 
19724 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
19725       //=== VK_QNX_external_memory_screen_buffer ===
19726       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetInstanceProcAddr( instance, "vkGetScreenBufferPropertiesQNX" ) );
19727 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
19728 
19729       //=== VK_KHR_line_rasterization ===
19730       vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleKHR" ) );
19731       if ( !vkCmdSetLineStipple )
19732         vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
19733 
19734       //=== VK_KHR_calibrated_timestamps ===
19735       vkGetPhysicalDeviceCalibrateableTimeDomainsKHR =
19736         PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsKHR" ) );
19737       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsKHR" ) );
19738 
19739       //=== VK_KHR_maintenance6 ===
19740       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets2KHR" ) );
19741       if ( !vkCmdBindDescriptorSets2 )
19742         vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
19743       vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushConstants2KHR" ) );
19744       if ( !vkCmdPushConstants2 )
19745         vkCmdPushConstants2 = vkCmdPushConstants2KHR;
19746       vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSet2KHR" ) );
19747       if ( !vkCmdPushDescriptorSet2 )
19748         vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
19749       vkCmdPushDescriptorSetWithTemplate2KHR =
19750         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
19751       if ( !vkCmdPushDescriptorSetWithTemplate2 )
19752         vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
19753       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetInstanceProcAddr( instance, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
19754       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
19755         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
19756     }
19757 
init(VULKAN_HPP_NAMESPACE::Device deviceCpp)19758     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
19759     {
19760       VkDevice device = static_cast<VkDevice>( deviceCpp );
19761 
19762       //=== VK_VERSION_1_0 ===
19763       vkGetDeviceProcAddr                = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
19764       vkDestroyDevice                    = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
19765       vkGetDeviceQueue                   = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
19766       vkQueueSubmit                      = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
19767       vkQueueWaitIdle                    = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
19768       vkDeviceWaitIdle                   = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
19769       vkAllocateMemory                   = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
19770       vkFreeMemory                       = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
19771       vkMapMemory                        = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
19772       vkUnmapMemory                      = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
19773       vkFlushMappedMemoryRanges          = PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
19774       vkInvalidateMappedMemoryRanges     = PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
19775       vkGetDeviceMemoryCommitment        = PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
19776       vkBindBufferMemory                 = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
19777       vkBindImageMemory                  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
19778       vkGetBufferMemoryRequirements      = PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
19779       vkGetImageMemoryRequirements       = PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
19780       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
19781       vkQueueBindSparse                  = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
19782       vkCreateFence                      = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
19783       vkDestroyFence                     = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
19784       vkResetFences                      = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
19785       vkGetFenceStatus                   = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
19786       vkWaitForFences                    = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
19787       vkCreateSemaphore                  = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
19788       vkDestroySemaphore                 = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
19789       vkCreateEvent                      = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
19790       vkDestroyEvent                     = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
19791       vkGetEventStatus                   = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
19792       vkSetEvent                         = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
19793       vkResetEvent                       = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
19794       vkCreateQueryPool                  = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
19795       vkDestroyQueryPool                 = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
19796       vkGetQueryPoolResults              = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
19797       vkCreateBuffer                     = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
19798       vkDestroyBuffer                    = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
19799       vkCreateBufferView                 = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
19800       vkDestroyBufferView                = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
19801       vkCreateImage                      = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
19802       vkDestroyImage                     = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
19803       vkGetImageSubresourceLayout        = PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
19804       vkCreateImageView                  = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
19805       vkDestroyImageView                 = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
19806       vkCreateShaderModule               = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
19807       vkDestroyShaderModule              = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
19808       vkCreatePipelineCache              = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
19809       vkDestroyPipelineCache             = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
19810       vkGetPipelineCacheData             = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
19811       vkMergePipelineCaches              = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
19812       vkCreateGraphicsPipelines          = PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
19813       vkCreateComputePipelines           = PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
19814       vkDestroyPipeline                  = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
19815       vkCreatePipelineLayout             = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
19816       vkDestroyPipelineLayout            = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
19817       vkCreateSampler                    = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
19818       vkDestroySampler                   = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
19819       vkCreateDescriptorSetLayout        = PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
19820       vkDestroyDescriptorSetLayout       = PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
19821       vkCreateDescriptorPool             = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
19822       vkDestroyDescriptorPool            = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
19823       vkResetDescriptorPool              = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
19824       vkAllocateDescriptorSets           = PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
19825       vkFreeDescriptorSets               = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
19826       vkUpdateDescriptorSets             = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
19827       vkCreateFramebuffer                = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
19828       vkDestroyFramebuffer               = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
19829       vkCreateRenderPass                 = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
19830       vkDestroyRenderPass                = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
19831       vkGetRenderAreaGranularity         = PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
19832       vkCreateCommandPool                = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
19833       vkDestroyCommandPool               = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
19834       vkResetCommandPool                 = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
19835       vkAllocateCommandBuffers           = PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
19836       vkFreeCommandBuffers               = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
19837       vkBeginCommandBuffer               = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
19838       vkEndCommandBuffer                 = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
19839       vkResetCommandBuffer               = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
19840       vkCmdBindPipeline                  = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
19841       vkCmdSetViewport                   = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
19842       vkCmdSetScissor                    = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
19843       vkCmdSetLineWidth                  = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
19844       vkCmdSetDepthBias                  = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
19845       vkCmdSetBlendConstants             = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
19846       vkCmdSetDepthBounds                = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
19847       vkCmdSetStencilCompareMask         = PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
19848       vkCmdSetStencilWriteMask           = PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
19849       vkCmdSetStencilReference           = PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
19850       vkCmdBindDescriptorSets            = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
19851       vkCmdBindIndexBuffer               = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
19852       vkCmdBindVertexBuffers             = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
19853       vkCmdDraw                          = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
19854       vkCmdDrawIndexed                   = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
19855       vkCmdDrawIndirect                  = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
19856       vkCmdDrawIndexedIndirect           = PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
19857       vkCmdDispatch                      = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
19858       vkCmdDispatchIndirect              = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
19859       vkCmdCopyBuffer                    = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
19860       vkCmdCopyImage                     = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
19861       vkCmdBlitImage                     = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
19862       vkCmdCopyBufferToImage             = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
19863       vkCmdCopyImageToBuffer             = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
19864       vkCmdUpdateBuffer                  = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
19865       vkCmdFillBuffer                    = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
19866       vkCmdClearColorImage               = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
19867       vkCmdClearDepthStencilImage        = PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
19868       vkCmdClearAttachments              = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
19869       vkCmdResolveImage                  = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
19870       vkCmdSetEvent                      = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
19871       vkCmdResetEvent                    = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
19872       vkCmdWaitEvents                    = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
19873       vkCmdPipelineBarrier               = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
19874       vkCmdBeginQuery                    = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
19875       vkCmdEndQuery                      = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
19876       vkCmdResetQueryPool                = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
19877       vkCmdWriteTimestamp                = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
19878       vkCmdCopyQueryPoolResults          = PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
19879       vkCmdPushConstants                 = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
19880       vkCmdBeginRenderPass               = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
19881       vkCmdNextSubpass                   = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
19882       vkCmdEndRenderPass                 = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
19883       vkCmdExecuteCommands               = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
19884 
19885       //=== VK_VERSION_1_1 ===
19886       vkBindBufferMemory2                 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
19887       vkBindImageMemory2                  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
19888       vkGetDeviceGroupPeerMemoryFeatures  = PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
19889       vkCmdSetDeviceMask                  = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
19890       vkCmdDispatchBase                   = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
19891       vkGetImageMemoryRequirements2       = PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
19892       vkGetBufferMemoryRequirements2      = PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
19893       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
19894       vkTrimCommandPool                   = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
19895       vkGetDeviceQueue2                   = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
19896       vkCreateSamplerYcbcrConversion      = PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
19897       vkDestroySamplerYcbcrConversion     = PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
19898       vkCreateDescriptorUpdateTemplate    = PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
19899       vkDestroyDescriptorUpdateTemplate   = PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
19900       vkUpdateDescriptorSetWithTemplate   = PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
19901       vkGetDescriptorSetLayoutSupport     = PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
19902 
19903       //=== VK_VERSION_1_2 ===
19904       vkCmdDrawIndirectCount          = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
19905       vkCmdDrawIndexedIndirectCount   = PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
19906       vkCreateRenderPass2             = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
19907       vkCmdBeginRenderPass2           = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
19908       vkCmdNextSubpass2               = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
19909       vkCmdEndRenderPass2             = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
19910       vkResetQueryPool                = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
19911       vkGetSemaphoreCounterValue      = PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
19912       vkWaitSemaphores                = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
19913       vkSignalSemaphore               = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
19914       vkGetBufferDeviceAddress        = PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
19915       vkGetBufferOpaqueCaptureAddress = PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
19916       vkGetDeviceMemoryOpaqueCaptureAddress =
19917         PFN_vkGetDeviceMemoryOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
19918 
19919       //=== VK_VERSION_1_3 ===
19920       vkCreatePrivateDataSlot             = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
19921       vkDestroyPrivateDataSlot            = PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
19922       vkSetPrivateData                    = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
19923       vkGetPrivateData                    = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
19924       vkCmdSetEvent2                      = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
19925       vkCmdResetEvent2                    = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
19926       vkCmdWaitEvents2                    = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
19927       vkCmdPipelineBarrier2               = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
19928       vkCmdWriteTimestamp2                = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
19929       vkQueueSubmit2                      = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
19930       vkCmdCopyBuffer2                    = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
19931       vkCmdCopyImage2                     = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
19932       vkCmdCopyBufferToImage2             = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
19933       vkCmdCopyImageToBuffer2             = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
19934       vkCmdBlitImage2                     = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
19935       vkCmdResolveImage2                  = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
19936       vkCmdBeginRendering                 = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
19937       vkCmdEndRendering                   = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
19938       vkCmdSetCullMode                    = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
19939       vkCmdSetFrontFace                   = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
19940       vkCmdSetPrimitiveTopology           = PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
19941       vkCmdSetViewportWithCount           = PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
19942       vkCmdSetScissorWithCount            = PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
19943       vkCmdBindVertexBuffers2             = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
19944       vkCmdSetDepthTestEnable             = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
19945       vkCmdSetDepthWriteEnable            = PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
19946       vkCmdSetDepthCompareOp              = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
19947       vkCmdSetDepthBoundsTestEnable       = PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
19948       vkCmdSetStencilTestEnable           = PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
19949       vkCmdSetStencilOp                   = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
19950       vkCmdSetRasterizerDiscardEnable     = PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
19951       vkCmdSetDepthBiasEnable             = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
19952       vkCmdSetPrimitiveRestartEnable      = PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
19953       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
19954       vkGetDeviceImageMemoryRequirements  = PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
19955       vkGetDeviceImageSparseMemoryRequirements =
19956         PFN_vkGetDeviceImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
19957 
19958       //=== VK_VERSION_1_4 ===
19959       vkCmdSetLineStipple                  = PFN_vkCmdSetLineStipple( vkGetDeviceProcAddr( device, "vkCmdSetLineStipple" ) );
19960       vkMapMemory2                         = PFN_vkMapMemory2( vkGetDeviceProcAddr( device, "vkMapMemory2" ) );
19961       vkUnmapMemory2                       = PFN_vkUnmapMemory2( vkGetDeviceProcAddr( device, "vkUnmapMemory2" ) );
19962       vkCmdBindIndexBuffer2                = PFN_vkCmdBindIndexBuffer2( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2" ) );
19963       vkGetRenderingAreaGranularity        = PFN_vkGetRenderingAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularity" ) );
19964       vkGetDeviceImageSubresourceLayout    = PFN_vkGetDeviceImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayout" ) );
19965       vkGetImageSubresourceLayout2         = PFN_vkGetImageSubresourceLayout2( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2" ) );
19966       vkCmdPushDescriptorSet               = PFN_vkCmdPushDescriptorSet( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet" ) );
19967       vkCmdPushDescriptorSetWithTemplate   = PFN_vkCmdPushDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate" ) );
19968       vkCmdSetRenderingAttachmentLocations = PFN_vkCmdSetRenderingAttachmentLocations( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocations" ) );
19969       vkCmdSetRenderingInputAttachmentIndices =
19970         PFN_vkCmdSetRenderingInputAttachmentIndices( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndices" ) );
19971       vkCmdBindDescriptorSets2            = PFN_vkCmdBindDescriptorSets2( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2" ) );
19972       vkCmdPushConstants2                 = PFN_vkCmdPushConstants2( vkGetDeviceProcAddr( device, "vkCmdPushConstants2" ) );
19973       vkCmdPushDescriptorSet2             = PFN_vkCmdPushDescriptorSet2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2" ) );
19974       vkCmdPushDescriptorSetWithTemplate2 = PFN_vkCmdPushDescriptorSetWithTemplate2( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2" ) );
19975       vkCopyMemoryToImage                 = PFN_vkCopyMemoryToImage( vkGetDeviceProcAddr( device, "vkCopyMemoryToImage" ) );
19976       vkCopyImageToMemory                 = PFN_vkCopyImageToMemory( vkGetDeviceProcAddr( device, "vkCopyImageToMemory" ) );
19977       vkCopyImageToImage                  = PFN_vkCopyImageToImage( vkGetDeviceProcAddr( device, "vkCopyImageToImage" ) );
19978       vkTransitionImageLayout             = PFN_vkTransitionImageLayout( vkGetDeviceProcAddr( device, "vkTransitionImageLayout" ) );
19979 
19980       //=== VK_KHR_swapchain ===
19981       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
19982       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
19983       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
19984       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
19985       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
19986       vkGetDeviceGroupPresentCapabilitiesKHR =
19987         PFN_vkGetDeviceGroupPresentCapabilitiesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
19988       vkGetDeviceGroupSurfacePresentModesKHR =
19989         PFN_vkGetDeviceGroupSurfacePresentModesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
19990       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
19991 
19992       //=== VK_KHR_display_swapchain ===
19993       vkCreateSharedSwapchainsKHR = PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
19994 
19995       //=== VK_EXT_debug_marker ===
19996       vkDebugMarkerSetObjectTagEXT  = PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
19997       vkDebugMarkerSetObjectNameEXT = PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
19998       vkCmdDebugMarkerBeginEXT      = PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
19999       vkCmdDebugMarkerEndEXT        = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
20000       vkCmdDebugMarkerInsertEXT     = PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
20001 
20002       //=== VK_KHR_video_queue ===
20003       vkCreateVideoSessionKHR  = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
20004       vkDestroyVideoSessionKHR = PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
20005       vkGetVideoSessionMemoryRequirementsKHR =
20006         PFN_vkGetVideoSessionMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
20007       vkBindVideoSessionMemoryKHR        = PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
20008       vkCreateVideoSessionParametersKHR  = PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
20009       vkUpdateVideoSessionParametersKHR  = PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
20010       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
20011       vkCmdBeginVideoCodingKHR           = PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
20012       vkCmdEndVideoCodingKHR             = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
20013       vkCmdControlVideoCodingKHR         = PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
20014 
20015       //=== VK_KHR_video_decode_queue ===
20016       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
20017 
20018       //=== VK_EXT_transform_feedback ===
20019       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
20020       vkCmdBeginTransformFeedbackEXT       = PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
20021       vkCmdEndTransformFeedbackEXT         = PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
20022       vkCmdBeginQueryIndexedEXT            = PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
20023       vkCmdEndQueryIndexedEXT              = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
20024       vkCmdDrawIndirectByteCountEXT        = PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
20025 
20026       //=== VK_NVX_binary_import ===
20027       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
20028       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
20029       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
20030       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
20031       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
20032 
20033       //=== VK_NVX_image_view_handle ===
20034       vkGetImageViewHandleNVX  = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
20035       vkGetImageViewAddressNVX = PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
20036 
20037       //=== VK_AMD_draw_indirect_count ===
20038       vkCmdDrawIndirectCountAMD = PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
20039       if ( !vkCmdDrawIndirectCount )
20040         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
20041       vkCmdDrawIndexedIndirectCountAMD = PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
20042       if ( !vkCmdDrawIndexedIndirectCount )
20043         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
20044 
20045       //=== VK_AMD_shader_info ===
20046       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
20047 
20048       //=== VK_KHR_dynamic_rendering ===
20049       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
20050       if ( !vkCmdBeginRendering )
20051         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
20052       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
20053       if ( !vkCmdEndRendering )
20054         vkCmdEndRendering = vkCmdEndRenderingKHR;
20055 
20056 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20057       //=== VK_NV_external_memory_win32 ===
20058       vkGetMemoryWin32HandleNV = PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
20059 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20060 
20061       //=== VK_KHR_device_group ===
20062       vkGetDeviceGroupPeerMemoryFeaturesKHR =
20063         PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
20064       if ( !vkGetDeviceGroupPeerMemoryFeatures )
20065         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
20066       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
20067       if ( !vkCmdSetDeviceMask )
20068         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
20069       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
20070       if ( !vkCmdDispatchBase )
20071         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
20072 
20073       //=== VK_KHR_maintenance1 ===
20074       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
20075       if ( !vkTrimCommandPool )
20076         vkTrimCommandPool = vkTrimCommandPoolKHR;
20077 
20078 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20079       //=== VK_KHR_external_memory_win32 ===
20080       vkGetMemoryWin32HandleKHR           = PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
20081       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
20082 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20083 
20084       //=== VK_KHR_external_memory_fd ===
20085       vkGetMemoryFdKHR           = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
20086       vkGetMemoryFdPropertiesKHR = PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
20087 
20088 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20089       //=== VK_KHR_external_semaphore_win32 ===
20090       vkImportSemaphoreWin32HandleKHR = PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
20091       vkGetSemaphoreWin32HandleKHR    = PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
20092 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20093 
20094       //=== VK_KHR_external_semaphore_fd ===
20095       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
20096       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
20097 
20098       //=== VK_KHR_push_descriptor ===
20099       vkCmdPushDescriptorSetKHR = PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
20100       if ( !vkCmdPushDescriptorSet )
20101         vkCmdPushDescriptorSet = vkCmdPushDescriptorSetKHR;
20102       vkCmdPushDescriptorSetWithTemplateKHR =
20103         PFN_vkCmdPushDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
20104       if ( !vkCmdPushDescriptorSetWithTemplate )
20105         vkCmdPushDescriptorSetWithTemplate = vkCmdPushDescriptorSetWithTemplateKHR;
20106 
20107       //=== VK_EXT_conditional_rendering ===
20108       vkCmdBeginConditionalRenderingEXT = PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
20109       vkCmdEndConditionalRenderingEXT   = PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
20110 
20111       //=== VK_KHR_descriptor_update_template ===
20112       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
20113       if ( !vkCreateDescriptorUpdateTemplate )
20114         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
20115       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
20116       if ( !vkDestroyDescriptorUpdateTemplate )
20117         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
20118       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
20119       if ( !vkUpdateDescriptorSetWithTemplate )
20120         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
20121 
20122       //=== VK_NV_clip_space_w_scaling ===
20123       vkCmdSetViewportWScalingNV = PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
20124 
20125       //=== VK_EXT_display_control ===
20126       vkDisplayPowerControlEXT  = PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
20127       vkRegisterDeviceEventEXT  = PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
20128       vkRegisterDisplayEventEXT = PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
20129       vkGetSwapchainCounterEXT  = PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
20130 
20131       //=== VK_GOOGLE_display_timing ===
20132       vkGetRefreshCycleDurationGOOGLE   = PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
20133       vkGetPastPresentationTimingGOOGLE = PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
20134 
20135       //=== VK_EXT_discard_rectangles ===
20136       vkCmdSetDiscardRectangleEXT       = PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
20137       vkCmdSetDiscardRectangleEnableEXT = PFN_vkCmdSetDiscardRectangleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" ) );
20138       vkCmdSetDiscardRectangleModeEXT   = PFN_vkCmdSetDiscardRectangleModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" ) );
20139 
20140       //=== VK_EXT_hdr_metadata ===
20141       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
20142 
20143       //=== VK_KHR_create_renderpass2 ===
20144       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
20145       if ( !vkCreateRenderPass2 )
20146         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
20147       vkCmdBeginRenderPass2KHR = PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
20148       if ( !vkCmdBeginRenderPass2 )
20149         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
20150       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
20151       if ( !vkCmdNextSubpass2 )
20152         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
20153       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
20154       if ( !vkCmdEndRenderPass2 )
20155         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
20156 
20157       //=== VK_KHR_shared_presentable_image ===
20158       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
20159 
20160 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20161       //=== VK_KHR_external_fence_win32 ===
20162       vkImportFenceWin32HandleKHR = PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
20163       vkGetFenceWin32HandleKHR    = PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
20164 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20165 
20166       //=== VK_KHR_external_fence_fd ===
20167       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
20168       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
20169 
20170       //=== VK_KHR_performance_query ===
20171       vkAcquireProfilingLockKHR = PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
20172       vkReleaseProfilingLockKHR = PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
20173 
20174       //=== VK_EXT_debug_utils ===
20175       vkSetDebugUtilsObjectNameEXT    = PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
20176       vkSetDebugUtilsObjectTagEXT     = PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
20177       vkQueueBeginDebugUtilsLabelEXT  = PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
20178       vkQueueEndDebugUtilsLabelEXT    = PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
20179       vkQueueInsertDebugUtilsLabelEXT = PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
20180       vkCmdBeginDebugUtilsLabelEXT    = PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
20181       vkCmdEndDebugUtilsLabelEXT      = PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
20182       vkCmdInsertDebugUtilsLabelEXT   = PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
20183 
20184 #if defined( VK_USE_PLATFORM_ANDROID_KHR )
20185       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
20186       vkGetAndroidHardwareBufferPropertiesANDROID =
20187         PFN_vkGetAndroidHardwareBufferPropertiesANDROID( vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
20188       vkGetMemoryAndroidHardwareBufferANDROID =
20189         PFN_vkGetMemoryAndroidHardwareBufferANDROID( vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
20190 #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
20191 
20192 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20193       //=== VK_AMDX_shader_enqueue ===
20194       vkCreateExecutionGraphPipelinesAMDX = PFN_vkCreateExecutionGraphPipelinesAMDX( vkGetDeviceProcAddr( device, "vkCreateExecutionGraphPipelinesAMDX" ) );
20195       vkGetExecutionGraphPipelineScratchSizeAMDX =
20196         PFN_vkGetExecutionGraphPipelineScratchSizeAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineScratchSizeAMDX" ) );
20197       vkGetExecutionGraphPipelineNodeIndexAMDX =
20198         PFN_vkGetExecutionGraphPipelineNodeIndexAMDX( vkGetDeviceProcAddr( device, "vkGetExecutionGraphPipelineNodeIndexAMDX" ) );
20199       vkCmdInitializeGraphScratchMemoryAMDX =
20200         PFN_vkCmdInitializeGraphScratchMemoryAMDX( vkGetDeviceProcAddr( device, "vkCmdInitializeGraphScratchMemoryAMDX" ) );
20201       vkCmdDispatchGraphAMDX              = PFN_vkCmdDispatchGraphAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphAMDX" ) );
20202       vkCmdDispatchGraphIndirectAMDX      = PFN_vkCmdDispatchGraphIndirectAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectAMDX" ) );
20203       vkCmdDispatchGraphIndirectCountAMDX = PFN_vkCmdDispatchGraphIndirectCountAMDX( vkGetDeviceProcAddr( device, "vkCmdDispatchGraphIndirectCountAMDX" ) );
20204 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20205 
20206       //=== VK_EXT_sample_locations ===
20207       vkCmdSetSampleLocationsEXT = PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
20208 
20209       //=== VK_KHR_get_memory_requirements2 ===
20210       vkGetImageMemoryRequirements2KHR = PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
20211       if ( !vkGetImageMemoryRequirements2 )
20212         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
20213       vkGetBufferMemoryRequirements2KHR = PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
20214       if ( !vkGetBufferMemoryRequirements2 )
20215         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
20216       vkGetImageSparseMemoryRequirements2KHR =
20217         PFN_vkGetImageSparseMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
20218       if ( !vkGetImageSparseMemoryRequirements2 )
20219         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
20220 
20221       //=== VK_KHR_acceleration_structure ===
20222       vkCreateAccelerationStructureKHR    = PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
20223       vkDestroyAccelerationStructureKHR   = PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
20224       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
20225       vkCmdBuildAccelerationStructuresIndirectKHR =
20226         PFN_vkCmdBuildAccelerationStructuresIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
20227       vkBuildAccelerationStructuresKHR = PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
20228       vkCopyAccelerationStructureKHR   = PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
20229       vkCopyAccelerationStructureToMemoryKHR =
20230         PFN_vkCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
20231       vkCopyMemoryToAccelerationStructureKHR =
20232         PFN_vkCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
20233       vkWriteAccelerationStructuresPropertiesKHR =
20234         PFN_vkWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
20235       vkCmdCopyAccelerationStructureKHR = PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
20236       vkCmdCopyAccelerationStructureToMemoryKHR =
20237         PFN_vkCmdCopyAccelerationStructureToMemoryKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
20238       vkCmdCopyMemoryToAccelerationStructureKHR =
20239         PFN_vkCmdCopyMemoryToAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
20240       vkGetAccelerationStructureDeviceAddressKHR =
20241         PFN_vkGetAccelerationStructureDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
20242       vkCmdWriteAccelerationStructuresPropertiesKHR =
20243         PFN_vkCmdWriteAccelerationStructuresPropertiesKHR( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
20244       vkGetDeviceAccelerationStructureCompatibilityKHR =
20245         PFN_vkGetDeviceAccelerationStructureCompatibilityKHR( vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
20246       vkGetAccelerationStructureBuildSizesKHR =
20247         PFN_vkGetAccelerationStructureBuildSizesKHR( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
20248 
20249       //=== VK_KHR_ray_tracing_pipeline ===
20250       vkCmdTraceRaysKHR                    = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
20251       vkCreateRayTracingPipelinesKHR       = PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
20252       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
20253       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
20254         PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
20255       vkCmdTraceRaysIndirectKHR = PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
20256       vkGetRayTracingShaderGroupStackSizeKHR =
20257         PFN_vkGetRayTracingShaderGroupStackSizeKHR( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
20258       vkCmdSetRayTracingPipelineStackSizeKHR =
20259         PFN_vkCmdSetRayTracingPipelineStackSizeKHR( vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
20260 
20261       //=== VK_KHR_sampler_ycbcr_conversion ===
20262       vkCreateSamplerYcbcrConversionKHR = PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
20263       if ( !vkCreateSamplerYcbcrConversion )
20264         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
20265       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
20266       if ( !vkDestroySamplerYcbcrConversion )
20267         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
20268 
20269       //=== VK_KHR_bind_memory2 ===
20270       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
20271       if ( !vkBindBufferMemory2 )
20272         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
20273       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
20274       if ( !vkBindImageMemory2 )
20275         vkBindImageMemory2 = vkBindImageMemory2KHR;
20276 
20277       //=== VK_EXT_image_drm_format_modifier ===
20278       vkGetImageDrmFormatModifierPropertiesEXT =
20279         PFN_vkGetImageDrmFormatModifierPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
20280 
20281       //=== VK_EXT_validation_cache ===
20282       vkCreateValidationCacheEXT  = PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
20283       vkDestroyValidationCacheEXT = PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
20284       vkMergeValidationCachesEXT  = PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
20285       vkGetValidationCacheDataEXT = PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
20286 
20287       //=== VK_NV_shading_rate_image ===
20288       vkCmdBindShadingRateImageNV          = PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
20289       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
20290       vkCmdSetCoarseSampleOrderNV          = PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
20291 
20292       //=== VK_NV_ray_tracing ===
20293       vkCreateAccelerationStructureNV  = PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
20294       vkDestroyAccelerationStructureNV = PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
20295       vkGetAccelerationStructureMemoryRequirementsNV =
20296         PFN_vkGetAccelerationStructureMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
20297       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
20298       vkCmdBuildAccelerationStructureNV   = PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
20299       vkCmdCopyAccelerationStructureNV    = PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
20300       vkCmdTraceRaysNV                    = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
20301       vkCreateRayTracingPipelinesNV       = PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
20302       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
20303       if ( !vkGetRayTracingShaderGroupHandlesKHR )
20304         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
20305       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
20306       vkCmdWriteAccelerationStructuresPropertiesNV =
20307         PFN_vkCmdWriteAccelerationStructuresPropertiesNV( vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
20308       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
20309 
20310       //=== VK_KHR_maintenance3 ===
20311       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
20312       if ( !vkGetDescriptorSetLayoutSupport )
20313         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
20314 
20315       //=== VK_KHR_draw_indirect_count ===
20316       vkCmdDrawIndirectCountKHR = PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
20317       if ( !vkCmdDrawIndirectCount )
20318         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
20319       vkCmdDrawIndexedIndirectCountKHR = PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
20320       if ( !vkCmdDrawIndexedIndirectCount )
20321         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
20322 
20323       //=== VK_EXT_external_memory_host ===
20324       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
20325 
20326       //=== VK_AMD_buffer_marker ===
20327       vkCmdWriteBufferMarkerAMD = PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
20328 
20329       //=== VK_EXT_calibrated_timestamps ===
20330       vkGetCalibratedTimestampsEXT = PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
20331       if ( !vkGetCalibratedTimestampsKHR )
20332         vkGetCalibratedTimestampsKHR = vkGetCalibratedTimestampsEXT;
20333 
20334       //=== VK_NV_mesh_shader ===
20335       vkCmdDrawMeshTasksNV              = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
20336       vkCmdDrawMeshTasksIndirectNV      = PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
20337       vkCmdDrawMeshTasksIndirectCountNV = PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
20338 
20339       //=== VK_NV_scissor_exclusive ===
20340       vkCmdSetExclusiveScissorEnableNV = PFN_vkCmdSetExclusiveScissorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" ) );
20341       vkCmdSetExclusiveScissorNV       = PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
20342 
20343       //=== VK_NV_device_diagnostic_checkpoints ===
20344       vkCmdSetCheckpointNV       = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
20345       vkGetQueueCheckpointDataNV = PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
20346 
20347       //=== VK_KHR_timeline_semaphore ===
20348       vkGetSemaphoreCounterValueKHR = PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
20349       if ( !vkGetSemaphoreCounterValue )
20350         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
20351       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
20352       if ( !vkWaitSemaphores )
20353         vkWaitSemaphores = vkWaitSemaphoresKHR;
20354       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
20355       if ( !vkSignalSemaphore )
20356         vkSignalSemaphore = vkSignalSemaphoreKHR;
20357 
20358       //=== VK_INTEL_performance_query ===
20359       vkInitializePerformanceApiINTEL      = PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
20360       vkUninitializePerformanceApiINTEL    = PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
20361       vkCmdSetPerformanceMarkerINTEL       = PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
20362       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
20363       vkCmdSetPerformanceOverrideINTEL     = PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
20364       vkAcquirePerformanceConfigurationINTEL =
20365         PFN_vkAcquirePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
20366       vkReleasePerformanceConfigurationINTEL =
20367         PFN_vkReleasePerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
20368       vkQueueSetPerformanceConfigurationINTEL =
20369         PFN_vkQueueSetPerformanceConfigurationINTEL( vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
20370       vkGetPerformanceParameterINTEL = PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
20371 
20372       //=== VK_AMD_display_native_hdr ===
20373       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
20374 
20375       //=== VK_KHR_fragment_shading_rate ===
20376       vkCmdSetFragmentShadingRateKHR = PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
20377 
20378       //=== VK_KHR_dynamic_rendering_local_read ===
20379       vkCmdSetRenderingAttachmentLocationsKHR =
20380         PFN_vkCmdSetRenderingAttachmentLocationsKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingAttachmentLocationsKHR" ) );
20381       if ( !vkCmdSetRenderingAttachmentLocations )
20382         vkCmdSetRenderingAttachmentLocations = vkCmdSetRenderingAttachmentLocationsKHR;
20383       vkCmdSetRenderingInputAttachmentIndicesKHR =
20384         PFN_vkCmdSetRenderingInputAttachmentIndicesKHR( vkGetDeviceProcAddr( device, "vkCmdSetRenderingInputAttachmentIndicesKHR" ) );
20385       if ( !vkCmdSetRenderingInputAttachmentIndices )
20386         vkCmdSetRenderingInputAttachmentIndices = vkCmdSetRenderingInputAttachmentIndicesKHR;
20387 
20388       //=== VK_EXT_buffer_device_address ===
20389       vkGetBufferDeviceAddressEXT = PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
20390       if ( !vkGetBufferDeviceAddress )
20391         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
20392 
20393       //=== VK_KHR_present_wait ===
20394       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
20395 
20396 #if defined( VK_USE_PLATFORM_WIN32_KHR )
20397       //=== VK_EXT_full_screen_exclusive ===
20398       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
20399       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
20400       vkGetDeviceGroupSurfacePresentModes2EXT =
20401         PFN_vkGetDeviceGroupSurfacePresentModes2EXT( vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
20402 #endif /*VK_USE_PLATFORM_WIN32_KHR*/
20403 
20404       //=== VK_KHR_buffer_device_address ===
20405       vkGetBufferDeviceAddressKHR = PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
20406       if ( !vkGetBufferDeviceAddress )
20407         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
20408       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
20409       if ( !vkGetBufferOpaqueCaptureAddress )
20410         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
20411       vkGetDeviceMemoryOpaqueCaptureAddressKHR =
20412         PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
20413       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
20414         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
20415 
20416       //=== VK_EXT_line_rasterization ===
20417       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
20418       if ( !vkCmdSetLineStipple )
20419         vkCmdSetLineStipple = vkCmdSetLineStippleEXT;
20420 
20421       //=== VK_EXT_host_query_reset ===
20422       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
20423       if ( !vkResetQueryPool )
20424         vkResetQueryPool = vkResetQueryPoolEXT;
20425 
20426       //=== VK_EXT_extended_dynamic_state ===
20427       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
20428       if ( !vkCmdSetCullMode )
20429         vkCmdSetCullMode = vkCmdSetCullModeEXT;
20430       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
20431       if ( !vkCmdSetFrontFace )
20432         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
20433       vkCmdSetPrimitiveTopologyEXT = PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
20434       if ( !vkCmdSetPrimitiveTopology )
20435         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
20436       vkCmdSetViewportWithCountEXT = PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
20437       if ( !vkCmdSetViewportWithCount )
20438         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
20439       vkCmdSetScissorWithCountEXT = PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
20440       if ( !vkCmdSetScissorWithCount )
20441         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
20442       vkCmdBindVertexBuffers2EXT = PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
20443       if ( !vkCmdBindVertexBuffers2 )
20444         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
20445       vkCmdSetDepthTestEnableEXT = PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
20446       if ( !vkCmdSetDepthTestEnable )
20447         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
20448       vkCmdSetDepthWriteEnableEXT = PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
20449       if ( !vkCmdSetDepthWriteEnable )
20450         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
20451       vkCmdSetDepthCompareOpEXT = PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
20452       if ( !vkCmdSetDepthCompareOp )
20453         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
20454       vkCmdSetDepthBoundsTestEnableEXT = PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
20455       if ( !vkCmdSetDepthBoundsTestEnable )
20456         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
20457       vkCmdSetStencilTestEnableEXT = PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
20458       if ( !vkCmdSetStencilTestEnable )
20459         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
20460       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
20461       if ( !vkCmdSetStencilOp )
20462         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
20463 
20464       //=== VK_KHR_deferred_host_operations ===
20465       vkCreateDeferredOperationKHR  = PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
20466       vkDestroyDeferredOperationKHR = PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
20467       vkGetDeferredOperationMaxConcurrencyKHR =
20468         PFN_vkGetDeferredOperationMaxConcurrencyKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
20469       vkGetDeferredOperationResultKHR = PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
20470       vkDeferredOperationJoinKHR      = PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
20471 
20472       //=== VK_KHR_pipeline_executable_properties ===
20473       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
20474       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
20475       vkGetPipelineExecutableInternalRepresentationsKHR =
20476         PFN_vkGetPipelineExecutableInternalRepresentationsKHR( vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
20477 
20478       //=== VK_EXT_host_image_copy ===
20479       vkCopyMemoryToImageEXT = PFN_vkCopyMemoryToImageEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToImageEXT" ) );
20480       if ( !vkCopyMemoryToImage )
20481         vkCopyMemoryToImage = vkCopyMemoryToImageEXT;
20482       vkCopyImageToMemoryEXT = PFN_vkCopyImageToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyImageToMemoryEXT" ) );
20483       if ( !vkCopyImageToMemory )
20484         vkCopyImageToMemory = vkCopyImageToMemoryEXT;
20485       vkCopyImageToImageEXT = PFN_vkCopyImageToImageEXT( vkGetDeviceProcAddr( device, "vkCopyImageToImageEXT" ) );
20486       if ( !vkCopyImageToImage )
20487         vkCopyImageToImage = vkCopyImageToImageEXT;
20488       vkTransitionImageLayoutEXT = PFN_vkTransitionImageLayoutEXT( vkGetDeviceProcAddr( device, "vkTransitionImageLayoutEXT" ) );
20489       if ( !vkTransitionImageLayout )
20490         vkTransitionImageLayout = vkTransitionImageLayoutEXT;
20491       vkGetImageSubresourceLayout2EXT = PFN_vkGetImageSubresourceLayout2EXT( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" ) );
20492       if ( !vkGetImageSubresourceLayout2 )
20493         vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2EXT;
20494 
20495       //=== VK_KHR_map_memory2 ===
20496       vkMapMemory2KHR = PFN_vkMapMemory2KHR( vkGetDeviceProcAddr( device, "vkMapMemory2KHR" ) );
20497       if ( !vkMapMemory2 )
20498         vkMapMemory2 = vkMapMemory2KHR;
20499       vkUnmapMemory2KHR = PFN_vkUnmapMemory2KHR( vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" ) );
20500       if ( !vkUnmapMemory2 )
20501         vkUnmapMemory2 = vkUnmapMemory2KHR;
20502 
20503       //=== VK_EXT_swapchain_maintenance1 ===
20504       vkReleaseSwapchainImagesEXT = PFN_vkReleaseSwapchainImagesEXT( vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" ) );
20505 
20506       //=== VK_NV_device_generated_commands ===
20507       vkGetGeneratedCommandsMemoryRequirementsNV =
20508         PFN_vkGetGeneratedCommandsMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
20509       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
20510       vkCmdExecuteGeneratedCommandsNV    = PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
20511       vkCmdBindPipelineShaderGroupNV     = PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
20512       vkCreateIndirectCommandsLayoutNV   = PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
20513       vkDestroyIndirectCommandsLayoutNV  = PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
20514 
20515       //=== VK_EXT_depth_bias_control ===
20516       vkCmdSetDepthBias2EXT = PFN_vkCmdSetDepthBias2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias2EXT" ) );
20517 
20518       //=== VK_EXT_private_data ===
20519       vkCreatePrivateDataSlotEXT = PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
20520       if ( !vkCreatePrivateDataSlot )
20521         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
20522       vkDestroyPrivateDataSlotEXT = PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
20523       if ( !vkDestroyPrivateDataSlot )
20524         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
20525       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
20526       if ( !vkSetPrivateData )
20527         vkSetPrivateData = vkSetPrivateDataEXT;
20528       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
20529       if ( !vkGetPrivateData )
20530         vkGetPrivateData = vkGetPrivateDataEXT;
20531 
20532       //=== VK_KHR_video_encode_queue ===
20533       vkGetEncodedVideoSessionParametersKHR =
20534         PFN_vkGetEncodedVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkGetEncodedVideoSessionParametersKHR" ) );
20535       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
20536 
20537 #if defined( VK_ENABLE_BETA_EXTENSIONS )
20538       //=== VK_NV_cuda_kernel_launch ===
20539       vkCreateCudaModuleNV    = PFN_vkCreateCudaModuleNV( vkGetDeviceProcAddr( device, "vkCreateCudaModuleNV" ) );
20540       vkGetCudaModuleCacheNV  = PFN_vkGetCudaModuleCacheNV( vkGetDeviceProcAddr( device, "vkGetCudaModuleCacheNV" ) );
20541       vkCreateCudaFunctionNV  = PFN_vkCreateCudaFunctionNV( vkGetDeviceProcAddr( device, "vkCreateCudaFunctionNV" ) );
20542       vkDestroyCudaModuleNV   = PFN_vkDestroyCudaModuleNV( vkGetDeviceProcAddr( device, "vkDestroyCudaModuleNV" ) );
20543       vkDestroyCudaFunctionNV = PFN_vkDestroyCudaFunctionNV( vkGetDeviceProcAddr( device, "vkDestroyCudaFunctionNV" ) );
20544       vkCmdCudaLaunchKernelNV = PFN_vkCmdCudaLaunchKernelNV( vkGetDeviceProcAddr( device, "vkCmdCudaLaunchKernelNV" ) );
20545 #endif /*VK_ENABLE_BETA_EXTENSIONS*/
20546 
20547 #if defined( VK_USE_PLATFORM_METAL_EXT )
20548       //=== VK_EXT_metal_objects ===
20549       vkExportMetalObjectsEXT = PFN_vkExportMetalObjectsEXT( vkGetDeviceProcAddr( device, "vkExportMetalObjectsEXT" ) );
20550 #endif /*VK_USE_PLATFORM_METAL_EXT*/
20551 
20552       //=== VK_KHR_synchronization2 ===
20553       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
20554       if ( !vkCmdSetEvent2 )
20555         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
20556       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
20557       if ( !vkCmdResetEvent2 )
20558         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
20559       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
20560       if ( !vkCmdWaitEvents2 )
20561         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
20562       vkCmdPipelineBarrier2KHR = PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
20563       if ( !vkCmdPipelineBarrier2 )
20564         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
20565       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
20566       if ( !vkCmdWriteTimestamp2 )
20567         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
20568       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
20569       if ( !vkQueueSubmit2 )
20570         vkQueueSubmit2 = vkQueueSubmit2KHR;
20571       vkCmdWriteBufferMarker2AMD  = PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
20572       vkGetQueueCheckpointData2NV = PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
20573 
20574       //=== VK_EXT_descriptor_buffer ===
20575       vkGetDescriptorSetLayoutSizeEXT = PFN_vkGetDescriptorSetLayoutSizeEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" ) );
20576       vkGetDescriptorSetLayoutBindingOffsetEXT =
20577         PFN_vkGetDescriptorSetLayoutBindingOffsetEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" ) );
20578       vkGetDescriptorEXT                 = PFN_vkGetDescriptorEXT( vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" ) );
20579       vkCmdBindDescriptorBuffersEXT      = PFN_vkCmdBindDescriptorBuffersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" ) );
20580       vkCmdSetDescriptorBufferOffsetsEXT = PFN_vkCmdSetDescriptorBufferOffsetsEXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" ) );
20581       vkCmdBindDescriptorBufferEmbeddedSamplersEXT =
20582         PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" ) );
20583       vkGetBufferOpaqueCaptureDescriptorDataEXT =
20584         PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" ) );
20585       vkGetImageOpaqueCaptureDescriptorDataEXT =
20586         PFN_vkGetImageOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" ) );
20587       vkGetImageViewOpaqueCaptureDescriptorDataEXT =
20588         PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" ) );
20589       vkGetSamplerOpaqueCaptureDescriptorDataEXT =
20590         PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" ) );
20591       vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT(
20592         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" ) );
20593 
20594       //=== VK_NV_fragment_shading_rate_enums ===
20595       vkCmdSetFragmentShadingRateEnumNV = PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
20596 
20597       //=== VK_EXT_mesh_shader ===
20598       vkCmdDrawMeshTasksEXT              = PFN_vkCmdDrawMeshTasksEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" ) );
20599       vkCmdDrawMeshTasksIndirectEXT      = PFN_vkCmdDrawMeshTasksIndirectEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" ) );
20600       vkCmdDrawMeshTasksIndirectCountEXT = PFN_vkCmdDrawMeshTasksIndirectCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" ) );
20601 
20602       //=== VK_KHR_copy_commands2 ===
20603       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
20604       if ( !vkCmdCopyBuffer2 )
20605         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
20606       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
20607       if ( !vkCmdCopyImage2 )
20608         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
20609       vkCmdCopyBufferToImage2KHR = PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
20610       if ( !vkCmdCopyBufferToImage2 )
20611         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
20612       vkCmdCopyImageToBuffer2KHR = PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
20613       if ( !vkCmdCopyImageToBuffer2 )
20614         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
20615       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
20616       if ( !vkCmdBlitImage2 )
20617         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
20618       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
20619       if ( !vkCmdResolveImage2 )
20620         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
20621 
20622       //=== VK_EXT_device_fault ===
20623       vkGetDeviceFaultInfoEXT = PFN_vkGetDeviceFaultInfoEXT( vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" ) );
20624 
20625       //=== VK_EXT_vertex_input_dynamic_state ===
20626       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
20627 
20628 #if defined( VK_USE_PLATFORM_FUCHSIA )
20629       //=== VK_FUCHSIA_external_memory ===
20630       vkGetMemoryZirconHandleFUCHSIA = PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
20631       vkGetMemoryZirconHandlePropertiesFUCHSIA =
20632         PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
20633 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20634 
20635 #if defined( VK_USE_PLATFORM_FUCHSIA )
20636       //=== VK_FUCHSIA_external_semaphore ===
20637       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
20638       vkGetSemaphoreZirconHandleFUCHSIA    = PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
20639 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20640 
20641 #if defined( VK_USE_PLATFORM_FUCHSIA )
20642       //=== VK_FUCHSIA_buffer_collection ===
20643       vkCreateBufferCollectionFUCHSIA = PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
20644       vkSetBufferCollectionImageConstraintsFUCHSIA =
20645         PFN_vkSetBufferCollectionImageConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
20646       vkSetBufferCollectionBufferConstraintsFUCHSIA =
20647         PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA( vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
20648       vkDestroyBufferCollectionFUCHSIA = PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
20649       vkGetBufferCollectionPropertiesFUCHSIA =
20650         PFN_vkGetBufferCollectionPropertiesFUCHSIA( vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
20651 #endif /*VK_USE_PLATFORM_FUCHSIA*/
20652 
20653       //=== VK_HUAWEI_subpass_shading ===
20654       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI =
20655         PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
20656       vkCmdSubpassShadingHUAWEI = PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
20657 
20658       //=== VK_HUAWEI_invocation_mask ===
20659       vkCmdBindInvocationMaskHUAWEI = PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
20660 
20661       //=== VK_NV_external_memory_rdma ===
20662       vkGetMemoryRemoteAddressNV = PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
20663 
20664       //=== VK_EXT_pipeline_properties ===
20665       vkGetPipelinePropertiesEXT = PFN_vkGetPipelinePropertiesEXT( vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" ) );
20666 
20667       //=== VK_EXT_extended_dynamic_state2 ===
20668       vkCmdSetPatchControlPointsEXT      = PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
20669       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
20670       if ( !vkCmdSetRasterizerDiscardEnable )
20671         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
20672       vkCmdSetDepthBiasEnableEXT = PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
20673       if ( !vkCmdSetDepthBiasEnable )
20674         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
20675       vkCmdSetLogicOpEXT                = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
20676       vkCmdSetPrimitiveRestartEnableEXT = PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
20677       if ( !vkCmdSetPrimitiveRestartEnable )
20678         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
20679 
20680       //=== VK_EXT_color_write_enable ===
20681       vkCmdSetColorWriteEnableEXT = PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
20682 
20683       //=== VK_KHR_ray_tracing_maintenance1 ===
20684       vkCmdTraceRaysIndirect2KHR = PFN_vkCmdTraceRaysIndirect2KHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" ) );
20685 
20686       //=== VK_EXT_multi_draw ===
20687       vkCmdDrawMultiEXT        = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
20688       vkCmdDrawMultiIndexedEXT = PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
20689 
20690       //=== VK_EXT_opacity_micromap ===
20691       vkCreateMicromapEXT                 = PFN_vkCreateMicromapEXT( vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" ) );
20692       vkDestroyMicromapEXT                = PFN_vkDestroyMicromapEXT( vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" ) );
20693       vkCmdBuildMicromapsEXT              = PFN_vkCmdBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" ) );
20694       vkBuildMicromapsEXT                 = PFN_vkBuildMicromapsEXT( vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" ) );
20695       vkCopyMicromapEXT                   = PFN_vkCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" ) );
20696       vkCopyMicromapToMemoryEXT           = PFN_vkCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" ) );
20697       vkCopyMemoryToMicromapEXT           = PFN_vkCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" ) );
20698       vkWriteMicromapsPropertiesEXT       = PFN_vkWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" ) );
20699       vkCmdCopyMicromapEXT                = PFN_vkCmdCopyMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" ) );
20700       vkCmdCopyMicromapToMemoryEXT        = PFN_vkCmdCopyMicromapToMemoryEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" ) );
20701       vkCmdCopyMemoryToMicromapEXT        = PFN_vkCmdCopyMemoryToMicromapEXT( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" ) );
20702       vkCmdWriteMicromapsPropertiesEXT    = PFN_vkCmdWriteMicromapsPropertiesEXT( vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" ) );
20703       vkGetDeviceMicromapCompatibilityEXT = PFN_vkGetDeviceMicromapCompatibilityEXT( vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" ) );
20704       vkGetMicromapBuildSizesEXT          = PFN_vkGetMicromapBuildSizesEXT( vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" ) );
20705 
20706       //=== VK_HUAWEI_cluster_culling_shader ===
20707       vkCmdDrawClusterHUAWEI         = PFN_vkCmdDrawClusterHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" ) );
20708       vkCmdDrawClusterIndirectHUAWEI = PFN_vkCmdDrawClusterIndirectHUAWEI( vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" ) );
20709 
20710       //=== VK_EXT_pageable_device_local_memory ===
20711       vkSetDeviceMemoryPriorityEXT = PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
20712 
20713       //=== VK_KHR_maintenance4 ===
20714       vkGetDeviceBufferMemoryRequirementsKHR =
20715         PFN_vkGetDeviceBufferMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
20716       if ( !vkGetDeviceBufferMemoryRequirements )
20717         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
20718       vkGetDeviceImageMemoryRequirementsKHR =
20719         PFN_vkGetDeviceImageMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
20720       if ( !vkGetDeviceImageMemoryRequirements )
20721         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
20722       vkGetDeviceImageSparseMemoryRequirementsKHR =
20723         PFN_vkGetDeviceImageSparseMemoryRequirementsKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
20724       if ( !vkGetDeviceImageSparseMemoryRequirements )
20725         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
20726 
20727       //=== VK_VALVE_descriptor_set_host_mapping ===
20728       vkGetDescriptorSetLayoutHostMappingInfoVALVE =
20729         PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" ) );
20730       vkGetDescriptorSetHostMappingVALVE = PFN_vkGetDescriptorSetHostMappingVALVE( vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" ) );
20731 
20732       //=== VK_NV_copy_memory_indirect ===
20733       vkCmdCopyMemoryIndirectNV        = PFN_vkCmdCopyMemoryIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" ) );
20734       vkCmdCopyMemoryToImageIndirectNV = PFN_vkCmdCopyMemoryToImageIndirectNV( vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" ) );
20735 
20736       //=== VK_NV_memory_decompression ===
20737       vkCmdDecompressMemoryNV              = PFN_vkCmdDecompressMemoryNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" ) );
20738       vkCmdDecompressMemoryIndirectCountNV = PFN_vkCmdDecompressMemoryIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" ) );
20739 
20740       //=== VK_NV_device_generated_commands_compute ===
20741       vkGetPipelineIndirectMemoryRequirementsNV =
20742         PFN_vkGetPipelineIndirectMemoryRequirementsNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectMemoryRequirementsNV" ) );
20743       vkCmdUpdatePipelineIndirectBufferNV  = PFN_vkCmdUpdatePipelineIndirectBufferNV( vkGetDeviceProcAddr( device, "vkCmdUpdatePipelineIndirectBufferNV" ) );
20744       vkGetPipelineIndirectDeviceAddressNV = PFN_vkGetPipelineIndirectDeviceAddressNV( vkGetDeviceProcAddr( device, "vkGetPipelineIndirectDeviceAddressNV" ) );
20745 
20746       //=== VK_EXT_extended_dynamic_state3 ===
20747       vkCmdSetDepthClampEnableEXT         = PFN_vkCmdSetDepthClampEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" ) );
20748       vkCmdSetPolygonModeEXT              = PFN_vkCmdSetPolygonModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" ) );
20749       vkCmdSetRasterizationSamplesEXT     = PFN_vkCmdSetRasterizationSamplesEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" ) );
20750       vkCmdSetSampleMaskEXT               = PFN_vkCmdSetSampleMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" ) );
20751       vkCmdSetAlphaToCoverageEnableEXT    = PFN_vkCmdSetAlphaToCoverageEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" ) );
20752       vkCmdSetAlphaToOneEnableEXT         = PFN_vkCmdSetAlphaToOneEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" ) );
20753       vkCmdSetLogicOpEnableEXT            = PFN_vkCmdSetLogicOpEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" ) );
20754       vkCmdSetColorBlendEnableEXT         = PFN_vkCmdSetColorBlendEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" ) );
20755       vkCmdSetColorBlendEquationEXT       = PFN_vkCmdSetColorBlendEquationEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" ) );
20756       vkCmdSetColorWriteMaskEXT           = PFN_vkCmdSetColorWriteMaskEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" ) );
20757       vkCmdSetTessellationDomainOriginEXT = PFN_vkCmdSetTessellationDomainOriginEXT( vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" ) );
20758       vkCmdSetRasterizationStreamEXT      = PFN_vkCmdSetRasterizationStreamEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" ) );
20759       vkCmdSetConservativeRasterizationModeEXT =
20760         PFN_vkCmdSetConservativeRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" ) );
20761       vkCmdSetExtraPrimitiveOverestimationSizeEXT =
20762         PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT( vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" ) );
20763       vkCmdSetDepthClipEnableEXT           = PFN_vkCmdSetDepthClipEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" ) );
20764       vkCmdSetSampleLocationsEnableEXT     = PFN_vkCmdSetSampleLocationsEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" ) );
20765       vkCmdSetColorBlendAdvancedEXT        = PFN_vkCmdSetColorBlendAdvancedEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" ) );
20766       vkCmdSetProvokingVertexModeEXT       = PFN_vkCmdSetProvokingVertexModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" ) );
20767       vkCmdSetLineRasterizationModeEXT     = PFN_vkCmdSetLineRasterizationModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" ) );
20768       vkCmdSetLineStippleEnableEXT         = PFN_vkCmdSetLineStippleEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" ) );
20769       vkCmdSetDepthClipNegativeOneToOneEXT = PFN_vkCmdSetDepthClipNegativeOneToOneEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" ) );
20770       vkCmdSetViewportWScalingEnableNV     = PFN_vkCmdSetViewportWScalingEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" ) );
20771       vkCmdSetViewportSwizzleNV            = PFN_vkCmdSetViewportSwizzleNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" ) );
20772       vkCmdSetCoverageToColorEnableNV      = PFN_vkCmdSetCoverageToColorEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" ) );
20773       vkCmdSetCoverageToColorLocationNV    = PFN_vkCmdSetCoverageToColorLocationNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" ) );
20774       vkCmdSetCoverageModulationModeNV     = PFN_vkCmdSetCoverageModulationModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" ) );
20775       vkCmdSetCoverageModulationTableEnableNV =
20776         PFN_vkCmdSetCoverageModulationTableEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" ) );
20777       vkCmdSetCoverageModulationTableNV = PFN_vkCmdSetCoverageModulationTableNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" ) );
20778       vkCmdSetShadingRateImageEnableNV  = PFN_vkCmdSetShadingRateImageEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" ) );
20779       vkCmdSetRepresentativeFragmentTestEnableNV =
20780         PFN_vkCmdSetRepresentativeFragmentTestEnableNV( vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" ) );
20781       vkCmdSetCoverageReductionModeNV = PFN_vkCmdSetCoverageReductionModeNV( vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" ) );
20782 
20783       //=== VK_EXT_shader_module_identifier ===
20784       vkGetShaderModuleIdentifierEXT = PFN_vkGetShaderModuleIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" ) );
20785       vkGetShaderModuleCreateInfoIdentifierEXT =
20786         PFN_vkGetShaderModuleCreateInfoIdentifierEXT( vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" ) );
20787 
20788       //=== VK_NV_optical_flow ===
20789       vkCreateOpticalFlowSessionNV    = PFN_vkCreateOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" ) );
20790       vkDestroyOpticalFlowSessionNV   = PFN_vkDestroyOpticalFlowSessionNV( vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" ) );
20791       vkBindOpticalFlowSessionImageNV = PFN_vkBindOpticalFlowSessionImageNV( vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" ) );
20792       vkCmdOpticalFlowExecuteNV       = PFN_vkCmdOpticalFlowExecuteNV( vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" ) );
20793 
20794       //=== VK_KHR_maintenance5 ===
20795       vkCmdBindIndexBuffer2KHR = PFN_vkCmdBindIndexBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer2KHR" ) );
20796       if ( !vkCmdBindIndexBuffer2 )
20797         vkCmdBindIndexBuffer2 = vkCmdBindIndexBuffer2KHR;
20798       vkGetRenderingAreaGranularityKHR = PFN_vkGetRenderingAreaGranularityKHR( vkGetDeviceProcAddr( device, "vkGetRenderingAreaGranularityKHR" ) );
20799       if ( !vkGetRenderingAreaGranularity )
20800         vkGetRenderingAreaGranularity = vkGetRenderingAreaGranularityKHR;
20801       vkGetDeviceImageSubresourceLayoutKHR = PFN_vkGetDeviceImageSubresourceLayoutKHR( vkGetDeviceProcAddr( device, "vkGetDeviceImageSubresourceLayoutKHR" ) );
20802       if ( !vkGetDeviceImageSubresourceLayout )
20803         vkGetDeviceImageSubresourceLayout = vkGetDeviceImageSubresourceLayoutKHR;
20804       vkGetImageSubresourceLayout2KHR = PFN_vkGetImageSubresourceLayout2KHR( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2KHR" ) );
20805       if ( !vkGetImageSubresourceLayout2 )
20806         vkGetImageSubresourceLayout2 = vkGetImageSubresourceLayout2KHR;
20807 
20808       //=== VK_AMD_anti_lag ===
20809       vkAntiLagUpdateAMD = PFN_vkAntiLagUpdateAMD( vkGetDeviceProcAddr( device, "vkAntiLagUpdateAMD" ) );
20810 
20811       //=== VK_EXT_shader_object ===
20812       vkCreateShadersEXT       = PFN_vkCreateShadersEXT( vkGetDeviceProcAddr( device, "vkCreateShadersEXT" ) );
20813       vkDestroyShaderEXT       = PFN_vkDestroyShaderEXT( vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" ) );
20814       vkGetShaderBinaryDataEXT = PFN_vkGetShaderBinaryDataEXT( vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" ) );
20815       vkCmdBindShadersEXT      = PFN_vkCmdBindShadersEXT( vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" ) );
20816 
20817       //=== VK_KHR_pipeline_binary ===
20818       vkCreatePipelineBinariesKHR      = PFN_vkCreatePipelineBinariesKHR( vkGetDeviceProcAddr( device, "vkCreatePipelineBinariesKHR" ) );
20819       vkDestroyPipelineBinaryKHR       = PFN_vkDestroyPipelineBinaryKHR( vkGetDeviceProcAddr( device, "vkDestroyPipelineBinaryKHR" ) );
20820       vkGetPipelineKeyKHR              = PFN_vkGetPipelineKeyKHR( vkGetDeviceProcAddr( device, "vkGetPipelineKeyKHR" ) );
20821       vkGetPipelineBinaryDataKHR       = PFN_vkGetPipelineBinaryDataKHR( vkGetDeviceProcAddr( device, "vkGetPipelineBinaryDataKHR" ) );
20822       vkReleaseCapturedPipelineDataKHR = PFN_vkReleaseCapturedPipelineDataKHR( vkGetDeviceProcAddr( device, "vkReleaseCapturedPipelineDataKHR" ) );
20823 
20824       //=== VK_QCOM_tile_properties ===
20825       vkGetFramebufferTilePropertiesQCOM = PFN_vkGetFramebufferTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" ) );
20826       vkGetDynamicRenderingTilePropertiesQCOM =
20827         PFN_vkGetDynamicRenderingTilePropertiesQCOM( vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" ) );
20828 
20829       //=== VK_NV_low_latency2 ===
20830       vkSetLatencySleepModeNV  = PFN_vkSetLatencySleepModeNV( vkGetDeviceProcAddr( device, "vkSetLatencySleepModeNV" ) );
20831       vkLatencySleepNV         = PFN_vkLatencySleepNV( vkGetDeviceProcAddr( device, "vkLatencySleepNV" ) );
20832       vkSetLatencyMarkerNV     = PFN_vkSetLatencyMarkerNV( vkGetDeviceProcAddr( device, "vkSetLatencyMarkerNV" ) );
20833       vkGetLatencyTimingsNV    = PFN_vkGetLatencyTimingsNV( vkGetDeviceProcAddr( device, "vkGetLatencyTimingsNV" ) );
20834       vkQueueNotifyOutOfBandNV = PFN_vkQueueNotifyOutOfBandNV( vkGetDeviceProcAddr( device, "vkQueueNotifyOutOfBandNV" ) );
20835 
20836       //=== VK_EXT_attachment_feedback_loop_dynamic_state ===
20837       vkCmdSetAttachmentFeedbackLoopEnableEXT =
20838         PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetAttachmentFeedbackLoopEnableEXT" ) );
20839 
20840 #if defined( VK_USE_PLATFORM_SCREEN_QNX )
20841       //=== VK_QNX_external_memory_screen_buffer ===
20842       vkGetScreenBufferPropertiesQNX = PFN_vkGetScreenBufferPropertiesQNX( vkGetDeviceProcAddr( device, "vkGetScreenBufferPropertiesQNX" ) );
20843 #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
20844 
20845       //=== VK_KHR_line_rasterization ===
20846       vkCmdSetLineStippleKHR = PFN_vkCmdSetLineStippleKHR( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleKHR" ) );
20847       if ( !vkCmdSetLineStipple )
20848         vkCmdSetLineStipple = vkCmdSetLineStippleKHR;
20849 
20850       //=== VK_KHR_calibrated_timestamps ===
20851       vkGetCalibratedTimestampsKHR = PFN_vkGetCalibratedTimestampsKHR( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsKHR" ) );
20852 
20853       //=== VK_KHR_maintenance6 ===
20854       vkCmdBindDescriptorSets2KHR = PFN_vkCmdBindDescriptorSets2KHR( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets2KHR" ) );
20855       if ( !vkCmdBindDescriptorSets2 )
20856         vkCmdBindDescriptorSets2 = vkCmdBindDescriptorSets2KHR;
20857       vkCmdPushConstants2KHR = PFN_vkCmdPushConstants2KHR( vkGetDeviceProcAddr( device, "vkCmdPushConstants2KHR" ) );
20858       if ( !vkCmdPushConstants2 )
20859         vkCmdPushConstants2 = vkCmdPushConstants2KHR;
20860       vkCmdPushDescriptorSet2KHR = PFN_vkCmdPushDescriptorSet2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSet2KHR" ) );
20861       if ( !vkCmdPushDescriptorSet2 )
20862         vkCmdPushDescriptorSet2 = vkCmdPushDescriptorSet2KHR;
20863       vkCmdPushDescriptorSetWithTemplate2KHR =
20864         PFN_vkCmdPushDescriptorSetWithTemplate2KHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplate2KHR" ) );
20865       if ( !vkCmdPushDescriptorSetWithTemplate2 )
20866         vkCmdPushDescriptorSetWithTemplate2 = vkCmdPushDescriptorSetWithTemplate2KHR;
20867       vkCmdSetDescriptorBufferOffsets2EXT = PFN_vkCmdSetDescriptorBufferOffsets2EXT( vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsets2EXT" ) );
20868       vkCmdBindDescriptorBufferEmbeddedSamplers2EXT =
20869         PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplers2EXT" ) );
20870     }
20871 
20872     template <typename DynamicLoader>
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device,DynamicLoader const & dl)20873     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device, DynamicLoader const & dl ) VULKAN_HPP_NOEXCEPT
20874     {
20875       PFN_vkGetInstanceProcAddr getInstanceProcAddr = dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
20876       PFN_vkGetDeviceProcAddr   getDeviceProcAddr   = dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
20877       init( static_cast<VkInstance>( instance ), getInstanceProcAddr, static_cast<VkDevice>( device ), device ? getDeviceProcAddr : nullptr );
20878     }
20879 
20880     template <typename DynamicLoader
20881 #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
20882               = VULKAN_HPP_NAMESPACE::DynamicLoader
20883 #endif
20884               >
init(VULKAN_HPP_NAMESPACE::Instance const & instance,VULKAN_HPP_NAMESPACE::Device const & device)20885     void init( VULKAN_HPP_NAMESPACE::Instance const & instance, VULKAN_HPP_NAMESPACE::Device const & device ) VULKAN_HPP_NOEXCEPT
20886     {
20887       static DynamicLoader dl;
20888       init( instance, device, dl );
20889     }
20890   };
20891 }  // namespace VULKAN_HPP_NAMESPACE
20892 #endif
20893