14825 lines
		
	
	
		
			606 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			14825 lines
		
	
	
		
			606 KiB
		
	
	
	
		
			C++
		
	
	
	
| // Copyright 2015-2021 The Khronos Group Inc.
 | |
| //
 | |
| // SPDX-License-Identifier: Apache-2.0 OR MIT
 | |
| //
 | |
| 
 | |
| // This header is generated from the Khronos Vulkan XML API Registry.
 | |
| 
 | |
| #ifndef VULKAN_HPP
 | |
| #define VULKAN_HPP
 | |
| 
 | |
| #if defined( _MSVC_LANG )
 | |
| #  define VULKAN_HPP_CPLUSPLUS _MSVC_LANG
 | |
| #else
 | |
| #  define VULKAN_HPP_CPLUSPLUS __cplusplus
 | |
| #endif
 | |
| 
 | |
| #if 201703L < VULKAN_HPP_CPLUSPLUS
 | |
| #  define VULKAN_HPP_CPP_VERSION 20
 | |
| #elif 201402L < VULKAN_HPP_CPLUSPLUS
 | |
| #  define VULKAN_HPP_CPP_VERSION 17
 | |
| #elif 201103L < VULKAN_HPP_CPLUSPLUS
 | |
| #  define VULKAN_HPP_CPP_VERSION 14
 | |
| #elif 199711L < VULKAN_HPP_CPLUSPLUS
 | |
| #  define VULKAN_HPP_CPP_VERSION 11
 | |
| #else
 | |
| #  error "vulkan.hpp needs at least c++ standard version 11"
 | |
| #endif
 | |
| 
 | |
| #include <algorithm>
 | |
| #include <array>
 | |
| #include <cstddef>
 | |
| #include <cstdint>
 | |
| #include <cstring>
 | |
| #include <functional>
 | |
| #include <initializer_list>
 | |
| #include <sstream>
 | |
| #include <string>
 | |
| #include <system_error>
 | |
| #include <tuple>
 | |
| #include <type_traits>
 | |
| #include <vulkan/vulkan.h>
 | |
| #if 17 <= VULKAN_HPP_CPP_VERSION
 | |
| #  include <string_view>
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
 | |
| #  if !defined( VULKAN_HPP_NO_SMART_HANDLE )
 | |
| #    define VULKAN_HPP_NO_SMART_HANDLE
 | |
| #  endif
 | |
| #else
 | |
| #  include <memory>
 | |
| #  include <vector>
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_NO_CONSTRUCTORS )
 | |
| #  if !defined( VULKAN_HPP_NO_STRUCT_CONSTRUCTORS )
 | |
| #    define VULKAN_HPP_NO_STRUCT_CONSTRUCTORS
 | |
| #  endif
 | |
| #  if !defined( VULKAN_HPP_NO_UNION_CONSTRUCTORS )
 | |
| #    define VULKAN_HPP_NO_UNION_CONSTRUCTORS
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_NO_SETTERS )
 | |
| #  if !defined( VULKAN_HPP_NO_STRUCT_SETTERS )
 | |
| #    define VULKAN_HPP_NO_STRUCT_SETTERS
 | |
| #  endif
 | |
| #  if !defined( VULKAN_HPP_NO_UNION_SETTERS )
 | |
| #    define VULKAN_HPP_NO_UNION_SETTERS
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_ASSERT )
 | |
| #  include <cassert>
 | |
| #  define VULKAN_HPP_ASSERT assert
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_ASSERT_ON_RESULT )
 | |
| #  define VULKAN_HPP_ASSERT_ON_RESULT VULKAN_HPP_ASSERT
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_STATIC_ASSERT )
 | |
| #  define VULKAN_HPP_STATIC_ASSERT static_assert
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL )
 | |
| #  define VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL 1
 | |
| #endif
 | |
| 
 | |
| #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL == 1
 | |
| #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
| #    include <dlfcn.h>
 | |
| #  elif defined( _WIN32 )
 | |
| typedef struct HINSTANCE__ * HINSTANCE;
 | |
| #    if defined( _WIN64 )
 | |
| typedef int64_t( __stdcall * FARPROC )();
 | |
| #    else
 | |
| typedef int( __stdcall * FARPROC )();
 | |
| #    endif
 | |
| extern "C" __declspec( dllimport ) HINSTANCE __stdcall LoadLibraryA( char const * lpLibFileName );
 | |
| extern "C" __declspec( dllimport ) int __stdcall FreeLibrary( HINSTANCE hLibModule );
 | |
| extern "C" __declspec( dllimport ) FARPROC __stdcall GetProcAddress( HINSTANCE hModule, const char * lpProcName );
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( __has_include )
 | |
| #  define __has_include( x ) false
 | |
| #endif
 | |
| 
 | |
| #if ( 201711 <= __cpp_impl_three_way_comparison ) && __has_include( <compare> ) && !defined( VULKAN_HPP_NO_SPACESHIP_OPERATOR )
 | |
| #  define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
 | |
| #endif
 | |
| #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
 | |
| #  include <compare>
 | |
| #endif
 | |
| 
 | |
| #if ( 201803 <= __cpp_lib_span )
 | |
| #  define VULKAN_HPP_SUPPORT_SPAN
 | |
| #  include <span>
 | |
| #endif
 | |
| 
 | |
| static_assert( VK_HEADER_VERSION == 203, "Wrong VK_HEADER_VERSION!" );
 | |
| 
 | |
| // 32-bit vulkan is not typesafe for handles, so don't allow copy constructors on this platform by default.
 | |
| // To enable this feature on 32-bit platforms please define VULKAN_HPP_TYPESAFE_CONVERSION
 | |
| #if ( VK_USE_64_BIT_PTR_DEFINES == 1 )
 | |
| #  if !defined( VULKAN_HPP_TYPESAFE_CONVERSION )
 | |
| #    define VULKAN_HPP_TYPESAFE_CONVERSION
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| // <tuple> includes <sys/sysmacros.h> through some other header
 | |
| // this results in major(x) being resolved to gnu_dev_major(x)
 | |
| // which is an expression in a constructor initializer list.
 | |
| #if defined( major )
 | |
| #  undef major
 | |
| #endif
 | |
| #if defined( minor )
 | |
| #  undef minor
 | |
| #endif
 | |
| 
 | |
| // Windows defines MemoryBarrier which is deprecated and collides
 | |
| // with the VULKAN_HPP_NAMESPACE::MemoryBarrier struct.
 | |
| #if defined( MemoryBarrier )
 | |
| #  undef MemoryBarrier
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_HAS_UNRESTRICTED_UNIONS )
 | |
| #  if defined( __clang__ )
 | |
| #    if __has_feature( cxx_unrestricted_unions )
 | |
| #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
 | |
| #    endif
 | |
| #  elif defined( __GNUC__ )
 | |
| #    define GCC_VERSION ( __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ )
 | |
| #    if 40600 <= GCC_VERSION
 | |
| #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
 | |
| #    endif
 | |
| #  elif defined( _MSC_VER )
 | |
| #    if 1900 <= _MSC_VER
 | |
| #      define VULKAN_HPP_HAS_UNRESTRICTED_UNIONS
 | |
| #    endif
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_INLINE )
 | |
| #  if defined( __clang__ )
 | |
| #    if __has_attribute( always_inline )
 | |
| #      define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
 | |
| #    else
 | |
| #      define VULKAN_HPP_INLINE inline
 | |
| #    endif
 | |
| #  elif defined( __GNUC__ )
 | |
| #    define VULKAN_HPP_INLINE __attribute__( ( always_inline ) ) __inline__
 | |
| #  elif defined( _MSC_VER )
 | |
| #    define VULKAN_HPP_INLINE inline
 | |
| #  else
 | |
| #    define VULKAN_HPP_INLINE inline
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_TYPESAFE_CONVERSION )
 | |
| #  define VULKAN_HPP_TYPESAFE_EXPLICIT
 | |
| #else
 | |
| #  define VULKAN_HPP_TYPESAFE_EXPLICIT explicit
 | |
| #endif
 | |
| 
 | |
| #if defined( __cpp_constexpr )
 | |
| #  define VULKAN_HPP_CONSTEXPR constexpr
 | |
| #  if __cpp_constexpr >= 201304
 | |
| #    define VULKAN_HPP_CONSTEXPR_14 constexpr
 | |
| #  else
 | |
| #    define VULKAN_HPP_CONSTEXPR_14
 | |
| #  endif
 | |
| #  define VULKAN_HPP_CONST_OR_CONSTEXPR constexpr
 | |
| #else
 | |
| #  define VULKAN_HPP_CONSTEXPR
 | |
| #  define VULKAN_HPP_CONSTEXPR_14
 | |
| #  define VULKAN_HPP_CONST_OR_CONSTEXPR const
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_NOEXCEPT )
 | |
| #  if defined( _MSC_VER ) && ( _MSC_VER <= 1800 )
 | |
| #    define VULKAN_HPP_NOEXCEPT
 | |
| #  else
 | |
| #    define VULKAN_HPP_NOEXCEPT     noexcept
 | |
| #    define VULKAN_HPP_HAS_NOEXCEPT 1
 | |
| #    if defined( VULKAN_HPP_NO_EXCEPTIONS )
 | |
| #      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS noexcept
 | |
| #    else
 | |
| #      define VULKAN_HPP_NOEXCEPT_WHEN_NO_EXCEPTIONS
 | |
| #    endif
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if 14 <= VULKAN_HPP_CPP_VERSION
 | |
| #  define VULKAN_HPP_DEPRECATED( msg ) [[deprecated( msg )]]
 | |
| #else
 | |
| #  define VULKAN_HPP_DEPRECATED( msg )
 | |
| #endif
 | |
| 
 | |
| #if ( 17 <= VULKAN_HPP_CPP_VERSION ) && !defined( VULKAN_HPP_NO_NODISCARD_WARNINGS )
 | |
| #  define VULKAN_HPP_NODISCARD [[nodiscard]]
 | |
| #  if defined( VULKAN_HPP_NO_EXCEPTIONS )
 | |
| #    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS [[nodiscard]]
 | |
| #  else
 | |
| #    define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
 | |
| #  endif
 | |
| #else
 | |
| #  define VULKAN_HPP_NODISCARD
 | |
| #  define VULKAN_HPP_NODISCARD_WHEN_NO_EXCEPTIONS
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_NAMESPACE )
 | |
| #  define VULKAN_HPP_NAMESPACE vk
 | |
| #endif
 | |
| 
 | |
| #define VULKAN_HPP_STRINGIFY2( text ) #text
 | |
| #define VULKAN_HPP_STRINGIFY( text )  VULKAN_HPP_STRINGIFY2( text )
 | |
| #define VULKAN_HPP_NAMESPACE_STRING   VULKAN_HPP_STRINGIFY( VULKAN_HPP_NAMESPACE )
 | |
| 
 | |
| namespace VULKAN_HPP_NAMESPACE
 | |
| {
 | |
| #if !defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
 | |
|   template <typename T>
 | |
|   class ArrayProxy
 | |
|   {
 | |
|   public:
 | |
|     VULKAN_HPP_CONSTEXPR ArrayProxy() VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 0 )
 | |
|       , m_ptr( nullptr )
 | |
|     {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR ArrayProxy( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 0 )
 | |
|       , m_ptr( nullptr )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxy( T & value ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 1 )
 | |
|       , m_ptr( &value )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxy( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 1 )
 | |
|       , m_ptr( &value )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxy( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( count )
 | |
|       , m_ptr( ptr )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxy( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( count )
 | |
|       , m_ptr( ptr )
 | |
|     {}
 | |
| 
 | |
| #  if __GNUC__ >= 9
 | |
| #    pragma GCC diagnostic push
 | |
| #    pragma GCC diagnostic ignored "-Winit-list-lifetime"
 | |
| #  endif
 | |
| 
 | |
|     ArrayProxy( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     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 ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxy( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     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> & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
| #  if __GNUC__ >= 9
 | |
| #    pragma GCC diagnostic pop
 | |
| #  endif
 | |
| 
 | |
|     // Any type with a .data() return type implicitly convertible to T*, and a .size() return type implicitly
 | |
|     // convertible to size_t. The const version can capture temporaries, with lifetime ending at end of statement.
 | |
|     template <typename V,
 | |
|               typename std::enable_if<
 | |
|                 std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
 | |
|                 std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
 | |
|     ArrayProxy( V const & v ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( v.size() ) )
 | |
|       , m_ptr( v.data() )
 | |
|     {}
 | |
| 
 | |
|     template <typename V,
 | |
|               typename std::enable_if<
 | |
|                 std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
 | |
|                 std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
 | |
|     ArrayProxy( V & v ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( v.size() ) )
 | |
|       , m_ptr( v.data() )
 | |
|     {}
 | |
| 
 | |
|     const T * begin() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
| 
 | |
|     const T * end() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr + m_count;
 | |
|     }
 | |
| 
 | |
|     const T & front() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_count && m_ptr );
 | |
|       return *m_ptr;
 | |
|     }
 | |
| 
 | |
|     const T & back() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_count && m_ptr );
 | |
|       return *( m_ptr + m_count - 1 );
 | |
|     }
 | |
| 
 | |
|     bool empty() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ( m_count == 0 );
 | |
|     }
 | |
| 
 | |
|     uint32_t size() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_count;
 | |
|     }
 | |
| 
 | |
|     T * data() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     uint32_t m_count;
 | |
|     T *      m_ptr;
 | |
|   };
 | |
| 
 | |
|   template <typename T>
 | |
|   class ArrayProxyNoTemporaries
 | |
|   {
 | |
|   public:
 | |
|     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries() VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 0 )
 | |
|       , m_ptr( nullptr )
 | |
|     {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR ArrayProxyNoTemporaries( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 0 )
 | |
|       , m_ptr( nullptr )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxyNoTemporaries( T & value ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 1 )
 | |
|       , m_ptr( &value )
 | |
|     {}
 | |
| 
 | |
|     template <typename V>
 | |
|     ArrayProxyNoTemporaries( V && value ) = delete;
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( typename std::remove_const<T>::type & value ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( 1 )
 | |
|       , m_ptr( &value )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( typename std::remove_const<T>::type && value ) = delete;
 | |
| 
 | |
|     ArrayProxyNoTemporaries( uint32_t count, T * ptr ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( count )
 | |
|       , m_ptr( ptr )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( uint32_t count, typename std::remove_const<T>::type * ptr ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( count )
 | |
|       , m_ptr( ptr )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<T> const & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<T> const && list ) = delete;
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const & list )
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const && list ) = delete;
 | |
| 
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<T> & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<T> && list ) = delete;
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> & list ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( list.size() ) )
 | |
|       , m_ptr( list.begin() )
 | |
|     {}
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_const<B>::value, int>::type = 0>
 | |
|     ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list ) = delete;
 | |
| 
 | |
|     // Any type with a .data() return type implicitly convertible to T*, and a // .size() return type implicitly
 | |
|     // convertible to size_t.
 | |
|     template <typename V,
 | |
|               typename std::enable_if<
 | |
|                 std::is_convertible<decltype( std::declval<V>().data() ), T *>::value &&
 | |
|                 std::is_convertible<decltype( std::declval<V>().size() ), std::size_t>::value>::type * = nullptr>
 | |
|     ArrayProxyNoTemporaries( V & v ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_count( static_cast<uint32_t>( v.size() ) )
 | |
|       , m_ptr( v.data() )
 | |
|     {}
 | |
| 
 | |
|     const T * begin() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
| 
 | |
|     const T * end() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr + m_count;
 | |
|     }
 | |
| 
 | |
|     const T & front() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_count && m_ptr );
 | |
|       return *m_ptr;
 | |
|     }
 | |
| 
 | |
|     const T & back() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_count && m_ptr );
 | |
|       return *( m_ptr + m_count - 1 );
 | |
|     }
 | |
| 
 | |
|     bool empty() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ( m_count == 0 );
 | |
|     }
 | |
| 
 | |
|     uint32_t size() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_count;
 | |
|     }
 | |
| 
 | |
|     T * data() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     uint32_t m_count;
 | |
|     T *      m_ptr;
 | |
|   };
 | |
| #endif
 | |
| 
 | |
|   template <typename T, size_t N>
 | |
|   class ArrayWrapper1D : public std::array<T, N>
 | |
|   {
 | |
|   public:
 | |
|     VULKAN_HPP_CONSTEXPR ArrayWrapper1D() VULKAN_HPP_NOEXCEPT : std::array<T, N>() {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR ArrayWrapper1D( std::array<T, N> const & data ) VULKAN_HPP_NOEXCEPT : std::array<T, N>( data )
 | |
|     {}
 | |
| 
 | |
| #if ( VK_USE_64_BIT_PTR_DEFINES == 0 )
 | |
|     // on 32 bit compiles, needs overloads on index type int to resolve ambiguities
 | |
|     VULKAN_HPP_CONSTEXPR T const & operator[]( int index ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::array<T, N>::operator[]( index );
 | |
|     }
 | |
| 
 | |
|     T & operator[]( int index ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::array<T, N>::operator[]( index );
 | |
|     }
 | |
| #endif
 | |
| 
 | |
|     operator T const *() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return this->data();
 | |
|     }
 | |
| 
 | |
|     operator T *() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return this->data();
 | |
|     }
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     operator std::string() const
 | |
|     {
 | |
|       return std::string( this->data() );
 | |
|     }
 | |
| 
 | |
| #if 17 <= VULKAN_HPP_CPP_VERSION
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     operator std::string_view() const
 | |
|     {
 | |
|       return std::string_view( this->data() );
 | |
|     }
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     std::strong_ordering operator<=>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) <=> *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| #else
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator<( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) < *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator<=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) <= *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator>( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) > *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator>=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) >= *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| #endif
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator==( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) == *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
| 
 | |
|     template <typename B = T, typename std::enable_if<std::is_same<B, char>::value, int>::type = 0>
 | |
|     bool operator!=( ArrayWrapper1D<char, N> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return *static_cast<std::array<char, N> const *>( this ) != *static_cast<std::array<char, N> const *>( &rhs );
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   // specialization of relational operators between std::string and arrays of chars
 | |
|   template <size_t N>
 | |
|   bool operator<( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs < rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <size_t N>
 | |
|   bool operator<=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs <= rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <size_t N>
 | |
|   bool operator>( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs > rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <size_t N>
 | |
|   bool operator>=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs >= rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <size_t N>
 | |
|   bool operator==( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs == rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <size_t N>
 | |
|   bool operator!=( std::string const & lhs, ArrayWrapper1D<char, N> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return lhs != rhs.data();
 | |
|   }
 | |
| 
 | |
|   template <typename T, size_t N, size_t M>
 | |
|   class ArrayWrapper2D : public std::array<ArrayWrapper1D<T, M>, N>
 | |
|   {
 | |
|   public:
 | |
|     VULKAN_HPP_CONSTEXPR ArrayWrapper2D() VULKAN_HPP_NOEXCEPT : std::array<ArrayWrapper1D<T, M>, N>() {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR ArrayWrapper2D( std::array<std::array<T, M>, N> const & data ) VULKAN_HPP_NOEXCEPT
 | |
|       : std::array<ArrayWrapper1D<T, M>, N>( *reinterpret_cast<std::array<ArrayWrapper1D<T, M>, N> const *>( &data ) )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   template <typename FlagBitsType>
 | |
|   struct FlagTraits
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       allFlags = 0
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   template <typename BitType>
 | |
|   class Flags
 | |
|   {
 | |
|   public:
 | |
|     using MaskType = typename std::underlying_type<BitType>::type;
 | |
| 
 | |
|     // constructors
 | |
|     VULKAN_HPP_CONSTEXPR Flags() VULKAN_HPP_NOEXCEPT : m_mask( 0 ) {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR Flags( BitType bit ) VULKAN_HPP_NOEXCEPT : m_mask( static_cast<MaskType>( bit ) ) {}
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR Flags( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR explicit Flags( MaskType flags ) VULKAN_HPP_NOEXCEPT : m_mask( flags ) {}
 | |
| 
 | |
|     // relational operators
 | |
| #if defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
 | |
|     auto operator<=>( Flags<BitType> const & ) const = default;
 | |
| #else
 | |
|     VULKAN_HPP_CONSTEXPR bool operator<( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask < rhs.m_mask;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR bool operator<=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask <= rhs.m_mask;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR bool operator>( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask > rhs.m_mask;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR bool operator>=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask >= rhs.m_mask;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR bool operator==( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask == rhs.m_mask;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR bool operator!=( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask != rhs.m_mask;
 | |
|     }
 | |
| #endif
 | |
| 
 | |
|     // logical operator
 | |
|     VULKAN_HPP_CONSTEXPR bool operator!() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return !m_mask;
 | |
|     }
 | |
| 
 | |
|     // bitwise operators
 | |
|     VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return Flags<BitType>( m_mask & rhs.m_mask );
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return Flags<BitType>( m_mask | rhs.m_mask );
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( Flags<BitType> const & rhs ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return Flags<BitType>( m_mask ^ rhs.m_mask );
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR Flags<BitType> operator~() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return Flags<BitType>( m_mask ^ FlagTraits<BitType>::allFlags );
 | |
|     }
 | |
| 
 | |
|     // assignment operators
 | |
|     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT = default;
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator|=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_mask |= rhs.m_mask;
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator&=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_mask &= rhs.m_mask;
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_CONSTEXPR_14 Flags<BitType> & operator^=( Flags<BitType> const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_mask ^= rhs.m_mask;
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     // cast operators
 | |
|     explicit VULKAN_HPP_CONSTEXPR operator bool() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return !!m_mask;
 | |
|     }
 | |
| 
 | |
|     explicit VULKAN_HPP_CONSTEXPR operator MaskType() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_mask;
 | |
|     }
 | |
| 
 | |
| #if defined( VULKAN_HPP_FLAGS_MASK_TYPE_AS_PUBLIC )
 | |
|   public:
 | |
| #else
 | |
|   private:
 | |
| #endif
 | |
|     MaskType m_mask;
 | |
|   };
 | |
| 
 | |
| #if !defined( VULKAN_HPP_HAS_SPACESHIP_OPERATOR )
 | |
|   // relational operators only needed for pre C++20
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator<( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator>( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator<=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator>=( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator>( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator<( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator>=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator<=( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator==( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator==( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR bool operator!=( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator!=( bit );
 | |
|   }
 | |
| #endif
 | |
| 
 | |
|   // bitwise operators
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR Flags<BitType> operator&( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator&( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR Flags<BitType> operator|( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator|( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename BitType>
 | |
|   VULKAN_HPP_CONSTEXPR Flags<BitType> operator^( BitType bit, Flags<BitType> const & flags ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return flags.operator^( bit );
 | |
|   }
 | |
| 
 | |
|   template <typename RefType>
 | |
|   class Optional
 | |
|   {
 | |
|   public:
 | |
|     Optional( RefType & reference ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_ptr = &reference;
 | |
|     }
 | |
|     Optional( RefType * ptr ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_ptr = ptr;
 | |
|     }
 | |
|     Optional( std::nullptr_t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_ptr = nullptr;
 | |
|     }
 | |
| 
 | |
|     operator RefType *() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
|     RefType const * operator->() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_ptr;
 | |
|     }
 | |
|     explicit operator bool() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return !!m_ptr;
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     RefType * m_ptr;
 | |
|   };
 | |
| 
 | |
|   template <typename X, typename Y>
 | |
|   struct StructExtends
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = false
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   template <typename Type, class...>
 | |
|   struct IsPartOfStructureChain
 | |
|   {
 | |
|     static const bool valid = false;
 | |
|   };
 | |
| 
 | |
|   template <typename Type, typename Head, typename... Tail>
 | |
|   struct IsPartOfStructureChain<Type, Head, Tail...>
 | |
|   {
 | |
|     static const bool valid = std::is_same<Type, Head>::value || IsPartOfStructureChain<Type, Tail...>::valid;
 | |
|   };
 | |
| 
 | |
|   template <size_t Index, typename T, typename... ChainElements>
 | |
|   struct StructureChainContains
 | |
|   {
 | |
|     static const bool value =
 | |
|       std::is_same<T, typename std::tuple_element<Index, std::tuple<ChainElements...>>::type>::value ||
 | |
|       StructureChainContains<Index - 1, T, ChainElements...>::value;
 | |
|   };
 | |
| 
 | |
|   template <typename T, typename... ChainElements>
 | |
|   struct StructureChainContains<0, T, ChainElements...>
 | |
|   {
 | |
|     static const bool value =
 | |
|       std::is_same<T, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value;
 | |
|   };
 | |
| 
 | |
|   template <size_t Index, typename... ChainElements>
 | |
|   struct StructureChainValidation
 | |
|   {
 | |
|     using TestType = typename std::tuple_element<Index, std::tuple<ChainElements...>>::type;
 | |
|     static const bool valid =
 | |
|       StructExtends<TestType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
 | |
|       ( TestType::allowDuplicate || !StructureChainContains<Index - 1, TestType, ChainElements...>::value ) &&
 | |
|       StructureChainValidation<Index - 1, ChainElements...>::valid;
 | |
|   };
 | |
| 
 | |
|   template <typename... ChainElements>
 | |
|   struct StructureChainValidation<0, ChainElements...>
 | |
|   {
 | |
|     static const bool valid = true;
 | |
|   };
 | |
| 
 | |
|   template <typename... ChainElements>
 | |
|   class StructureChain : public std::tuple<ChainElements...>
 | |
|   {
 | |
|   public:
 | |
|     StructureChain() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
 | |
|                      "The structure chain is not valid!" );
 | |
|       link<sizeof...( ChainElements ) - 1>();
 | |
|     }
 | |
| 
 | |
|     StructureChain( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( rhs )
 | |
|     {
 | |
|       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
 | |
|                      "The structure chain is not valid!" );
 | |
|       link( &std::get<0>( *this ),
 | |
|             &std::get<0>( rhs ),
 | |
|             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
 | |
|             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
 | |
|     }
 | |
| 
 | |
|     StructureChain( StructureChain && rhs ) VULKAN_HPP_NOEXCEPT
 | |
|       : std::tuple<ChainElements...>( std::forward<std::tuple<ChainElements...>>( rhs ) )
 | |
|     {
 | |
|       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
 | |
|                      "The structure chain is not valid!" );
 | |
|       link( &std::get<0>( *this ),
 | |
|             &std::get<0>( rhs ),
 | |
|             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
 | |
|             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
 | |
|     }
 | |
| 
 | |
|     StructureChain( ChainElements const &... elems ) VULKAN_HPP_NOEXCEPT : std::tuple<ChainElements...>( elems... )
 | |
|     {
 | |
|       static_assert( StructureChainValidation<sizeof...( ChainElements ) - 1, ChainElements...>::valid,
 | |
|                      "The structure chain is not valid!" );
 | |
|       link<sizeof...( ChainElements ) - 1>();
 | |
|     }
 | |
| 
 | |
|     StructureChain & operator=( StructureChain const & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       std::tuple<ChainElements...>::operator=( rhs );
 | |
|       link( &std::get<0>( *this ),
 | |
|             &std::get<0>( rhs ),
 | |
|             reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( *this ) ),
 | |
|             reinterpret_cast<VkBaseInStructure const *>( &std::get<0>( rhs ) ) );
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     StructureChain & operator=( StructureChain && rhs ) = delete;
 | |
| 
 | |
|     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
 | |
|     T & get() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
 | |
|         static_cast<std::tuple<ChainElements...> &>( *this ) );
 | |
|     }
 | |
| 
 | |
|     template <typename T = typename std::tuple_element<0, std::tuple<ChainElements...>>::type, size_t Which = 0>
 | |
|     T const & get() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::get<ChainElementIndex<0, T, Which, void, ChainElements...>::value>(
 | |
|         static_cast<std::tuple<ChainElements...> const &>( *this ) );
 | |
|     }
 | |
| 
 | |
|     template <typename T0, typename T1, typename... Ts>
 | |
|     std::tuple<T0 &, T1 &, Ts &...> get() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
 | |
|     }
 | |
| 
 | |
|     template <typename T0, typename T1, typename... Ts>
 | |
|     std::tuple<T0 const &, T1 const &, Ts const &...> get() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::tie( get<T0>(), get<T1>(), get<Ts>()... );
 | |
|     }
 | |
| 
 | |
|     template <typename ClassType, size_t Which = 0>
 | |
|     typename std::enable_if<
 | |
|       std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value &&
 | |
|         ( Which == 0 ),
 | |
|       bool>::type
 | |
|       isLinked() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return true;
 | |
|     }
 | |
| 
 | |
|     template <typename ClassType, size_t Which = 0>
 | |
|     typename std::enable_if<
 | |
|       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
 | |
|         ( Which != 0 ),
 | |
|       bool>::type
 | |
|       isLinked() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
 | |
|                      "Can't unlink Structure that's not part of this StructureChain!" );
 | |
|       return isLinked( reinterpret_cast<VkBaseInStructure const *>( &get<ClassType, Which>() ) );
 | |
|     }
 | |
| 
 | |
|     template <typename ClassType, size_t Which = 0>
 | |
|     typename std::enable_if<
 | |
|       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
 | |
|         ( Which != 0 ),
 | |
|       void>::type
 | |
|       relink() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
 | |
|                      "Can't relink Structure that's not part of this StructureChain!" );
 | |
|       auto pNext = reinterpret_cast<VkBaseInStructure *>( &get<ClassType, Which>() );
 | |
|       VULKAN_HPP_ASSERT( !isLinked( pNext ) );
 | |
|       auto & headElement = std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) );
 | |
|       pNext->pNext       = reinterpret_cast<VkBaseInStructure const *>( headElement.pNext );
 | |
|       headElement.pNext  = pNext;
 | |
|     }
 | |
| 
 | |
|     template <typename ClassType, size_t Which = 0>
 | |
|     typename std::enable_if<
 | |
|       !std::is_same<ClassType, typename std::tuple_element<0, std::tuple<ChainElements...>>::type>::value ||
 | |
|         ( Which != 0 ),
 | |
|       void>::type
 | |
|       unlink() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       static_assert( IsPartOfStructureChain<ClassType, ChainElements...>::valid,
 | |
|                      "Can't unlink Structure that's not part of this StructureChain!" );
 | |
|       unlink( reinterpret_cast<VkBaseOutStructure const *>( &get<ClassType, Which>() ) );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     template <int Index, typename T, int Which, typename, class First, class... Types>
 | |
|     struct ChainElementIndex : ChainElementIndex<Index + 1, T, Which, void, Types...>
 | |
|     {};
 | |
| 
 | |
|     template <int Index, typename T, int Which, class First, class... Types>
 | |
|     struct ChainElementIndex<Index,
 | |
|                              T,
 | |
|                              Which,
 | |
|                              typename std::enable_if<!std::is_same<T, First>::value, void>::type,
 | |
|                              First,
 | |
|                              Types...> : ChainElementIndex<Index + 1, T, Which, void, Types...>
 | |
|     {};
 | |
| 
 | |
|     template <int Index, typename T, int Which, class First, class... Types>
 | |
|     struct ChainElementIndex<Index,
 | |
|                              T,
 | |
|                              Which,
 | |
|                              typename std::enable_if<std::is_same<T, First>::value, void>::type,
 | |
|                              First,
 | |
|                              Types...> : ChainElementIndex<Index + 1, T, Which - 1, void, Types...>
 | |
|     {};
 | |
| 
 | |
|     template <int Index, typename T, class First, class... Types>
 | |
|     struct ChainElementIndex<Index,
 | |
|                              T,
 | |
|                              0,
 | |
|                              typename std::enable_if<std::is_same<T, First>::value, void>::type,
 | |
|                              First,
 | |
|                              Types...> : std::integral_constant<int, Index>
 | |
|     {};
 | |
| 
 | |
|     bool isLinked( VkBaseInStructure const * pNext ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VkBaseInStructure const * elementPtr = reinterpret_cast<VkBaseInStructure const *>(
 | |
|         &std::get<0>( static_cast<std::tuple<ChainElements...> const &>( *this ) ) );
 | |
|       while ( elementPtr )
 | |
|       {
 | |
|         if ( elementPtr->pNext == pNext )
 | |
|         {
 | |
|           return true;
 | |
|         }
 | |
|         elementPtr = elementPtr->pNext;
 | |
|       }
 | |
|       return false;
 | |
|     }
 | |
| 
 | |
|     template <size_t Index>
 | |
|     typename std::enable_if<Index != 0, void>::type link() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       auto & x = std::get<Index - 1>( static_cast<std::tuple<ChainElements...> &>( *this ) );
 | |
|       x.pNext  = &std::get<Index>( static_cast<std::tuple<ChainElements...> &>( *this ) );
 | |
|       link<Index - 1>();
 | |
|     }
 | |
| 
 | |
|     template <size_t Index>
 | |
|     typename std::enable_if<Index == 0, void>::type link() VULKAN_HPP_NOEXCEPT
 | |
|     {}
 | |
| 
 | |
|     void link( void * dstBase, void const * srcBase, VkBaseOutStructure * dst, VkBaseInStructure const * src )
 | |
|     {
 | |
|       while ( src->pNext )
 | |
|       {
 | |
|         std::ptrdiff_t offset =
 | |
|           reinterpret_cast<char const *>( src->pNext ) - reinterpret_cast<char const *>( srcBase );
 | |
|         dst->pNext = reinterpret_cast<VkBaseOutStructure *>( reinterpret_cast<char *>( dstBase ) + offset );
 | |
|         dst        = dst->pNext;
 | |
|         src        = src->pNext;
 | |
|       }
 | |
|       dst->pNext = nullptr;
 | |
|     }
 | |
| 
 | |
|     void unlink( VkBaseOutStructure const * pNext ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VkBaseOutStructure * elementPtr =
 | |
|         reinterpret_cast<VkBaseOutStructure *>( &std::get<0>( static_cast<std::tuple<ChainElements...> &>( *this ) ) );
 | |
|       while ( elementPtr && ( elementPtr->pNext != pNext ) )
 | |
|       {
 | |
|         elementPtr = elementPtr->pNext;
 | |
|       }
 | |
|       if ( elementPtr )
 | |
|       {
 | |
|         elementPtr->pNext = pNext->pNext;
 | |
|       }
 | |
|       else
 | |
|       {
 | |
|         VULKAN_HPP_ASSERT( false );  // fires, if the ClassType member has already been unlinked !
 | |
|       }
 | |
|     }
 | |
|   };
 | |
| 
 | |
| #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
 | |
|   template <typename Type, typename Dispatch>
 | |
|   class UniqueHandleTraits;
 | |
| 
 | |
|   template <typename Type, typename Dispatch>
 | |
|   class UniqueHandle : public UniqueHandleTraits<Type, Dispatch>::deleter
 | |
|   {
 | |
|   private:
 | |
|     using Deleter = typename UniqueHandleTraits<Type, Dispatch>::deleter;
 | |
| 
 | |
|   public:
 | |
|     using element_type = Type;
 | |
| 
 | |
|     UniqueHandle() : Deleter(), m_value() {}
 | |
| 
 | |
|     explicit UniqueHandle( Type const & value, Deleter const & deleter = Deleter() ) VULKAN_HPP_NOEXCEPT
 | |
|       : Deleter( deleter )
 | |
|       , m_value( value )
 | |
|     {}
 | |
| 
 | |
|     UniqueHandle( UniqueHandle const & ) = delete;
 | |
| 
 | |
|     UniqueHandle( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
 | |
|       : Deleter( std::move( static_cast<Deleter &>( other ) ) )
 | |
|       , m_value( other.release() )
 | |
|     {}
 | |
| 
 | |
|     ~UniqueHandle() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       if ( m_value )
 | |
|       {
 | |
|         this->destroy( m_value );
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     UniqueHandle & operator=( UniqueHandle const & ) = delete;
 | |
| 
 | |
|     UniqueHandle & operator=( UniqueHandle && other ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       reset( other.release() );
 | |
|       *static_cast<Deleter *>( this ) = std::move( static_cast<Deleter &>( other ) );
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     explicit operator bool() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_value.operator bool();
 | |
|     }
 | |
| 
 | |
|     Type const * operator->() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return &m_value;
 | |
|     }
 | |
| 
 | |
|     Type * operator->() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return &m_value;
 | |
|     }
 | |
| 
 | |
|     Type const & operator*() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_value;
 | |
|     }
 | |
| 
 | |
|     Type & operator*() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_value;
 | |
|     }
 | |
| 
 | |
|     const Type & get() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_value;
 | |
|     }
 | |
| 
 | |
|     Type & get() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_value;
 | |
|     }
 | |
| 
 | |
|     void reset( Type const & value = Type() ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       if ( m_value != value )
 | |
|       {
 | |
|         if ( m_value )
 | |
|         {
 | |
|           this->destroy( m_value );
 | |
|         }
 | |
|         m_value = value;
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     Type release() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       Type value = m_value;
 | |
|       m_value    = nullptr;
 | |
|       return value;
 | |
|     }
 | |
| 
 | |
|     void swap( UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       std::swap( m_value, rhs.m_value );
 | |
|       std::swap( static_cast<Deleter &>( *this ), static_cast<Deleter &>( rhs ) );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     Type m_value;
 | |
|   };
 | |
| 
 | |
|   template <typename UniqueType>
 | |
|   VULKAN_HPP_INLINE std::vector<typename UniqueType::element_type>
 | |
|                     uniqueToRaw( std::vector<UniqueType> const & handles )
 | |
|   {
 | |
|     std::vector<typename UniqueType::element_type> newBuffer( handles.size() );
 | |
|     std::transform(
 | |
|       handles.begin(), handles.end(), newBuffer.begin(), []( UniqueType const & handle ) { return handle.get(); } );
 | |
|     return newBuffer;
 | |
|   }
 | |
| 
 | |
|   template <typename Type, typename Dispatch>
 | |
|   VULKAN_HPP_INLINE void swap( UniqueHandle<Type, Dispatch> & lhs,
 | |
|                                UniqueHandle<Type, Dispatch> & rhs ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     lhs.swap( rhs );
 | |
|   }
 | |
| #endif
 | |
| 
 | |
|   class DispatchLoaderBase
 | |
|   {
 | |
|   public:
 | |
|     DispatchLoaderBase() = default;
 | |
|     DispatchLoaderBase( std::nullptr_t )
 | |
| #if !defined( NDEBUG )
 | |
|       : m_valid( false )
 | |
| #endif
 | |
|     {}
 | |
| 
 | |
| #if !defined( NDEBUG )
 | |
|     size_t getVkHeaderVersion() const
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_valid );
 | |
|       return vkHeaderVersion;
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     size_t vkHeaderVersion = VK_HEADER_VERSION;
 | |
|     bool   m_valid         = true;
 | |
| #endif
 | |
|   };
 | |
| 
 | |
| #if !defined( VK_NO_PROTOTYPES )
 | |
|   class DispatchLoaderStatic : public DispatchLoaderBase
 | |
|   {
 | |
|   public:
 | |
|     //=== VK_VERSION_1_0 ===
 | |
| 
 | |
|     VkResult vkCreateInstance( const VkInstanceCreateInfo *  pCreateInfo,
 | |
|                                const VkAllocationCallbacks * pAllocator,
 | |
|                                VkInstance *                  pInstance ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateInstance( pCreateInfo, pAllocator, pInstance );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyInstance( VkInstance instance, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyInstance( instance, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumeratePhysicalDevices( VkInstance         instance,
 | |
|                                          uint32_t *         pPhysicalDeviceCount,
 | |
|                                          VkPhysicalDevice * pPhysicalDevices ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumeratePhysicalDevices( instance, pPhysicalDeviceCount, pPhysicalDevices );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceFeatures( VkPhysicalDevice           physicalDevice,
 | |
|                                       VkPhysicalDeviceFeatures * pFeatures ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFeatures( physicalDevice, pFeatures );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceFormatProperties( VkPhysicalDevice     physicalDevice,
 | |
|                                               VkFormat             format,
 | |
|                                               VkFormatProperties * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFormatProperties( physicalDevice, format, pFormatProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceImageFormatProperties( VkPhysicalDevice          physicalDevice,
 | |
|                                                        VkFormat                  format,
 | |
|                                                        VkImageType               type,
 | |
|                                                        VkImageTiling             tiling,
 | |
|                                                        VkImageUsageFlags         usage,
 | |
|                                                        VkImageCreateFlags        flags,
 | |
|                                                        VkImageFormatProperties * pImageFormatProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceImageFormatProperties(
 | |
|         physicalDevice, format, type, tiling, usage, flags, pImageFormatProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceProperties( VkPhysicalDevice             physicalDevice,
 | |
|                                         VkPhysicalDeviceProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceProperties( physicalDevice, pProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceQueueFamilyProperties( VkPhysicalDevice          physicalDevice,
 | |
|                                                    uint32_t *                pQueueFamilyPropertyCount,
 | |
|                                                    VkQueueFamilyProperties * pQueueFamilyProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceQueueFamilyProperties(
 | |
|         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceMemoryProperties(
 | |
|       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceMemoryProperties( physicalDevice, pMemoryProperties );
 | |
|     }
 | |
| 
 | |
|     PFN_vkVoidFunction vkGetInstanceProcAddr( VkInstance instance, const char * pName ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetInstanceProcAddr( instance, pName );
 | |
|     }
 | |
| 
 | |
|     PFN_vkVoidFunction vkGetDeviceProcAddr( VkDevice device, const char * pName ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceProcAddr( device, pName );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDevice( VkPhysicalDevice              physicalDevice,
 | |
|                              const VkDeviceCreateInfo *    pCreateInfo,
 | |
|                              const VkAllocationCallbacks * pAllocator,
 | |
|                              VkDevice *                    pDevice ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDevice( physicalDevice, pCreateInfo, pAllocator, pDevice );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDevice( VkDevice device, const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDevice( device, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumerateInstanceExtensionProperties( const char *            pLayerName,
 | |
|                                                      uint32_t *              pPropertyCount,
 | |
|                                                      VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumerateInstanceExtensionProperties( pLayerName, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumerateDeviceExtensionProperties( VkPhysicalDevice        physicalDevice,
 | |
|                                                    const char *            pLayerName,
 | |
|                                                    uint32_t *              pPropertyCount,
 | |
|                                                    VkExtensionProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumerateDeviceExtensionProperties( physicalDevice, pLayerName, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumerateInstanceLayerProperties( uint32_t *          pPropertyCount,
 | |
|                                                  VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumerateInstanceLayerProperties( pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumerateDeviceLayerProperties( VkPhysicalDevice    physicalDevice,
 | |
|                                                uint32_t *          pPropertyCount,
 | |
|                                                VkLayerProperties * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumerateDeviceLayerProperties( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceQueue( VkDevice  device,
 | |
|                            uint32_t  queueFamilyIndex,
 | |
|                            uint32_t  queueIndex,
 | |
|                            VkQueue * pQueue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceQueue( device, queueFamilyIndex, queueIndex, pQueue );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueueSubmit( VkQueue              queue,
 | |
|                             uint32_t             submitCount,
 | |
|                             const VkSubmitInfo * pSubmits,
 | |
|                             VkFence              fence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueSubmit( queue, submitCount, pSubmits, fence );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueueWaitIdle( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueWaitIdle( queue );
 | |
|     }
 | |
| 
 | |
|     VkResult vkDeviceWaitIdle( VkDevice device ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDeviceWaitIdle( device );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAllocateMemory( VkDevice                      device,
 | |
|                                const VkMemoryAllocateInfo *  pAllocateInfo,
 | |
|                                const VkAllocationCallbacks * pAllocator,
 | |
|                                VkDeviceMemory *              pMemory ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAllocateMemory( device, pAllocateInfo, pAllocator, pMemory );
 | |
|     }
 | |
| 
 | |
|     void vkFreeMemory( VkDevice                      device,
 | |
|                        VkDeviceMemory                memory,
 | |
|                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkFreeMemory( device, memory, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkMapMemory( VkDevice         device,
 | |
|                           VkDeviceMemory   memory,
 | |
|                           VkDeviceSize     offset,
 | |
|                           VkDeviceSize     size,
 | |
|                           VkMemoryMapFlags flags,
 | |
|                           void **          ppData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkMapMemory( device, memory, offset, size, flags, ppData );
 | |
|     }
 | |
| 
 | |
|     void vkUnmapMemory( VkDevice device, VkDeviceMemory memory ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUnmapMemory( device, memory );
 | |
|     }
 | |
| 
 | |
|     VkResult vkFlushMappedMemoryRanges( VkDevice                    device,
 | |
|                                         uint32_t                    memoryRangeCount,
 | |
|                                         const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkFlushMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
 | |
|     }
 | |
| 
 | |
|     VkResult vkInvalidateMappedMemoryRanges( VkDevice                    device,
 | |
|                                              uint32_t                    memoryRangeCount,
 | |
|                                              const VkMappedMemoryRange * pMemoryRanges ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkInvalidateMappedMemoryRanges( device, memoryRangeCount, pMemoryRanges );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceMemoryCommitment( VkDevice       device,
 | |
|                                       VkDeviceMemory memory,
 | |
|                                       VkDeviceSize * pCommittedMemoryInBytes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceMemoryCommitment( device, memory, pCommittedMemoryInBytes );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindBufferMemory( VkDevice       device,
 | |
|                                  VkBuffer       buffer,
 | |
|                                  VkDeviceMemory memory,
 | |
|                                  VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindBufferMemory( device, buffer, memory, memoryOffset );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindImageMemory( VkDevice       device,
 | |
|                                 VkImage        image,
 | |
|                                 VkDeviceMemory memory,
 | |
|                                 VkDeviceSize   memoryOffset ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindImageMemory( device, image, memory, memoryOffset );
 | |
|     }
 | |
| 
 | |
|     void vkGetBufferMemoryRequirements( VkDevice               device,
 | |
|                                         VkBuffer               buffer,
 | |
|                                         VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferMemoryRequirements( device, buffer, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageMemoryRequirements( VkDevice               device,
 | |
|                                        VkImage                image,
 | |
|                                        VkMemoryRequirements * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageMemoryRequirements( device, image, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageSparseMemoryRequirements( VkDevice                          device,
 | |
|                                              VkImage                           image,
 | |
|                                              uint32_t *                        pSparseMemoryRequirementCount,
 | |
|                                              VkSparseImageMemoryRequirements * pSparseMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageSparseMemoryRequirements(
 | |
|         device, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceSparseImageFormatProperties( VkPhysicalDevice                physicalDevice,
 | |
|                                                          VkFormat                        format,
 | |
|                                                          VkImageType                     type,
 | |
|                                                          VkSampleCountFlagBits           samples,
 | |
|                                                          VkImageUsageFlags               usage,
 | |
|                                                          VkImageTiling                   tiling,
 | |
|                                                          uint32_t *                      pPropertyCount,
 | |
|                                                          VkSparseImageFormatProperties * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSparseImageFormatProperties(
 | |
|         physicalDevice, format, type, samples, usage, tiling, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueueBindSparse( VkQueue                  queue,
 | |
|                                 uint32_t                 bindInfoCount,
 | |
|                                 const VkBindSparseInfo * pBindInfo,
 | |
|                                 VkFence                  fence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueBindSparse( queue, bindInfoCount, pBindInfo, fence );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateFence( VkDevice                      device,
 | |
|                             const VkFenceCreateInfo *     pCreateInfo,
 | |
|                             const VkAllocationCallbacks * pAllocator,
 | |
|                             VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateFence( device, pCreateInfo, pAllocator, pFence );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyFence( VkDevice                      device,
 | |
|                          VkFence                       fence,
 | |
|                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyFence( device, fence, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkResetFences( VkDevice device, uint32_t fenceCount, const VkFence * pFences ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetFences( device, fenceCount, pFences );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetFenceStatus( VkDevice device, VkFence fence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetFenceStatus( device, fence );
 | |
|     }
 | |
| 
 | |
|     VkResult vkWaitForFences( VkDevice        device,
 | |
|                               uint32_t        fenceCount,
 | |
|                               const VkFence * pFences,
 | |
|                               VkBool32        waitAll,
 | |
|                               uint64_t        timeout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkWaitForFences( device, fenceCount, pFences, waitAll, timeout );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateSemaphore( VkDevice                      device,
 | |
|                                 const VkSemaphoreCreateInfo * pCreateInfo,
 | |
|                                 const VkAllocationCallbacks * pAllocator,
 | |
|                                 VkSemaphore *                 pSemaphore ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSemaphore( device, pCreateInfo, pAllocator, pSemaphore );
 | |
|     }
 | |
| 
 | |
|     void vkDestroySemaphore( VkDevice                      device,
 | |
|                              VkSemaphore                   semaphore,
 | |
|                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySemaphore( device, semaphore, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateEvent( VkDevice                      device,
 | |
|                             const VkEventCreateInfo *     pCreateInfo,
 | |
|                             const VkAllocationCallbacks * pAllocator,
 | |
|                             VkEvent *                     pEvent ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateEvent( device, pCreateInfo, pAllocator, pEvent );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyEvent( VkDevice                      device,
 | |
|                          VkEvent                       event,
 | |
|                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyEvent( device, event, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetEventStatus( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetEventStatus( device, event );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetEvent( device, event );
 | |
|     }
 | |
| 
 | |
|     VkResult vkResetEvent( VkDevice device, VkEvent event ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetEvent( device, event );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateQueryPool( VkDevice                      device,
 | |
|                                 const VkQueryPoolCreateInfo * pCreateInfo,
 | |
|                                 const VkAllocationCallbacks * pAllocator,
 | |
|                                 VkQueryPool *                 pQueryPool ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateQueryPool( device, pCreateInfo, pAllocator, pQueryPool );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyQueryPool( VkDevice                      device,
 | |
|                              VkQueryPool                   queryPool,
 | |
|                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyQueryPool( device, queryPool, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetQueryPoolResults( VkDevice           device,
 | |
|                                     VkQueryPool        queryPool,
 | |
|                                     uint32_t           firstQuery,
 | |
|                                     uint32_t           queryCount,
 | |
|                                     size_t             dataSize,
 | |
|                                     void *             pData,
 | |
|                                     VkDeviceSize       stride,
 | |
|                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetQueryPoolResults( device, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateBuffer( VkDevice                      device,
 | |
|                              const VkBufferCreateInfo *    pCreateInfo,
 | |
|                              const VkAllocationCallbacks * pAllocator,
 | |
|                              VkBuffer *                    pBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateBuffer( device, pCreateInfo, pAllocator, pBuffer );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyBuffer( VkDevice                      device,
 | |
|                           VkBuffer                      buffer,
 | |
|                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyBuffer( device, buffer, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateBufferView( VkDevice                       device,
 | |
|                                  const VkBufferViewCreateInfo * pCreateInfo,
 | |
|                                  const VkAllocationCallbacks *  pAllocator,
 | |
|                                  VkBufferView *                 pView ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateBufferView( device, pCreateInfo, pAllocator, pView );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyBufferView( VkDevice                      device,
 | |
|                               VkBufferView                  bufferView,
 | |
|                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyBufferView( device, bufferView, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateImage( VkDevice                      device,
 | |
|                             const VkImageCreateInfo *     pCreateInfo,
 | |
|                             const VkAllocationCallbacks * pAllocator,
 | |
|                             VkImage *                     pImage ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateImage( device, pCreateInfo, pAllocator, pImage );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyImage( VkDevice                      device,
 | |
|                          VkImage                       image,
 | |
|                          const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyImage( device, image, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageSubresourceLayout( VkDevice                   device,
 | |
|                                       VkImage                    image,
 | |
|                                       const VkImageSubresource * pSubresource,
 | |
|                                       VkSubresourceLayout *      pLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageSubresourceLayout( device, image, pSubresource, pLayout );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateImageView( VkDevice                      device,
 | |
|                                 const VkImageViewCreateInfo * pCreateInfo,
 | |
|                                 const VkAllocationCallbacks * pAllocator,
 | |
|                                 VkImageView *                 pView ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateImageView( device, pCreateInfo, pAllocator, pView );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyImageView( VkDevice                      device,
 | |
|                              VkImageView                   imageView,
 | |
|                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyImageView( device, imageView, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateShaderModule( VkDevice                         device,
 | |
|                                    const VkShaderModuleCreateInfo * pCreateInfo,
 | |
|                                    const VkAllocationCallbacks *    pAllocator,
 | |
|                                    VkShaderModule *                 pShaderModule ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateShaderModule( device, pCreateInfo, pAllocator, pShaderModule );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyShaderModule( VkDevice                      device,
 | |
|                                 VkShaderModule                shaderModule,
 | |
|                                 const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyShaderModule( device, shaderModule, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreatePipelineCache( VkDevice                          device,
 | |
|                                     const VkPipelineCacheCreateInfo * pCreateInfo,
 | |
|                                     const VkAllocationCallbacks *     pAllocator,
 | |
|                                     VkPipelineCache *                 pPipelineCache ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreatePipelineCache( device, pCreateInfo, pAllocator, pPipelineCache );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyPipelineCache( VkDevice                      device,
 | |
|                                  VkPipelineCache               pipelineCache,
 | |
|                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyPipelineCache( device, pipelineCache, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPipelineCacheData( VkDevice        device,
 | |
|                                      VkPipelineCache pipelineCache,
 | |
|                                      size_t *        pDataSize,
 | |
|                                      void *          pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPipelineCacheData( device, pipelineCache, pDataSize, pData );
 | |
|     }
 | |
| 
 | |
|     VkResult vkMergePipelineCaches( VkDevice                device,
 | |
|                                     VkPipelineCache         dstCache,
 | |
|                                     uint32_t                srcCacheCount,
 | |
|                                     const VkPipelineCache * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkMergePipelineCaches( device, dstCache, srcCacheCount, pSrcCaches );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateGraphicsPipelines( VkDevice                             device,
 | |
|                                         VkPipelineCache                      pipelineCache,
 | |
|                                         uint32_t                             createInfoCount,
 | |
|                                         const VkGraphicsPipelineCreateInfo * pCreateInfos,
 | |
|                                         const VkAllocationCallbacks *        pAllocator,
 | |
|                                         VkPipeline *                         pPipelines ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateGraphicsPipelines(
 | |
|         device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateComputePipelines( VkDevice                            device,
 | |
|                                        VkPipelineCache                     pipelineCache,
 | |
|                                        uint32_t                            createInfoCount,
 | |
|                                        const VkComputePipelineCreateInfo * pCreateInfos,
 | |
|                                        const VkAllocationCallbacks *       pAllocator,
 | |
|                                        VkPipeline *                        pPipelines ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateComputePipelines( device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyPipeline( VkDevice                      device,
 | |
|                             VkPipeline                    pipeline,
 | |
|                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyPipeline( device, pipeline, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreatePipelineLayout( VkDevice                           device,
 | |
|                                      const VkPipelineLayoutCreateInfo * pCreateInfo,
 | |
|                                      const VkAllocationCallbacks *      pAllocator,
 | |
|                                      VkPipelineLayout *                 pPipelineLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreatePipelineLayout( device, pCreateInfo, pAllocator, pPipelineLayout );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyPipelineLayout( VkDevice                      device,
 | |
|                                   VkPipelineLayout              pipelineLayout,
 | |
|                                   const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyPipelineLayout( device, pipelineLayout, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateSampler( VkDevice                      device,
 | |
|                               const VkSamplerCreateInfo *   pCreateInfo,
 | |
|                               const VkAllocationCallbacks * pAllocator,
 | |
|                               VkSampler *                   pSampler ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSampler( device, pCreateInfo, pAllocator, pSampler );
 | |
|     }
 | |
| 
 | |
|     void vkDestroySampler( VkDevice                      device,
 | |
|                            VkSampler                     sampler,
 | |
|                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySampler( device, sampler, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDescriptorSetLayout( VkDevice                                device,
 | |
|                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
 | |
|                                           const VkAllocationCallbacks *           pAllocator,
 | |
|                                           VkDescriptorSetLayout *                 pSetLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDescriptorSetLayout( device, pCreateInfo, pAllocator, pSetLayout );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDescriptorSetLayout( VkDevice                      device,
 | |
|                                        VkDescriptorSetLayout         descriptorSetLayout,
 | |
|                                        const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDescriptorSetLayout( device, descriptorSetLayout, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDescriptorPool( VkDevice                           device,
 | |
|                                      const VkDescriptorPoolCreateInfo * pCreateInfo,
 | |
|                                      const VkAllocationCallbacks *      pAllocator,
 | |
|                                      VkDescriptorPool *                 pDescriptorPool ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDescriptorPool( device, pCreateInfo, pAllocator, pDescriptorPool );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDescriptorPool( VkDevice                      device,
 | |
|                                   VkDescriptorPool              descriptorPool,
 | |
|                                   const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDescriptorPool( device, descriptorPool, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkResetDescriptorPool( VkDevice                   device,
 | |
|                                     VkDescriptorPool           descriptorPool,
 | |
|                                     VkDescriptorPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetDescriptorPool( device, descriptorPool, flags );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAllocateDescriptorSets( VkDevice                            device,
 | |
|                                        const VkDescriptorSetAllocateInfo * pAllocateInfo,
 | |
|                                        VkDescriptorSet *                   pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAllocateDescriptorSets( device, pAllocateInfo, pDescriptorSets );
 | |
|     }
 | |
| 
 | |
|     VkResult vkFreeDescriptorSets( VkDevice                device,
 | |
|                                    VkDescriptorPool        descriptorPool,
 | |
|                                    uint32_t                descriptorSetCount,
 | |
|                                    const VkDescriptorSet * pDescriptorSets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkFreeDescriptorSets( device, descriptorPool, descriptorSetCount, pDescriptorSets );
 | |
|     }
 | |
| 
 | |
|     void vkUpdateDescriptorSets( VkDevice                     device,
 | |
|                                  uint32_t                     descriptorWriteCount,
 | |
|                                  const VkWriteDescriptorSet * pDescriptorWrites,
 | |
|                                  uint32_t                     descriptorCopyCount,
 | |
|                                  const VkCopyDescriptorSet *  pDescriptorCopies ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUpdateDescriptorSets(
 | |
|         device, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateFramebuffer( VkDevice                        device,
 | |
|                                   const VkFramebufferCreateInfo * pCreateInfo,
 | |
|                                   const VkAllocationCallbacks *   pAllocator,
 | |
|                                   VkFramebuffer *                 pFramebuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateFramebuffer( device, pCreateInfo, pAllocator, pFramebuffer );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyFramebuffer( VkDevice                      device,
 | |
|                                VkFramebuffer                 framebuffer,
 | |
|                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyFramebuffer( device, framebuffer, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateRenderPass( VkDevice                       device,
 | |
|                                  const VkRenderPassCreateInfo * pCreateInfo,
 | |
|                                  const VkAllocationCallbacks *  pAllocator,
 | |
|                                  VkRenderPass *                 pRenderPass ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateRenderPass( device, pCreateInfo, pAllocator, pRenderPass );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyRenderPass( VkDevice                      device,
 | |
|                               VkRenderPass                  renderPass,
 | |
|                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyRenderPass( device, renderPass, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkGetRenderAreaGranularity( VkDevice     device,
 | |
|                                      VkRenderPass renderPass,
 | |
|                                      VkExtent2D * pGranularity ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRenderAreaGranularity( device, renderPass, pGranularity );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateCommandPool( VkDevice                        device,
 | |
|                                   const VkCommandPoolCreateInfo * pCreateInfo,
 | |
|                                   const VkAllocationCallbacks *   pAllocator,
 | |
|                                   VkCommandPool *                 pCommandPool ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateCommandPool( device, pCreateInfo, pAllocator, pCommandPool );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyCommandPool( VkDevice                      device,
 | |
|                                VkCommandPool                 commandPool,
 | |
|                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyCommandPool( device, commandPool, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkResetCommandPool( VkDevice                device,
 | |
|                                  VkCommandPool           commandPool,
 | |
|                                  VkCommandPoolResetFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetCommandPool( device, commandPool, flags );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAllocateCommandBuffers( VkDevice                            device,
 | |
|                                        const VkCommandBufferAllocateInfo * pAllocateInfo,
 | |
|                                        VkCommandBuffer *                   pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAllocateCommandBuffers( device, pAllocateInfo, pCommandBuffers );
 | |
|     }
 | |
| 
 | |
|     void vkFreeCommandBuffers( VkDevice                device,
 | |
|                                VkCommandPool           commandPool,
 | |
|                                uint32_t                commandBufferCount,
 | |
|                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkFreeCommandBuffers( device, commandPool, commandBufferCount, pCommandBuffers );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBeginCommandBuffer( VkCommandBuffer                  commandBuffer,
 | |
|                                    const VkCommandBufferBeginInfo * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBeginCommandBuffer( commandBuffer, pBeginInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEndCommandBuffer( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEndCommandBuffer( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     VkResult vkResetCommandBuffer( VkCommandBuffer           commandBuffer,
 | |
|                                    VkCommandBufferResetFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetCommandBuffer( commandBuffer, flags );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindPipeline( VkCommandBuffer     commandBuffer,
 | |
|                             VkPipelineBindPoint pipelineBindPoint,
 | |
|                             VkPipeline          pipeline ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetViewport( VkCommandBuffer    commandBuffer,
 | |
|                            uint32_t           firstViewport,
 | |
|                            uint32_t           viewportCount,
 | |
|                            const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetScissor( VkCommandBuffer  commandBuffer,
 | |
|                           uint32_t         firstScissor,
 | |
|                           uint32_t         scissorCount,
 | |
|                           const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetLineWidth( VkCommandBuffer commandBuffer, float lineWidth ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetLineWidth( commandBuffer, lineWidth );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBias( VkCommandBuffer commandBuffer,
 | |
|                             float           depthBiasConstantFactor,
 | |
|                             float           depthBiasClamp,
 | |
|                             float           depthBiasSlopeFactor ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetBlendConstants( VkCommandBuffer commandBuffer,
 | |
|                                  const float     blendConstants[4] ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetBlendConstants( commandBuffer, blendConstants );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBounds( VkCommandBuffer commandBuffer,
 | |
|                               float           minDepthBounds,
 | |
|                               float           maxDepthBounds ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilCompareMask( VkCommandBuffer    commandBuffer,
 | |
|                                      VkStencilFaceFlags faceMask,
 | |
|                                      uint32_t           compareMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilWriteMask( VkCommandBuffer    commandBuffer,
 | |
|                                    VkStencilFaceFlags faceMask,
 | |
|                                    uint32_t           writeMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilReference( VkCommandBuffer    commandBuffer,
 | |
|                                    VkStencilFaceFlags faceMask,
 | |
|                                    uint32_t           reference ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilReference( commandBuffer, faceMask, reference );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindDescriptorSets( VkCommandBuffer         commandBuffer,
 | |
|                                   VkPipelineBindPoint     pipelineBindPoint,
 | |
|                                   VkPipelineLayout        layout,
 | |
|                                   uint32_t                firstSet,
 | |
|                                   uint32_t                descriptorSetCount,
 | |
|                                   const VkDescriptorSet * pDescriptorSets,
 | |
|                                   uint32_t                dynamicOffsetCount,
 | |
|                                   const uint32_t *        pDynamicOffsets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindDescriptorSets( commandBuffer,
 | |
|                                         pipelineBindPoint,
 | |
|                                         layout,
 | |
|                                         firstSet,
 | |
|                                         descriptorSetCount,
 | |
|                                         pDescriptorSets,
 | |
|                                         dynamicOffsetCount,
 | |
|                                         pDynamicOffsets );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindIndexBuffer( VkCommandBuffer commandBuffer,
 | |
|                                VkBuffer        buffer,
 | |
|                                VkDeviceSize    offset,
 | |
|                                VkIndexType     indexType ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindVertexBuffers( VkCommandBuffer      commandBuffer,
 | |
|                                  uint32_t             firstBinding,
 | |
|                                  uint32_t             bindingCount,
 | |
|                                  const VkBuffer *     pBuffers,
 | |
|                                  const VkDeviceSize * pOffsets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDraw( VkCommandBuffer commandBuffer,
 | |
|                     uint32_t        vertexCount,
 | |
|                     uint32_t        instanceCount,
 | |
|                     uint32_t        firstVertex,
 | |
|                     uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndexed( VkCommandBuffer commandBuffer,
 | |
|                            uint32_t        indexCount,
 | |
|                            uint32_t        instanceCount,
 | |
|                            uint32_t        firstIndex,
 | |
|                            int32_t         vertexOffset,
 | |
|                            uint32_t        firstInstance ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndirect( VkCommandBuffer commandBuffer,
 | |
|                             VkBuffer        buffer,
 | |
|                             VkDeviceSize    offset,
 | |
|                             uint32_t        drawCount,
 | |
|                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndexedIndirect( VkCommandBuffer commandBuffer,
 | |
|                                    VkBuffer        buffer,
 | |
|                                    VkDeviceSize    offset,
 | |
|                                    uint32_t        drawCount,
 | |
|                                    uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDispatch( VkCommandBuffer commandBuffer,
 | |
|                         uint32_t        groupCountX,
 | |
|                         uint32_t        groupCountY,
 | |
|                         uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDispatchIndirect( VkCommandBuffer commandBuffer,
 | |
|                                 VkBuffer        buffer,
 | |
|                                 VkDeviceSize    offset ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDispatchIndirect( commandBuffer, buffer, offset );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyBuffer( VkCommandBuffer      commandBuffer,
 | |
|                           VkBuffer             srcBuffer,
 | |
|                           VkBuffer             dstBuffer,
 | |
|                           uint32_t             regionCount,
 | |
|                           const VkBufferCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImage( VkCommandBuffer     commandBuffer,
 | |
|                          VkImage             srcImage,
 | |
|                          VkImageLayout       srcImageLayout,
 | |
|                          VkImage             dstImage,
 | |
|                          VkImageLayout       dstImageLayout,
 | |
|                          uint32_t            regionCount,
 | |
|                          const VkImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImage(
 | |
|         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBlitImage( VkCommandBuffer     commandBuffer,
 | |
|                          VkImage             srcImage,
 | |
|                          VkImageLayout       srcImageLayout,
 | |
|                          VkImage             dstImage,
 | |
|                          VkImageLayout       dstImageLayout,
 | |
|                          uint32_t            regionCount,
 | |
|                          const VkImageBlit * pRegions,
 | |
|                          VkFilter            filter ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBlitImage(
 | |
|         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyBufferToImage( VkCommandBuffer           commandBuffer,
 | |
|                                  VkBuffer                  srcBuffer,
 | |
|                                  VkImage                   dstImage,
 | |
|                                  VkImageLayout             dstImageLayout,
 | |
|                                  uint32_t                  regionCount,
 | |
|                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImageToBuffer( VkCommandBuffer           commandBuffer,
 | |
|                                  VkImage                   srcImage,
 | |
|                                  VkImageLayout             srcImageLayout,
 | |
|                                  VkBuffer                  dstBuffer,
 | |
|                                  uint32_t                  regionCount,
 | |
|                                  const VkBufferImageCopy * pRegions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions );
 | |
|     }
 | |
| 
 | |
|     void vkCmdUpdateBuffer( VkCommandBuffer commandBuffer,
 | |
|                             VkBuffer        dstBuffer,
 | |
|                             VkDeviceSize    dstOffset,
 | |
|                             VkDeviceSize    dataSize,
 | |
|                             const void *    pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData );
 | |
|     }
 | |
| 
 | |
|     void vkCmdFillBuffer( VkCommandBuffer commandBuffer,
 | |
|                           VkBuffer        dstBuffer,
 | |
|                           VkDeviceSize    dstOffset,
 | |
|                           VkDeviceSize    size,
 | |
|                           uint32_t        data ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data );
 | |
|     }
 | |
| 
 | |
|     void vkCmdClearColorImage( VkCommandBuffer                 commandBuffer,
 | |
|                                VkImage                         image,
 | |
|                                VkImageLayout                   imageLayout,
 | |
|                                const VkClearColorValue *       pColor,
 | |
|                                uint32_t                        rangeCount,
 | |
|                                const VkImageSubresourceRange * pRanges ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges );
 | |
|     }
 | |
| 
 | |
|     void vkCmdClearDepthStencilImage( VkCommandBuffer                  commandBuffer,
 | |
|                                       VkImage                          image,
 | |
|                                       VkImageLayout                    imageLayout,
 | |
|                                       const VkClearDepthStencilValue * pDepthStencil,
 | |
|                                       uint32_t                         rangeCount,
 | |
|                                       const VkImageSubresourceRange *  pRanges ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges );
 | |
|     }
 | |
| 
 | |
|     void vkCmdClearAttachments( VkCommandBuffer           commandBuffer,
 | |
|                                 uint32_t                  attachmentCount,
 | |
|                                 const VkClearAttachment * pAttachments,
 | |
|                                 uint32_t                  rectCount,
 | |
|                                 const VkClearRect *       pRects ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResolveImage( VkCommandBuffer        commandBuffer,
 | |
|                             VkImage                srcImage,
 | |
|                             VkImageLayout          srcImageLayout,
 | |
|                             VkImage                dstImage,
 | |
|                             VkImageLayout          dstImageLayout,
 | |
|                             uint32_t               regionCount,
 | |
|                             const VkImageResolve * pRegions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResolveImage(
 | |
|         commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetEvent( VkCommandBuffer      commandBuffer,
 | |
|                         VkEvent              event,
 | |
|                         VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetEvent( commandBuffer, event, stageMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResetEvent( VkCommandBuffer      commandBuffer,
 | |
|                           VkEvent              event,
 | |
|                           VkPipelineStageFlags stageMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResetEvent( commandBuffer, event, stageMask );
 | |
|     }
 | |
| 
 | |
|     void 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 ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWaitEvents( commandBuffer,
 | |
|                                 eventCount,
 | |
|                                 pEvents,
 | |
|                                 srcStageMask,
 | |
|                                 dstStageMask,
 | |
|                                 memoryBarrierCount,
 | |
|                                 pMemoryBarriers,
 | |
|                                 bufferMemoryBarrierCount,
 | |
|                                 pBufferMemoryBarriers,
 | |
|                                 imageMemoryBarrierCount,
 | |
|                                 pImageMemoryBarriers );
 | |
|     }
 | |
| 
 | |
|     void 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 ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPipelineBarrier( commandBuffer,
 | |
|                                      srcStageMask,
 | |
|                                      dstStageMask,
 | |
|                                      dependencyFlags,
 | |
|                                      memoryBarrierCount,
 | |
|                                      pMemoryBarriers,
 | |
|                                      bufferMemoryBarrierCount,
 | |
|                                      pBufferMemoryBarriers,
 | |
|                                      imageMemoryBarrierCount,
 | |
|                                      pImageMemoryBarriers );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginQuery( VkCommandBuffer     commandBuffer,
 | |
|                           VkQueryPool         queryPool,
 | |
|                           uint32_t            query,
 | |
|                           VkQueryControlFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginQuery( commandBuffer, queryPool, query, flags );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndQuery( VkCommandBuffer commandBuffer, VkQueryPool queryPool, uint32_t query ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndQuery( commandBuffer, queryPool, query );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResetQueryPool( VkCommandBuffer commandBuffer,
 | |
|                               VkQueryPool     queryPool,
 | |
|                               uint32_t        firstQuery,
 | |
|                               uint32_t        queryCount ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteTimestamp( VkCommandBuffer         commandBuffer,
 | |
|                               VkPipelineStageFlagBits pipelineStage,
 | |
|                               VkQueryPool             queryPool,
 | |
|                               uint32_t                query ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyQueryPoolResults( VkCommandBuffer    commandBuffer,
 | |
|                                     VkQueryPool        queryPool,
 | |
|                                     uint32_t           firstQuery,
 | |
|                                     uint32_t           queryCount,
 | |
|                                     VkBuffer           dstBuffer,
 | |
|                                     VkDeviceSize       dstOffset,
 | |
|                                     VkDeviceSize       stride,
 | |
|                                     VkQueryResultFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyQueryPoolResults(
 | |
|         commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags );
 | |
|     }
 | |
| 
 | |
|     void vkCmdPushConstants( VkCommandBuffer    commandBuffer,
 | |
|                              VkPipelineLayout   layout,
 | |
|                              VkShaderStageFlags stageFlags,
 | |
|                              uint32_t           offset,
 | |
|                              uint32_t           size,
 | |
|                              const void *       pValues ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginRenderPass( VkCommandBuffer               commandBuffer,
 | |
|                                const VkRenderPassBeginInfo * pRenderPassBegin,
 | |
|                                VkSubpassContents             contents ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents );
 | |
|     }
 | |
| 
 | |
|     void vkCmdNextSubpass( VkCommandBuffer commandBuffer, VkSubpassContents contents ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdNextSubpass( commandBuffer, contents );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndRenderPass( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndRenderPass( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     void vkCmdExecuteCommands( VkCommandBuffer         commandBuffer,
 | |
|                                uint32_t                commandBufferCount,
 | |
|                                const VkCommandBuffer * pCommandBuffers ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers );
 | |
|     }
 | |
| 
 | |
|     //=== VK_VERSION_1_1 ===
 | |
| 
 | |
|     VkResult vkEnumerateInstanceVersion( uint32_t * pApiVersion ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumerateInstanceVersion( pApiVersion );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindBufferMemory2( VkDevice                       device,
 | |
|                                   uint32_t                       bindInfoCount,
 | |
|                                   const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindBufferMemory2( device, bindInfoCount, pBindInfos );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindImageMemory2( VkDevice                      device,
 | |
|                                  uint32_t                      bindInfoCount,
 | |
|                                  const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindImageMemory2( device, bindInfoCount, pBindInfos );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceGroupPeerMemoryFeatures( VkDevice                   device,
 | |
|                                              uint32_t                   heapIndex,
 | |
|                                              uint32_t                   localDeviceIndex,
 | |
|                                              uint32_t                   remoteDeviceIndex,
 | |
|                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceGroupPeerMemoryFeatures(
 | |
|         device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDeviceMask( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDeviceMask( commandBuffer, deviceMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDispatchBase( VkCommandBuffer commandBuffer,
 | |
|                             uint32_t        baseGroupX,
 | |
|                             uint32_t        baseGroupY,
 | |
|                             uint32_t        baseGroupZ,
 | |
|                             uint32_t        groupCountX,
 | |
|                             uint32_t        groupCountY,
 | |
|                             uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDispatchBase(
 | |
|         commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
 | |
|     }
 | |
| 
 | |
|     VkResult vkEnumeratePhysicalDeviceGroups( VkInstance                        instance,
 | |
|                                               uint32_t *                        pPhysicalDeviceGroupCount,
 | |
|                                               VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumeratePhysicalDeviceGroups( instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageMemoryRequirements2( VkDevice                               device,
 | |
|                                         const VkImageMemoryRequirementsInfo2 * pInfo,
 | |
|                                         VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageMemoryRequirements2( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetBufferMemoryRequirements2( VkDevice                                device,
 | |
|                                          const VkBufferMemoryRequirementsInfo2 * pInfo,
 | |
|                                          VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferMemoryRequirements2( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageSparseMemoryRequirements2( VkDevice                                     device,
 | |
|                                               const VkImageSparseMemoryRequirementsInfo2 * pInfo,
 | |
|                                               uint32_t *                         pSparseMemoryRequirementCount,
 | |
|                                               VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageSparseMemoryRequirements2(
 | |
|         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceFeatures2( VkPhysicalDevice            physicalDevice,
 | |
|                                        VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFeatures2( physicalDevice, pFeatures );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceProperties2( VkPhysicalDevice              physicalDevice,
 | |
|                                          VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceProperties2( physicalDevice, pProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceFormatProperties2( VkPhysicalDevice      physicalDevice,
 | |
|                                                VkFormat              format,
 | |
|                                                VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFormatProperties2( physicalDevice, format, pFormatProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceImageFormatProperties2( VkPhysicalDevice                         physicalDevice,
 | |
|                                                         const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
 | |
|                                                         VkImageFormatProperties2 * pImageFormatProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceImageFormatProperties2( physicalDevice, pImageFormatInfo, pImageFormatProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceQueueFamilyProperties2( VkPhysicalDevice           physicalDevice,
 | |
|                                                     uint32_t *                 pQueueFamilyPropertyCount,
 | |
|                                                     VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceQueueFamilyProperties2(
 | |
|         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceMemoryProperties2(
 | |
|       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceMemoryProperties2( physicalDevice, pMemoryProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceSparseImageFormatProperties2( VkPhysicalDevice                               physicalDevice,
 | |
|                                                           const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
 | |
|                                                           uint32_t *                                     pPropertyCount,
 | |
|                                                           VkSparseImageFormatProperties2 * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSparseImageFormatProperties2(
 | |
|         physicalDevice, pFormatInfo, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     void vkTrimCommandPool( VkDevice               device,
 | |
|                             VkCommandPool          commandPool,
 | |
|                             VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkTrimCommandPool( device, commandPool, flags );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceQueue2( VkDevice                   device,
 | |
|                             const VkDeviceQueueInfo2 * pQueueInfo,
 | |
|                             VkQueue *                  pQueue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceQueue2( device, pQueueInfo, pQueue );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateSamplerYcbcrConversion( VkDevice                                   device,
 | |
|                                              const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
 | |
|                                              const VkAllocationCallbacks *              pAllocator,
 | |
|                                              VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSamplerYcbcrConversion( device, pCreateInfo, pAllocator, pYcbcrConversion );
 | |
|     }
 | |
| 
 | |
|     void vkDestroySamplerYcbcrConversion( VkDevice                      device,
 | |
|                                           VkSamplerYcbcrConversion      ycbcrConversion,
 | |
|                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySamplerYcbcrConversion( device, ycbcrConversion, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDescriptorUpdateTemplate( VkDevice                                     device,
 | |
|                                                const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
 | |
|                                                const VkAllocationCallbacks *                pAllocator,
 | |
|                                                VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDescriptorUpdateTemplate( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDescriptorUpdateTemplate( VkDevice                      device,
 | |
|                                             VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
 | |
|                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDescriptorUpdateTemplate( device, descriptorUpdateTemplate, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkUpdateDescriptorSetWithTemplate( VkDevice                   device,
 | |
|                                             VkDescriptorSet            descriptorSet,
 | |
|                                             VkDescriptorUpdateTemplate descriptorUpdateTemplate,
 | |
|                                             const void *               pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUpdateDescriptorSetWithTemplate( device, descriptorSet, descriptorUpdateTemplate, pData );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalBufferProperties( VkPhysicalDevice                           physicalDevice,
 | |
|                                                       const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
 | |
|                                                       VkExternalBufferProperties * pExternalBufferProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalBufferProperties(
 | |
|         physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalFenceProperties( VkPhysicalDevice                          physicalDevice,
 | |
|                                                      const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
 | |
|                                                      VkExternalFenceProperties * pExternalFenceProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalFenceProperties(
 | |
|         physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalSemaphoreProperties(
 | |
|       VkPhysicalDevice                              physicalDevice,
 | |
|       const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
 | |
|       VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalSemaphoreProperties(
 | |
|         physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetDescriptorSetLayoutSupport( VkDevice                                device,
 | |
|                                           const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
 | |
|                                           VkDescriptorSetLayoutSupport *          pSupport ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDescriptorSetLayoutSupport( device, pCreateInfo, pSupport );
 | |
|     }
 | |
| 
 | |
|     //=== VK_VERSION_1_2 ===
 | |
| 
 | |
|     void vkCmdDrawIndirectCount( VkCommandBuffer commandBuffer,
 | |
|                                  VkBuffer        buffer,
 | |
|                                  VkDeviceSize    offset,
 | |
|                                  VkBuffer        countBuffer,
 | |
|                                  VkDeviceSize    countBufferOffset,
 | |
|                                  uint32_t        maxDrawCount,
 | |
|                                  uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndirectCount(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndexedIndirectCount( VkCommandBuffer commandBuffer,
 | |
|                                         VkBuffer        buffer,
 | |
|                                         VkDeviceSize    offset,
 | |
|                                         VkBuffer        countBuffer,
 | |
|                                         VkDeviceSize    countBufferOffset,
 | |
|                                         uint32_t        maxDrawCount,
 | |
|                                         uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndexedIndirectCount(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateRenderPass2( VkDevice                        device,
 | |
|                                   const VkRenderPassCreateInfo2 * pCreateInfo,
 | |
|                                   const VkAllocationCallbacks *   pAllocator,
 | |
|                                   VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateRenderPass2( device, pCreateInfo, pAllocator, pRenderPass );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginRenderPass2( VkCommandBuffer               commandBuffer,
 | |
|                                 const VkRenderPassBeginInfo * pRenderPassBegin,
 | |
|                                 const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdNextSubpass2( VkCommandBuffer            commandBuffer,
 | |
|                             const VkSubpassBeginInfo * pSubpassBeginInfo,
 | |
|                             const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndRenderPass2( VkCommandBuffer          commandBuffer,
 | |
|                               const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo );
 | |
|     }
 | |
| 
 | |
|     void vkResetQueryPool( VkDevice    device,
 | |
|                            VkQueryPool queryPool,
 | |
|                            uint32_t    firstQuery,
 | |
|                            uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetQueryPool( device, queryPool, firstQuery, queryCount );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkGetSemaphoreCounterValue( VkDevice device, VkSemaphore semaphore, uint64_t * pValue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSemaphoreCounterValue( device, semaphore, pValue );
 | |
|     }
 | |
| 
 | |
|     VkResult vkWaitSemaphores( VkDevice                    device,
 | |
|                                const VkSemaphoreWaitInfo * pWaitInfo,
 | |
|                                uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkWaitSemaphores( device, pWaitInfo, timeout );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSignalSemaphore( VkDevice device, const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSignalSemaphore( device, pSignalInfo );
 | |
|     }
 | |
| 
 | |
|     VkDeviceAddress vkGetBufferDeviceAddress( VkDevice                          device,
 | |
|                                               const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferDeviceAddress( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     uint64_t vkGetBufferOpaqueCaptureAddress( VkDevice                          device,
 | |
|                                               const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferOpaqueCaptureAddress( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     uint64_t vkGetDeviceMemoryOpaqueCaptureAddress(
 | |
|       VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceMemoryOpaqueCaptureAddress( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_VERSION_1_3 ===
 | |
| 
 | |
|     VkResult
 | |
|       vkGetPhysicalDeviceToolProperties( VkPhysicalDevice                 physicalDevice,
 | |
|                                          uint32_t *                       pToolCount,
 | |
|                                          VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceToolProperties( physicalDevice, pToolCount, pToolProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreatePrivateDataSlot( VkDevice                            device,
 | |
|                                       const VkPrivateDataSlotCreateInfo * pCreateInfo,
 | |
|                                       const VkAllocationCallbacks *       pAllocator,
 | |
|                                       VkPrivateDataSlot *                 pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreatePrivateDataSlot( device, pCreateInfo, pAllocator, pPrivateDataSlot );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyPrivateDataSlot( VkDevice                      device,
 | |
|                                    VkPrivateDataSlot             privateDataSlot,
 | |
|                                    const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyPrivateDataSlot( device, privateDataSlot, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetPrivateData( VkDevice          device,
 | |
|                                VkObjectType      objectType,
 | |
|                                uint64_t          objectHandle,
 | |
|                                VkPrivateDataSlot privateDataSlot,
 | |
|                                uint64_t          data ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetPrivateData( device, objectType, objectHandle, privateDataSlot, data );
 | |
|     }
 | |
| 
 | |
|     void vkGetPrivateData( VkDevice          device,
 | |
|                            VkObjectType      objectType,
 | |
|                            uint64_t          objectHandle,
 | |
|                            VkPrivateDataSlot privateDataSlot,
 | |
|                            uint64_t *        pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPrivateData( device, objectType, objectHandle, privateDataSlot, pData );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetEvent2( VkCommandBuffer          commandBuffer,
 | |
|                          VkEvent                  event,
 | |
|                          const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetEvent2( commandBuffer, event, pDependencyInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResetEvent2( VkCommandBuffer       commandBuffer,
 | |
|                            VkEvent               event,
 | |
|                            VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResetEvent2( commandBuffer, event, stageMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWaitEvents2( VkCommandBuffer          commandBuffer,
 | |
|                            uint32_t                 eventCount,
 | |
|                            const VkEvent *          pEvents,
 | |
|                            const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos );
 | |
|     }
 | |
| 
 | |
|     void vkCmdPipelineBarrier2( VkCommandBuffer          commandBuffer,
 | |
|                                 const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteTimestamp2( VkCommandBuffer       commandBuffer,
 | |
|                                VkPipelineStageFlags2 stage,
 | |
|                                VkQueryPool           queryPool,
 | |
|                                uint32_t              query ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueueSubmit2( VkQueue               queue,
 | |
|                              uint32_t              submitCount,
 | |
|                              const VkSubmitInfo2 * pSubmits,
 | |
|                              VkFence               fence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueSubmit2( queue, submitCount, pSubmits, fence );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyBuffer2( VkCommandBuffer           commandBuffer,
 | |
|                            const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImage2( VkCommandBuffer          commandBuffer,
 | |
|                           const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImage2( commandBuffer, pCopyImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyBufferToImage2( VkCommandBuffer                  commandBuffer,
 | |
|                                   const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImageToBuffer2( VkCommandBuffer                  commandBuffer,
 | |
|                                   const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBlitImage2( VkCommandBuffer          commandBuffer,
 | |
|                           const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBlitImage2( commandBuffer, pBlitImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResolveImage2( VkCommandBuffer             commandBuffer,
 | |
|                              const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResolveImage2( commandBuffer, pResolveImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginRendering( VkCommandBuffer         commandBuffer,
 | |
|                               const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginRendering( commandBuffer, pRenderingInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndRendering( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndRendering( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetCullMode( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetCullMode( commandBuffer, cullMode );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetFrontFace( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetFrontFace( commandBuffer, frontFace );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetPrimitiveTopology( VkCommandBuffer     commandBuffer,
 | |
|                                     VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetViewportWithCount( VkCommandBuffer    commandBuffer,
 | |
|                                     uint32_t           viewportCount,
 | |
|                                     const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetScissorWithCount( VkCommandBuffer  commandBuffer,
 | |
|                                    uint32_t         scissorCount,
 | |
|                                    const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindVertexBuffers2( VkCommandBuffer      commandBuffer,
 | |
|                                   uint32_t             firstBinding,
 | |
|                                   uint32_t             bindingCount,
 | |
|                                   const VkBuffer *     pBuffers,
 | |
|                                   const VkDeviceSize * pOffsets,
 | |
|                                   const VkDeviceSize * pSizes,
 | |
|                                   const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindVertexBuffers2(
 | |
|         commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthTestEnable( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthWriteEnable( VkCommandBuffer commandBuffer, VkBool32 depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthCompareOp( VkCommandBuffer commandBuffer, VkCompareOp depthCompareOp ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBoundsTestEnable( VkCommandBuffer commandBuffer,
 | |
|                                         VkBool32        depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilTestEnable( VkCommandBuffer commandBuffer,
 | |
|                                     VkBool32        stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilOp( VkCommandBuffer    commandBuffer,
 | |
|                             VkStencilFaceFlags faceMask,
 | |
|                             VkStencilOp        failOp,
 | |
|                             VkStencilOp        passOp,
 | |
|                             VkStencilOp        depthFailOp,
 | |
|                             VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetRasterizerDiscardEnable( VkCommandBuffer commandBuffer,
 | |
|                                           VkBool32        rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBiasEnable( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetPrimitiveRestartEnable( VkCommandBuffer commandBuffer,
 | |
|                                          VkBool32        primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceBufferMemoryRequirements( VkDevice                                 device,
 | |
|                                               const VkDeviceBufferMemoryRequirements * pInfo,
 | |
|                                               VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceBufferMemoryRequirements( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceImageMemoryRequirements( VkDevice                                device,
 | |
|                                              const VkDeviceImageMemoryRequirements * pInfo,
 | |
|                                              VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceImageMemoryRequirements( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceImageSparseMemoryRequirements( VkDevice                                device,
 | |
|                                                    const VkDeviceImageMemoryRequirements * pInfo,
 | |
|                                                    uint32_t *                         pSparseMemoryRequirementCount,
 | |
|                                                    VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceImageSparseMemoryRequirements(
 | |
|         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_surface ===
 | |
| 
 | |
|     void vkDestroySurfaceKHR( VkInstance                    instance,
 | |
|                               VkSurfaceKHR                  surface,
 | |
|                               const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySurfaceKHR( instance, surface, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceSupportKHR( VkPhysicalDevice physicalDevice,
 | |
|                                                    uint32_t         queueFamilyIndex,
 | |
|                                                    VkSurfaceKHR     surface,
 | |
|                                                    VkBool32 *       pSupported ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceSupportKHR( physicalDevice, queueFamilyIndex, surface, pSupported );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceCapabilitiesKHR( VkPhysicalDevice           physicalDevice,
 | |
|                                                         VkSurfaceKHR               surface,
 | |
|                                                         VkSurfaceCapabilitiesKHR * pSurfaceCapabilities ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceCapabilitiesKHR( physicalDevice, surface, pSurfaceCapabilities );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceFormatsKHR( VkPhysicalDevice     physicalDevice,
 | |
|                                                    VkSurfaceKHR         surface,
 | |
|                                                    uint32_t *           pSurfaceFormatCount,
 | |
|                                                    VkSurfaceFormatKHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceFormatsKHR( physicalDevice, surface, pSurfaceFormatCount, pSurfaceFormats );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfacePresentModesKHR( VkPhysicalDevice   physicalDevice,
 | |
|                                                         VkSurfaceKHR       surface,
 | |
|                                                         uint32_t *         pPresentModeCount,
 | |
|                                                         VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfacePresentModesKHR( physicalDevice, surface, pPresentModeCount, pPresentModes );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_swapchain ===
 | |
| 
 | |
|     VkResult vkCreateSwapchainKHR( VkDevice                         device,
 | |
|                                    const VkSwapchainCreateInfoKHR * pCreateInfo,
 | |
|                                    const VkAllocationCallbacks *    pAllocator,
 | |
|                                    VkSwapchainKHR *                 pSwapchain ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSwapchainKHR( device, pCreateInfo, pAllocator, pSwapchain );
 | |
|     }
 | |
| 
 | |
|     void vkDestroySwapchainKHR( VkDevice                      device,
 | |
|                                 VkSwapchainKHR                swapchain,
 | |
|                                 const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySwapchainKHR( device, swapchain, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetSwapchainImagesKHR( VkDevice       device,
 | |
|                                       VkSwapchainKHR swapchain,
 | |
|                                       uint32_t *     pSwapchainImageCount,
 | |
|                                       VkImage *      pSwapchainImages ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSwapchainImagesKHR( device, swapchain, pSwapchainImageCount, pSwapchainImages );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAcquireNextImageKHR( VkDevice       device,
 | |
|                                     VkSwapchainKHR swapchain,
 | |
|                                     uint64_t       timeout,
 | |
|                                     VkSemaphore    semaphore,
 | |
|                                     VkFence        fence,
 | |
|                                     uint32_t *     pImageIndex ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireNextImageKHR( device, swapchain, timeout, semaphore, fence, pImageIndex );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueuePresentKHR( VkQueue queue, const VkPresentInfoKHR * pPresentInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueuePresentKHR( queue, pPresentInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDeviceGroupPresentCapabilitiesKHR(
 | |
|       VkDevice device, VkDeviceGroupPresentCapabilitiesKHR * pDeviceGroupPresentCapabilities ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceGroupPresentCapabilitiesKHR( device, pDeviceGroupPresentCapabilities );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDeviceGroupSurfacePresentModesKHR(
 | |
|       VkDevice device, VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceGroupSurfacePresentModesKHR( device, surface, pModes );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDevicePresentRectanglesKHR( VkPhysicalDevice physicalDevice,
 | |
|                                                       VkSurfaceKHR     surface,
 | |
|                                                       uint32_t *       pRectCount,
 | |
|                                                       VkRect2D *       pRects ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDevicePresentRectanglesKHR( physicalDevice, surface, pRectCount, pRects );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAcquireNextImage2KHR( VkDevice                          device,
 | |
|                                      const VkAcquireNextImageInfoKHR * pAcquireInfo,
 | |
|                                      uint32_t *                        pImageIndex ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireNextImage2KHR( device, pAcquireInfo, pImageIndex );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_display ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceDisplayPropertiesKHR( VkPhysicalDevice         physicalDevice,
 | |
|                                                       uint32_t *               pPropertyCount,
 | |
|                                                       VkDisplayPropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceDisplayPropertiesKHR( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceDisplayPlanePropertiesKHR( VkPhysicalDevice              physicalDevice,
 | |
|                                                            uint32_t *                    pPropertyCount,
 | |
|                                                            VkDisplayPlanePropertiesKHR * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceDisplayPlanePropertiesKHR( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDisplayPlaneSupportedDisplaysKHR( VkPhysicalDevice physicalDevice,
 | |
|                                                     uint32_t         planeIndex,
 | |
|                                                     uint32_t *       pDisplayCount,
 | |
|                                                     VkDisplayKHR *   pDisplays ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDisplayPlaneSupportedDisplaysKHR( physicalDevice, planeIndex, pDisplayCount, pDisplays );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDisplayModePropertiesKHR( VkPhysicalDevice             physicalDevice,
 | |
|                                             VkDisplayKHR                 display,
 | |
|                                             uint32_t *                   pPropertyCount,
 | |
|                                             VkDisplayModePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDisplayModePropertiesKHR( physicalDevice, display, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDisplayModeKHR( VkPhysicalDevice                   physicalDevice,
 | |
|                                      VkDisplayKHR                       display,
 | |
|                                      const VkDisplayModeCreateInfoKHR * pCreateInfo,
 | |
|                                      const VkAllocationCallbacks *      pAllocator,
 | |
|                                      VkDisplayModeKHR *                 pMode ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDisplayModeKHR( physicalDevice, display, pCreateInfo, pAllocator, pMode );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDisplayPlaneCapabilitiesKHR( VkPhysicalDevice                physicalDevice,
 | |
|                                                VkDisplayModeKHR                mode,
 | |
|                                                uint32_t                        planeIndex,
 | |
|                                                VkDisplayPlaneCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDisplayPlaneCapabilitiesKHR( physicalDevice, mode, planeIndex, pCapabilities );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDisplayPlaneSurfaceKHR( VkInstance                            instance,
 | |
|                                              const VkDisplaySurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                              const VkAllocationCallbacks *         pAllocator,
 | |
|                                              VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDisplayPlaneSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_display_swapchain ===
 | |
| 
 | |
|     VkResult vkCreateSharedSwapchainsKHR( VkDevice                         device,
 | |
|                                           uint32_t                         swapchainCount,
 | |
|                                           const VkSwapchainCreateInfoKHR * pCreateInfos,
 | |
|                                           const VkAllocationCallbacks *    pAllocator,
 | |
|                                           VkSwapchainKHR *                 pSwapchains ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSharedSwapchainsKHR( device, swapchainCount, pCreateInfos, pAllocator, pSwapchains );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_XLIB_KHR )
 | |
|     //=== VK_KHR_xlib_surface ===
 | |
| 
 | |
|     VkResult vkCreateXlibSurfaceKHR( VkInstance                         instance,
 | |
|                                      const VkXlibSurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                      const VkAllocationCallbacks *      pAllocator,
 | |
|                                      VkSurfaceKHR *                     pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateXlibSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceXlibPresentationSupportKHR( VkPhysicalDevice physicalDevice,
 | |
|                                                             uint32_t         queueFamilyIndex,
 | |
|                                                             Display *        dpy,
 | |
|                                                             VisualID         visualID ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceXlibPresentationSupportKHR( physicalDevice, queueFamilyIndex, dpy, visualID );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_XLIB_KHR*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_XCB_KHR )
 | |
|     //=== VK_KHR_xcb_surface ===
 | |
| 
 | |
|     VkResult vkCreateXcbSurfaceKHR( VkInstance                        instance,
 | |
|                                     const VkXcbSurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                     const VkAllocationCallbacks *     pAllocator,
 | |
|                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateXcbSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceXcbPresentationSupportKHR( VkPhysicalDevice   physicalDevice,
 | |
|                                                            uint32_t           queueFamilyIndex,
 | |
|                                                            xcb_connection_t * connection,
 | |
|                                                            xcb_visualid_t     visual_id ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceXcbPresentationSupportKHR( physicalDevice, queueFamilyIndex, connection, visual_id );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_XCB_KHR*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WAYLAND_KHR )
 | |
|     //=== VK_KHR_wayland_surface ===
 | |
| 
 | |
|     VkResult vkCreateWaylandSurfaceKHR( VkInstance                            instance,
 | |
|                                         const VkWaylandSurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                         const VkAllocationCallbacks *         pAllocator,
 | |
|                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateWaylandSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceWaylandPresentationSupportKHR( VkPhysicalDevice    physicalDevice,
 | |
|                                                                uint32_t            queueFamilyIndex,
 | |
|                                                                struct wl_display * display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceWaylandPresentationSupportKHR( physicalDevice, queueFamilyIndex, display );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|     //=== VK_KHR_android_surface ===
 | |
| 
 | |
|     VkResult vkCreateAndroidSurfaceKHR( VkInstance                            instance,
 | |
|                                         const VkAndroidSurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                         const VkAllocationCallbacks *         pAllocator,
 | |
|                                         VkSurfaceKHR *                        pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateAndroidSurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_win32_surface ===
 | |
| 
 | |
|     VkResult vkCreateWin32SurfaceKHR( VkInstance                          instance,
 | |
|                                       const VkWin32SurfaceCreateInfoKHR * pCreateInfo,
 | |
|                                       const VkAllocationCallbacks *       pAllocator,
 | |
|                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateWin32SurfaceKHR( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceWin32PresentationSupportKHR( VkPhysicalDevice physicalDevice,
 | |
|                                                              uint32_t queueFamilyIndex ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceWin32PresentationSupportKHR( physicalDevice, queueFamilyIndex );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_debug_report ===
 | |
| 
 | |
|     VkResult vkCreateDebugReportCallbackEXT( VkInstance                                 instance,
 | |
|                                              const VkDebugReportCallbackCreateInfoEXT * pCreateInfo,
 | |
|                                              const VkAllocationCallbacks *              pAllocator,
 | |
|                                              VkDebugReportCallbackEXT * pCallback ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDebugReportCallbackEXT( instance, pCreateInfo, pAllocator, pCallback );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDebugReportCallbackEXT( VkInstance                    instance,
 | |
|                                           VkDebugReportCallbackEXT      callback,
 | |
|                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDebugReportCallbackEXT( instance, callback, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkDebugReportMessageEXT( VkInstance                 instance,
 | |
|                                   VkDebugReportFlagsEXT      flags,
 | |
|                                   VkDebugReportObjectTypeEXT objectType,
 | |
|                                   uint64_t                   object,
 | |
|                                   size_t                     location,
 | |
|                                   int32_t                    messageCode,
 | |
|                                   const char *               pLayerPrefix,
 | |
|                                   const char *               pMessage ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDebugReportMessageEXT(
 | |
|         instance, flags, objectType, object, location, messageCode, pLayerPrefix, pMessage );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_debug_marker ===
 | |
| 
 | |
|     VkResult vkDebugMarkerSetObjectTagEXT( VkDevice                              device,
 | |
|                                            const VkDebugMarkerObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDebugMarkerSetObjectTagEXT( device, pTagInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkDebugMarkerSetObjectNameEXT( VkDevice                               device,
 | |
|                                             const VkDebugMarkerObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDebugMarkerSetObjectNameEXT( device, pNameInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDebugMarkerBeginEXT( VkCommandBuffer                    commandBuffer,
 | |
|                                    const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDebugMarkerEndEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDebugMarkerEndEXT( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDebugMarkerInsertEXT( VkCommandBuffer                    commandBuffer,
 | |
|                                     const VkDebugMarkerMarkerInfoEXT * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_queue ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceVideoCapabilitiesKHR( VkPhysicalDevice          physicalDevice,
 | |
|                                                       const VkVideoProfileKHR * pVideoProfile,
 | |
|                                                       VkVideoCapabilitiesKHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceVideoCapabilitiesKHR( physicalDevice, pVideoProfile, pCapabilities );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceVideoFormatPropertiesKHR( VkPhysicalDevice                           physicalDevice,
 | |
|                                                           const VkPhysicalDeviceVideoFormatInfoKHR * pVideoFormatInfo,
 | |
|                                                           uint32_t *                   pVideoFormatPropertyCount,
 | |
|                                                           VkVideoFormatPropertiesKHR * pVideoFormatProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceVideoFormatPropertiesKHR(
 | |
|         physicalDevice, pVideoFormatInfo, pVideoFormatPropertyCount, pVideoFormatProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateVideoSessionKHR( VkDevice                            device,
 | |
|                                       const VkVideoSessionCreateInfoKHR * pCreateInfo,
 | |
|                                       const VkAllocationCallbacks *       pAllocator,
 | |
|                                       VkVideoSessionKHR *                 pVideoSession ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateVideoSessionKHR( device, pCreateInfo, pAllocator, pVideoSession );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyVideoSessionKHR( VkDevice                      device,
 | |
|                                    VkVideoSessionKHR             videoSession,
 | |
|                                    const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyVideoSessionKHR( device, videoSession, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetVideoSessionMemoryRequirementsKHR(
 | |
|       VkDevice                        device,
 | |
|       VkVideoSessionKHR               videoSession,
 | |
|       uint32_t *                      pVideoSessionMemoryRequirementsCount,
 | |
|       VkVideoGetMemoryPropertiesKHR * pVideoSessionMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetVideoSessionMemoryRequirementsKHR(
 | |
|         device, videoSession, pVideoSessionMemoryRequirementsCount, pVideoSessionMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkBindVideoSessionMemoryKHR( VkDevice                     device,
 | |
|                                    VkVideoSessionKHR            videoSession,
 | |
|                                    uint32_t                     videoSessionBindMemoryCount,
 | |
|                                    const VkVideoBindMemoryKHR * pVideoSessionBindMemories ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindVideoSessionMemoryKHR(
 | |
|         device, videoSession, videoSessionBindMemoryCount, pVideoSessionBindMemories );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateVideoSessionParametersKHR( VkDevice                                      device,
 | |
|                                                 const VkVideoSessionParametersCreateInfoKHR * pCreateInfo,
 | |
|                                                 const VkAllocationCallbacks *                 pAllocator,
 | |
|                                                 VkVideoSessionParametersKHR * pVideoSessionParameters ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateVideoSessionParametersKHR( device, pCreateInfo, pAllocator, pVideoSessionParameters );
 | |
|     }
 | |
| 
 | |
|     VkResult vkUpdateVideoSessionParametersKHR( VkDevice                                      device,
 | |
|                                                 VkVideoSessionParametersKHR                   videoSessionParameters,
 | |
|                                                 const VkVideoSessionParametersUpdateInfoKHR * pUpdateInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUpdateVideoSessionParametersKHR( device, videoSessionParameters, pUpdateInfo );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyVideoSessionParametersKHR( VkDevice                      device,
 | |
|                                              VkVideoSessionParametersKHR   videoSessionParameters,
 | |
|                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyVideoSessionParametersKHR( device, videoSessionParameters, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginVideoCodingKHR( VkCommandBuffer                   commandBuffer,
 | |
|                                    const VkVideoBeginCodingInfoKHR * pBeginInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndVideoCodingKHR( VkCommandBuffer                 commandBuffer,
 | |
|                                  const VkVideoEndCodingInfoKHR * pEndCodingInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdControlVideoCodingKHR( VkCommandBuffer                     commandBuffer,
 | |
|                                      const VkVideoCodingControlInfoKHR * pCodingControlInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo );
 | |
|     }
 | |
| #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #  if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_decode_queue ===
 | |
| 
 | |
|     void vkCmdDecodeVideoKHR( VkCommandBuffer              commandBuffer,
 | |
|                               const VkVideoDecodeInfoKHR * pFrameInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDecodeVideoKHR( commandBuffer, pFrameInfo );
 | |
|     }
 | |
| #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|     //=== VK_EXT_transform_feedback ===
 | |
| 
 | |
|     void vkCmdBindTransformFeedbackBuffersEXT( VkCommandBuffer      commandBuffer,
 | |
|                                                uint32_t             firstBinding,
 | |
|                                                uint32_t             bindingCount,
 | |
|                                                const VkBuffer *     pBuffers,
 | |
|                                                const VkDeviceSize * pOffsets,
 | |
|                                                const VkDeviceSize * pSizes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindTransformFeedbackBuffersEXT(
 | |
|         commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
 | |
|                                          uint32_t             firstCounterBuffer,
 | |
|                                          uint32_t             counterBufferCount,
 | |
|                                          const VkBuffer *     pCounterBuffers,
 | |
|                                          const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginTransformFeedbackEXT(
 | |
|         commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndTransformFeedbackEXT( VkCommandBuffer      commandBuffer,
 | |
|                                        uint32_t             firstCounterBuffer,
 | |
|                                        uint32_t             counterBufferCount,
 | |
|                                        const VkBuffer *     pCounterBuffers,
 | |
|                                        const VkDeviceSize * pCounterBufferOffsets ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndTransformFeedbackEXT(
 | |
|         commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginQueryIndexedEXT( VkCommandBuffer     commandBuffer,
 | |
|                                     VkQueryPool         queryPool,
 | |
|                                     uint32_t            query,
 | |
|                                     VkQueryControlFlags flags,
 | |
|                                     uint32_t            index ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndQueryIndexedEXT( VkCommandBuffer commandBuffer,
 | |
|                                   VkQueryPool     queryPool,
 | |
|                                   uint32_t        query,
 | |
|                                   uint32_t        index ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndirectByteCountEXT( VkCommandBuffer commandBuffer,
 | |
|                                         uint32_t        instanceCount,
 | |
|                                         uint32_t        firstInstance,
 | |
|                                         VkBuffer        counterBuffer,
 | |
|                                         VkDeviceSize    counterBufferOffset,
 | |
|                                         uint32_t        counterOffset,
 | |
|                                         uint32_t        vertexStride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndirectByteCountEXT(
 | |
|         commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NVX_binary_import ===
 | |
| 
 | |
|     VkResult vkCreateCuModuleNVX( VkDevice                        device,
 | |
|                                   const VkCuModuleCreateInfoNVX * pCreateInfo,
 | |
|                                   const VkAllocationCallbacks *   pAllocator,
 | |
|                                   VkCuModuleNVX *                 pModule ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateCuModuleNVX( device, pCreateInfo, pAllocator, pModule );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateCuFunctionNVX( VkDevice                          device,
 | |
|                                     const VkCuFunctionCreateInfoNVX * pCreateInfo,
 | |
|                                     const VkAllocationCallbacks *     pAllocator,
 | |
|                                     VkCuFunctionNVX *                 pFunction ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateCuFunctionNVX( device, pCreateInfo, pAllocator, pFunction );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyCuModuleNVX( VkDevice                      device,
 | |
|                                VkCuModuleNVX                 module,
 | |
|                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyCuModuleNVX( device, module, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyCuFunctionNVX( VkDevice                      device,
 | |
|                                  VkCuFunctionNVX               function,
 | |
|                                  const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyCuFunctionNVX( device, function, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCuLaunchKernelNVX( VkCommandBuffer           commandBuffer,
 | |
|                                  const VkCuLaunchInfoNVX * pLaunchInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NVX_image_view_handle ===
 | |
| 
 | |
|     uint32_t vkGetImageViewHandleNVX( VkDevice                         device,
 | |
|                                       const VkImageViewHandleInfoNVX * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageViewHandleNVX( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetImageViewAddressNVX( VkDevice                          device,
 | |
|                                        VkImageView                       imageView,
 | |
|                                        VkImageViewAddressPropertiesNVX * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageViewAddressNVX( device, imageView, pProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_AMD_draw_indirect_count ===
 | |
| 
 | |
|     void vkCmdDrawIndirectCountAMD( VkCommandBuffer commandBuffer,
 | |
|                                     VkBuffer        buffer,
 | |
|                                     VkDeviceSize    offset,
 | |
|                                     VkBuffer        countBuffer,
 | |
|                                     VkDeviceSize    countBufferOffset,
 | |
|                                     uint32_t        maxDrawCount,
 | |
|                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndirectCountAMD(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndexedIndirectCountAMD( VkCommandBuffer commandBuffer,
 | |
|                                            VkBuffer        buffer,
 | |
|                                            VkDeviceSize    offset,
 | |
|                                            VkBuffer        countBuffer,
 | |
|                                            VkDeviceSize    countBufferOffset,
 | |
|                                            uint32_t        maxDrawCount,
 | |
|                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndexedIndirectCountAMD(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     //=== VK_AMD_shader_info ===
 | |
| 
 | |
|     VkResult vkGetShaderInfoAMD( VkDevice              device,
 | |
|                                  VkPipeline            pipeline,
 | |
|                                  VkShaderStageFlagBits shaderStage,
 | |
|                                  VkShaderInfoTypeAMD   infoType,
 | |
|                                  size_t *              pInfoSize,
 | |
|                                  void *                pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetShaderInfoAMD( device, pipeline, shaderStage, infoType, pInfoSize, pInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_dynamic_rendering ===
 | |
| 
 | |
|     void vkCmdBeginRenderingKHR( VkCommandBuffer         commandBuffer,
 | |
|                                  const VkRenderingInfo * pRenderingInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginRenderingKHR( commandBuffer, pRenderingInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndRenderingKHR( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndRenderingKHR( commandBuffer );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_GGP )
 | |
|     //=== VK_GGP_stream_descriptor_surface ===
 | |
| 
 | |
|     VkResult vkCreateStreamDescriptorSurfaceGGP( VkInstance                                     instance,
 | |
|                                                  const VkStreamDescriptorSurfaceCreateInfoGGP * pCreateInfo,
 | |
|                                                  const VkAllocationCallbacks *                  pAllocator,
 | |
|                                                  VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateStreamDescriptorSurfaceGGP( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_GGP*/
 | |
| 
 | |
|     //=== VK_NV_external_memory_capabilities ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
 | |
|       VkPhysicalDevice                    physicalDevice,
 | |
|       VkFormat                            format,
 | |
|       VkImageType                         type,
 | |
|       VkImageTiling                       tiling,
 | |
|       VkImageUsageFlags                   usage,
 | |
|       VkImageCreateFlags                  flags,
 | |
|       VkExternalMemoryHandleTypeFlagsNV   externalHandleType,
 | |
|       VkExternalImageFormatPropertiesNV * pExternalImageFormatProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
 | |
|         physicalDevice, format, type, tiling, usage, flags, externalHandleType, pExternalImageFormatProperties );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_NV_external_memory_win32 ===
 | |
| 
 | |
|     VkResult vkGetMemoryWin32HandleNV( VkDevice                          device,
 | |
|                                        VkDeviceMemory                    memory,
 | |
|                                        VkExternalMemoryHandleTypeFlagsNV handleType,
 | |
|                                        HANDLE *                          pHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryWin32HandleNV( device, memory, handleType, pHandle );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_get_physical_device_properties2 ===
 | |
| 
 | |
|     void vkGetPhysicalDeviceFeatures2KHR( VkPhysicalDevice            physicalDevice,
 | |
|                                           VkPhysicalDeviceFeatures2 * pFeatures ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFeatures2KHR( physicalDevice, pFeatures );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceProperties2KHR( VkPhysicalDevice              physicalDevice,
 | |
|                                             VkPhysicalDeviceProperties2 * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceProperties2KHR( physicalDevice, pProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceFormatProperties2KHR( VkPhysicalDevice      physicalDevice,
 | |
|                                                   VkFormat              format,
 | |
|                                                   VkFormatProperties2 * pFormatProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFormatProperties2KHR( physicalDevice, format, pFormatProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceImageFormatProperties2KHR( VkPhysicalDevice                         physicalDevice,
 | |
|                                                            const VkPhysicalDeviceImageFormatInfo2 * pImageFormatInfo,
 | |
|                                                            VkImageFormatProperties2 * pImageFormatProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceImageFormatProperties2KHR( physicalDevice, pImageFormatInfo, pImageFormatProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceQueueFamilyProperties2KHR( VkPhysicalDevice           physicalDevice,
 | |
|                                                        uint32_t *                 pQueueFamilyPropertyCount,
 | |
|                                                        VkQueueFamilyProperties2 * pQueueFamilyProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceQueueFamilyProperties2KHR(
 | |
|         physicalDevice, pQueueFamilyPropertyCount, pQueueFamilyProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceMemoryProperties2KHR(
 | |
|       VkPhysicalDevice physicalDevice, VkPhysicalDeviceMemoryProperties2 * pMemoryProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceMemoryProperties2KHR( physicalDevice, pMemoryProperties );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceSparseImageFormatProperties2KHR( VkPhysicalDevice physicalDevice,
 | |
|                                                              const VkPhysicalDeviceSparseImageFormatInfo2 * pFormatInfo,
 | |
|                                                              uint32_t *                       pPropertyCount,
 | |
|                                                              VkSparseImageFormatProperties2 * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
 | |
|         physicalDevice, pFormatInfo, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_device_group ===
 | |
| 
 | |
|     void
 | |
|       vkGetDeviceGroupPeerMemoryFeaturesKHR( VkDevice                   device,
 | |
|                                              uint32_t                   heapIndex,
 | |
|                                              uint32_t                   localDeviceIndex,
 | |
|                                              uint32_t                   remoteDeviceIndex,
 | |
|                                              VkPeerMemoryFeatureFlags * pPeerMemoryFeatures ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceGroupPeerMemoryFeaturesKHR(
 | |
|         device, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDeviceMaskKHR( VkCommandBuffer commandBuffer, uint32_t deviceMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDeviceMaskKHR( commandBuffer, deviceMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDispatchBaseKHR( VkCommandBuffer commandBuffer,
 | |
|                                uint32_t        baseGroupX,
 | |
|                                uint32_t        baseGroupY,
 | |
|                                uint32_t        baseGroupZ,
 | |
|                                uint32_t        groupCountX,
 | |
|                                uint32_t        groupCountY,
 | |
|                                uint32_t        groupCountZ ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDispatchBaseKHR(
 | |
|         commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_VI_NN )
 | |
|     //=== VK_NN_vi_surface ===
 | |
| 
 | |
|     VkResult vkCreateViSurfaceNN( VkInstance                      instance,
 | |
|                                   const VkViSurfaceCreateInfoNN * pCreateInfo,
 | |
|                                   const VkAllocationCallbacks *   pAllocator,
 | |
|                                   VkSurfaceKHR *                  pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateViSurfaceNN( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_VI_NN*/
 | |
| 
 | |
|     //=== VK_KHR_maintenance1 ===
 | |
| 
 | |
|     void vkTrimCommandPoolKHR( VkDevice               device,
 | |
|                                VkCommandPool          commandPool,
 | |
|                                VkCommandPoolTrimFlags flags ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkTrimCommandPoolKHR( device, commandPool, flags );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_device_group_creation ===
 | |
| 
 | |
|     VkResult vkEnumeratePhysicalDeviceGroupsKHR(
 | |
|       VkInstance                        instance,
 | |
|       uint32_t *                        pPhysicalDeviceGroupCount,
 | |
|       VkPhysicalDeviceGroupProperties * pPhysicalDeviceGroupProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumeratePhysicalDeviceGroupsKHR(
 | |
|         instance, pPhysicalDeviceGroupCount, pPhysicalDeviceGroupProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_external_memory_capabilities ===
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalBufferPropertiesKHR( VkPhysicalDevice                           physicalDevice,
 | |
|                                                          const VkPhysicalDeviceExternalBufferInfo * pExternalBufferInfo,
 | |
|                                                          VkExternalBufferProperties * pExternalBufferProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalBufferPropertiesKHR(
 | |
|         physicalDevice, pExternalBufferInfo, pExternalBufferProperties );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_memory_win32 ===
 | |
| 
 | |
|     VkResult vkGetMemoryWin32HandleKHR( VkDevice                              device,
 | |
|                                         const VkMemoryGetWin32HandleInfoKHR * pGetWin32HandleInfo,
 | |
|                                         HANDLE *                              pHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetMemoryWin32HandlePropertiesKHR(
 | |
|       VkDevice                           device,
 | |
|       VkExternalMemoryHandleTypeFlagBits handleType,
 | |
|       HANDLE                             handle,
 | |
|       VkMemoryWin32HandlePropertiesKHR * pMemoryWin32HandleProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryWin32HandlePropertiesKHR( device, handleType, handle, pMemoryWin32HandleProperties );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_memory_fd ===
 | |
| 
 | |
|     VkResult
 | |
|       vkGetMemoryFdKHR( VkDevice device, const VkMemoryGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryFdKHR( device, pGetFdInfo, pFd );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetMemoryFdPropertiesKHR( VkDevice                           device,
 | |
|                                          VkExternalMemoryHandleTypeFlagBits handleType,
 | |
|                                          int                                fd,
 | |
|                                          VkMemoryFdPropertiesKHR * pMemoryFdProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryFdPropertiesKHR( device, handleType, fd, pMemoryFdProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_external_semaphore_capabilities ===
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
 | |
|       VkPhysicalDevice                              physicalDevice,
 | |
|       const VkPhysicalDeviceExternalSemaphoreInfo * pExternalSemaphoreInfo,
 | |
|       VkExternalSemaphoreProperties *               pExternalSemaphoreProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
 | |
|         physicalDevice, pExternalSemaphoreInfo, pExternalSemaphoreProperties );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_semaphore_win32 ===
 | |
| 
 | |
|     VkResult vkImportSemaphoreWin32HandleKHR(
 | |
|       VkDevice                                    device,
 | |
|       const VkImportSemaphoreWin32HandleInfoKHR * pImportSemaphoreWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkImportSemaphoreWin32HandleKHR( device, pImportSemaphoreWin32HandleInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetSemaphoreWin32HandleKHR( VkDevice                                 device,
 | |
|                                            const VkSemaphoreGetWin32HandleInfoKHR * pGetWin32HandleInfo,
 | |
|                                            HANDLE *                                 pHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSemaphoreWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_semaphore_fd ===
 | |
| 
 | |
|     VkResult
 | |
|       vkImportSemaphoreFdKHR( VkDevice                           device,
 | |
|                               const VkImportSemaphoreFdInfoKHR * pImportSemaphoreFdInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkImportSemaphoreFdKHR( device, pImportSemaphoreFdInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetSemaphoreFdKHR( VkDevice                        device,
 | |
|                                   const VkSemaphoreGetFdInfoKHR * pGetFdInfo,
 | |
|                                   int *                           pFd ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSemaphoreFdKHR( device, pGetFdInfo, pFd );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_push_descriptor ===
 | |
| 
 | |
|     void vkCmdPushDescriptorSetKHR( VkCommandBuffer              commandBuffer,
 | |
|                                     VkPipelineBindPoint          pipelineBindPoint,
 | |
|                                     VkPipelineLayout             layout,
 | |
|                                     uint32_t                     set,
 | |
|                                     uint32_t                     descriptorWriteCount,
 | |
|                                     const VkWriteDescriptorSet * pDescriptorWrites ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPushDescriptorSetKHR(
 | |
|         commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites );
 | |
|     }
 | |
| 
 | |
|     void vkCmdPushDescriptorSetWithTemplateKHR( VkCommandBuffer            commandBuffer,
 | |
|                                                 VkDescriptorUpdateTemplate descriptorUpdateTemplate,
 | |
|                                                 VkPipelineLayout           layout,
 | |
|                                                 uint32_t                   set,
 | |
|                                                 const void *               pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_conditional_rendering ===
 | |
| 
 | |
|     void vkCmdBeginConditionalRenderingEXT(
 | |
|       VkCommandBuffer                            commandBuffer,
 | |
|       const VkConditionalRenderingBeginInfoEXT * pConditionalRenderingBegin ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndConditionalRenderingEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndConditionalRenderingEXT( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_descriptor_update_template ===
 | |
| 
 | |
|     VkResult vkCreateDescriptorUpdateTemplateKHR( VkDevice                                     device,
 | |
|                                                   const VkDescriptorUpdateTemplateCreateInfo * pCreateInfo,
 | |
|                                                   const VkAllocationCallbacks *                pAllocator,
 | |
|                                                   VkDescriptorUpdateTemplate * pDescriptorUpdateTemplate ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDescriptorUpdateTemplateKHR( device, pCreateInfo, pAllocator, pDescriptorUpdateTemplate );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDescriptorUpdateTemplateKHR( VkDevice                      device,
 | |
|                                                VkDescriptorUpdateTemplate    descriptorUpdateTemplate,
 | |
|                                                const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDescriptorUpdateTemplateKHR( device, descriptorUpdateTemplate, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkUpdateDescriptorSetWithTemplateKHR( VkDevice                   device,
 | |
|                                                VkDescriptorSet            descriptorSet,
 | |
|                                                VkDescriptorUpdateTemplate descriptorUpdateTemplate,
 | |
|                                                const void *               pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUpdateDescriptorSetWithTemplateKHR( device, descriptorSet, descriptorUpdateTemplate, pData );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_clip_space_w_scaling ===
 | |
| 
 | |
|     void vkCmdSetViewportWScalingNV( VkCommandBuffer              commandBuffer,
 | |
|                                      uint32_t                     firstViewport,
 | |
|                                      uint32_t                     viewportCount,
 | |
|                                      const VkViewportWScalingNV * pViewportWScalings ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_direct_mode_display ===
 | |
| 
 | |
|     VkResult vkReleaseDisplayEXT( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkReleaseDisplayEXT( physicalDevice, display );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
 | |
|     //=== VK_EXT_acquire_xlib_display ===
 | |
| 
 | |
|     VkResult vkAcquireXlibDisplayEXT( VkPhysicalDevice physicalDevice,
 | |
|                                       Display *        dpy,
 | |
|                                       VkDisplayKHR     display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireXlibDisplayEXT( physicalDevice, dpy, display );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetRandROutputDisplayEXT( VkPhysicalDevice physicalDevice,
 | |
|                                          Display *        dpy,
 | |
|                                          RROutput         rrOutput,
 | |
|                                          VkDisplayKHR *   pDisplay ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRandROutputDisplayEXT( physicalDevice, dpy, rrOutput, pDisplay );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
 | |
| 
 | |
|     //=== VK_EXT_display_surface_counter ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceCapabilities2EXT( VkPhysicalDevice            physicalDevice,
 | |
|                                                          VkSurfaceKHR                surface,
 | |
|                                                          VkSurfaceCapabilities2EXT * pSurfaceCapabilities ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceCapabilities2EXT( physicalDevice, surface, pSurfaceCapabilities );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_display_control ===
 | |
| 
 | |
|     VkResult vkDisplayPowerControlEXT( VkDevice                      device,
 | |
|                                        VkDisplayKHR                  display,
 | |
|                                        const VkDisplayPowerInfoEXT * pDisplayPowerInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDisplayPowerControlEXT( device, display, pDisplayPowerInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkRegisterDeviceEventEXT( VkDevice                      device,
 | |
|                                        const VkDeviceEventInfoEXT *  pDeviceEventInfo,
 | |
|                                        const VkAllocationCallbacks * pAllocator,
 | |
|                                        VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkRegisterDeviceEventEXT( device, pDeviceEventInfo, pAllocator, pFence );
 | |
|     }
 | |
| 
 | |
|     VkResult vkRegisterDisplayEventEXT( VkDevice                      device,
 | |
|                                         VkDisplayKHR                  display,
 | |
|                                         const VkDisplayEventInfoEXT * pDisplayEventInfo,
 | |
|                                         const VkAllocationCallbacks * pAllocator,
 | |
|                                         VkFence *                     pFence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkRegisterDisplayEventEXT( device, display, pDisplayEventInfo, pAllocator, pFence );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetSwapchainCounterEXT( VkDevice                    device,
 | |
|                                        VkSwapchainKHR              swapchain,
 | |
|                                        VkSurfaceCounterFlagBitsEXT counter,
 | |
|                                        uint64_t *                  pCounterValue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSwapchainCounterEXT( device, swapchain, counter, pCounterValue );
 | |
|     }
 | |
| 
 | |
|     //=== VK_GOOGLE_display_timing ===
 | |
| 
 | |
|     VkResult vkGetRefreshCycleDurationGOOGLE( VkDevice                       device,
 | |
|                                               VkSwapchainKHR                 swapchain,
 | |
|                                               VkRefreshCycleDurationGOOGLE * pDisplayTimingProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRefreshCycleDurationGOOGLE( device, swapchain, pDisplayTimingProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPastPresentationTimingGOOGLE( VkDevice                         device,
 | |
|                                                 VkSwapchainKHR                   swapchain,
 | |
|                                                 uint32_t *                       pPresentationTimingCount,
 | |
|                                                 VkPastPresentationTimingGOOGLE * pPresentationTimings ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPastPresentationTimingGOOGLE( device, swapchain, pPresentationTimingCount, pPresentationTimings );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_discard_rectangles ===
 | |
| 
 | |
|     void vkCmdSetDiscardRectangleEXT( VkCommandBuffer  commandBuffer,
 | |
|                                       uint32_t         firstDiscardRectangle,
 | |
|                                       uint32_t         discardRectangleCount,
 | |
|                                       const VkRect2D * pDiscardRectangles ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDiscardRectangleEXT(
 | |
|         commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_hdr_metadata ===
 | |
| 
 | |
|     void vkSetHdrMetadataEXT( VkDevice                 device,
 | |
|                               uint32_t                 swapchainCount,
 | |
|                               const VkSwapchainKHR *   pSwapchains,
 | |
|                               const VkHdrMetadataEXT * pMetadata ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetHdrMetadataEXT( device, swapchainCount, pSwapchains, pMetadata );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_create_renderpass2 ===
 | |
| 
 | |
|     VkResult vkCreateRenderPass2KHR( VkDevice                        device,
 | |
|                                      const VkRenderPassCreateInfo2 * pCreateInfo,
 | |
|                                      const VkAllocationCallbacks *   pAllocator,
 | |
|                                      VkRenderPass *                  pRenderPass ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateRenderPass2KHR( device, pCreateInfo, pAllocator, pRenderPass );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginRenderPass2KHR( VkCommandBuffer               commandBuffer,
 | |
|                                    const VkRenderPassBeginInfo * pRenderPassBegin,
 | |
|                                    const VkSubpassBeginInfo *    pSubpassBeginInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginRenderPass2KHR( commandBuffer, pRenderPassBegin, pSubpassBeginInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdNextSubpass2KHR( VkCommandBuffer            commandBuffer,
 | |
|                                const VkSubpassBeginInfo * pSubpassBeginInfo,
 | |
|                                const VkSubpassEndInfo *   pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdNextSubpass2KHR( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndRenderPass2KHR( VkCommandBuffer          commandBuffer,
 | |
|                                  const VkSubpassEndInfo * pSubpassEndInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndRenderPass2KHR( commandBuffer, pSubpassEndInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_shared_presentable_image ===
 | |
| 
 | |
|     VkResult vkGetSwapchainStatusKHR( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSwapchainStatusKHR( device, swapchain );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_external_fence_capabilities ===
 | |
| 
 | |
|     void vkGetPhysicalDeviceExternalFencePropertiesKHR( VkPhysicalDevice                          physicalDevice,
 | |
|                                                         const VkPhysicalDeviceExternalFenceInfo * pExternalFenceInfo,
 | |
|                                                         VkExternalFenceProperties * pExternalFenceProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceExternalFencePropertiesKHR(
 | |
|         physicalDevice, pExternalFenceInfo, pExternalFenceProperties );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_fence_win32 ===
 | |
| 
 | |
|     VkResult vkImportFenceWin32HandleKHR(
 | |
|       VkDevice device, const VkImportFenceWin32HandleInfoKHR * pImportFenceWin32HandleInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkImportFenceWin32HandleKHR( device, pImportFenceWin32HandleInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetFenceWin32HandleKHR( VkDevice                             device,
 | |
|                                        const VkFenceGetWin32HandleInfoKHR * pGetWin32HandleInfo,
 | |
|                                        HANDLE *                             pHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetFenceWin32HandleKHR( device, pGetWin32HandleInfo, pHandle );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_fence_fd ===
 | |
| 
 | |
|     VkResult vkImportFenceFdKHR( VkDevice                       device,
 | |
|                                  const VkImportFenceFdInfoKHR * pImportFenceFdInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkImportFenceFdKHR( device, pImportFenceFdInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkGetFenceFdKHR( VkDevice device, const VkFenceGetFdInfoKHR * pGetFdInfo, int * pFd ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetFenceFdKHR( device, pGetFdInfo, pFd );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_performance_query ===
 | |
| 
 | |
|     VkResult vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
 | |
|       VkPhysicalDevice                     physicalDevice,
 | |
|       uint32_t                             queueFamilyIndex,
 | |
|       uint32_t *                           pCounterCount,
 | |
|       VkPerformanceCounterKHR *            pCounters,
 | |
|       VkPerformanceCounterDescriptionKHR * pCounterDescriptions ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
 | |
|         physicalDevice, queueFamilyIndex, pCounterCount, pCounters, pCounterDescriptions );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
 | |
|       VkPhysicalDevice                            physicalDevice,
 | |
|       const VkQueryPoolPerformanceCreateInfoKHR * pPerformanceQueryCreateInfo,
 | |
|       uint32_t *                                  pNumPasses ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
 | |
|         physicalDevice, pPerformanceQueryCreateInfo, pNumPasses );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAcquireProfilingLockKHR( VkDevice                              device,
 | |
|                                         const VkAcquireProfilingLockInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireProfilingLockKHR( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     void vkReleaseProfilingLockKHR( VkDevice device ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkReleaseProfilingLockKHR( device );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_get_surface_capabilities2 ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceCapabilities2KHR( VkPhysicalDevice                        physicalDevice,
 | |
|                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
 | |
|                                                          VkSurfaceCapabilities2KHR * pSurfaceCapabilities ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceCapabilities2KHR( physicalDevice, pSurfaceInfo, pSurfaceCapabilities );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfaceFormats2KHR( VkPhysicalDevice                        physicalDevice,
 | |
|                                                     const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
 | |
|                                                     uint32_t *                              pSurfaceFormatCount,
 | |
|                                                     VkSurfaceFormat2KHR * pSurfaceFormats ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfaceFormats2KHR(
 | |
|         physicalDevice, pSurfaceInfo, pSurfaceFormatCount, pSurfaceFormats );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_get_display_properties2 ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceDisplayProperties2KHR( VkPhysicalDevice          physicalDevice,
 | |
|                                                        uint32_t *                pPropertyCount,
 | |
|                                                        VkDisplayProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceDisplayProperties2KHR( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceDisplayPlaneProperties2KHR( VkPhysicalDevice               physicalDevice,
 | |
|                                                             uint32_t *                     pPropertyCount,
 | |
|                                                             VkDisplayPlaneProperties2KHR * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceDisplayPlaneProperties2KHR( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDisplayModeProperties2KHR( VkPhysicalDevice              physicalDevice,
 | |
|                                              VkDisplayKHR                  display,
 | |
|                                              uint32_t *                    pPropertyCount,
 | |
|                                              VkDisplayModeProperties2KHR * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDisplayModeProperties2KHR( physicalDevice, display, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkGetDisplayPlaneCapabilities2KHR( VkPhysicalDevice                 physicalDevice,
 | |
|                                          const VkDisplayPlaneInfo2KHR *   pDisplayPlaneInfo,
 | |
|                                          VkDisplayPlaneCapabilities2KHR * pCapabilities ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDisplayPlaneCapabilities2KHR( physicalDevice, pDisplayPlaneInfo, pCapabilities );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_IOS_MVK )
 | |
|     //=== VK_MVK_ios_surface ===
 | |
| 
 | |
|     VkResult vkCreateIOSSurfaceMVK( VkInstance                        instance,
 | |
|                                     const VkIOSSurfaceCreateInfoMVK * pCreateInfo,
 | |
|                                     const VkAllocationCallbacks *     pAllocator,
 | |
|                                     VkSurfaceKHR *                    pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateIOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_IOS_MVK*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_MACOS_MVK )
 | |
|     //=== VK_MVK_macos_surface ===
 | |
| 
 | |
|     VkResult vkCreateMacOSSurfaceMVK( VkInstance                          instance,
 | |
|                                       const VkMacOSSurfaceCreateInfoMVK * pCreateInfo,
 | |
|                                       const VkAllocationCallbacks *       pAllocator,
 | |
|                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateMacOSSurfaceMVK( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_MACOS_MVK*/
 | |
| 
 | |
|     //=== VK_EXT_debug_utils ===
 | |
| 
 | |
|     VkResult vkSetDebugUtilsObjectNameEXT( VkDevice                              device,
 | |
|                                            const VkDebugUtilsObjectNameInfoEXT * pNameInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetDebugUtilsObjectNameEXT( device, pNameInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetDebugUtilsObjectTagEXT( VkDevice                             device,
 | |
|                                           const VkDebugUtilsObjectTagInfoEXT * pTagInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetDebugUtilsObjectTagEXT( device, pTagInfo );
 | |
|     }
 | |
| 
 | |
|     void vkQueueBeginDebugUtilsLabelEXT( VkQueue                      queue,
 | |
|                                          const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueBeginDebugUtilsLabelEXT( queue, pLabelInfo );
 | |
|     }
 | |
| 
 | |
|     void vkQueueEndDebugUtilsLabelEXT( VkQueue queue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueEndDebugUtilsLabelEXT( queue );
 | |
|     }
 | |
| 
 | |
|     void vkQueueInsertDebugUtilsLabelEXT( VkQueue                      queue,
 | |
|                                           const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueInsertDebugUtilsLabelEXT( queue, pLabelInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBeginDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
 | |
|                                        const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdEndDebugUtilsLabelEXT( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEndDebugUtilsLabelEXT( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     void vkCmdInsertDebugUtilsLabelEXT( VkCommandBuffer              commandBuffer,
 | |
|                                         const VkDebugUtilsLabelEXT * pLabelInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateDebugUtilsMessengerEXT( VkInstance                                 instance,
 | |
|                                              const VkDebugUtilsMessengerCreateInfoEXT * pCreateInfo,
 | |
|                                              const VkAllocationCallbacks *              pAllocator,
 | |
|                                              VkDebugUtilsMessengerEXT * pMessenger ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDebugUtilsMessengerEXT( instance, pCreateInfo, pAllocator, pMessenger );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDebugUtilsMessengerEXT( VkInstance                    instance,
 | |
|                                           VkDebugUtilsMessengerEXT      messenger,
 | |
|                                           const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDebugUtilsMessengerEXT( instance, messenger, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkSubmitDebugUtilsMessageEXT( VkInstance                                   instance,
 | |
|                                        VkDebugUtilsMessageSeverityFlagBitsEXT       messageSeverity,
 | |
|                                        VkDebugUtilsMessageTypeFlagsEXT              messageTypes,
 | |
|                                        const VkDebugUtilsMessengerCallbackDataEXT * pCallbackData ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSubmitDebugUtilsMessageEXT( instance, messageSeverity, messageTypes, pCallbackData );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 | |
| 
 | |
|     VkResult vkGetAndroidHardwareBufferPropertiesANDROID( VkDevice                                   device,
 | |
|                                                           const struct AHardwareBuffer *             buffer,
 | |
|                                                           VkAndroidHardwareBufferPropertiesANDROID * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetAndroidHardwareBufferPropertiesANDROID( device, buffer, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetMemoryAndroidHardwareBufferANDROID( VkDevice                                            device,
 | |
|                                                       const VkMemoryGetAndroidHardwareBufferInfoANDROID * pInfo,
 | |
|                                                       struct AHardwareBuffer ** pBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryAndroidHardwareBufferANDROID( device, pInfo, pBuffer );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_sample_locations ===
 | |
| 
 | |
|     void vkCmdSetSampleLocationsEXT( VkCommandBuffer                  commandBuffer,
 | |
|                                      const VkSampleLocationsInfoEXT * pSampleLocationsInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo );
 | |
|     }
 | |
| 
 | |
|     void vkGetPhysicalDeviceMultisamplePropertiesEXT( VkPhysicalDevice             physicalDevice,
 | |
|                                                       VkSampleCountFlagBits        samples,
 | |
|                                                       VkMultisamplePropertiesEXT * pMultisampleProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceMultisamplePropertiesEXT( physicalDevice, samples, pMultisampleProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_get_memory_requirements2 ===
 | |
| 
 | |
|     void vkGetImageMemoryRequirements2KHR( VkDevice                               device,
 | |
|                                            const VkImageMemoryRequirementsInfo2 * pInfo,
 | |
|                                            VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetBufferMemoryRequirements2KHR( VkDevice                                device,
 | |
|                                             const VkBufferMemoryRequirementsInfo2 * pInfo,
 | |
|                                             VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferMemoryRequirements2KHR( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetImageSparseMemoryRequirements2KHR( VkDevice                                     device,
 | |
|                                                  const VkImageSparseMemoryRequirementsInfo2 * pInfo,
 | |
|                                                  uint32_t *                         pSparseMemoryRequirementCount,
 | |
|                                                  VkSparseImageMemoryRequirements2 * pSparseMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageSparseMemoryRequirements2KHR(
 | |
|         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_acceleration_structure ===
 | |
| 
 | |
|     VkResult
 | |
|       vkCreateAccelerationStructureKHR( VkDevice                                     device,
 | |
|                                         const VkAccelerationStructureCreateInfoKHR * pCreateInfo,
 | |
|                                         const VkAllocationCallbacks *                pAllocator,
 | |
|                                         VkAccelerationStructureKHR * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateAccelerationStructureKHR( device, pCreateInfo, pAllocator, pAccelerationStructure );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyAccelerationStructureKHR( VkDevice                      device,
 | |
|                                             VkAccelerationStructureKHR    accelerationStructure,
 | |
|                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyAccelerationStructureKHR( device, accelerationStructure, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBuildAccelerationStructuresKHR(
 | |
|       VkCommandBuffer                                          commandBuffer,
 | |
|       uint32_t                                                 infoCount,
 | |
|       const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
 | |
|       const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBuildAccelerationStructuresIndirectKHR( VkCommandBuffer                                     commandBuffer,
 | |
|                                                       uint32_t                                            infoCount,
 | |
|                                                       const VkAccelerationStructureBuildGeometryInfoKHR * pInfos,
 | |
|                                                       const VkDeviceAddress *  pIndirectDeviceAddresses,
 | |
|                                                       const uint32_t *         pIndirectStrides,
 | |
|                                                       const uint32_t * const * ppMaxPrimitiveCounts ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBuildAccelerationStructuresIndirectKHR(
 | |
|         commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBuildAccelerationStructuresKHR(
 | |
|       VkDevice                                                 device,
 | |
|       VkDeferredOperationKHR                                   deferredOperation,
 | |
|       uint32_t                                                 infoCount,
 | |
|       const VkAccelerationStructureBuildGeometryInfoKHR *      pInfos,
 | |
|       const VkAccelerationStructureBuildRangeInfoKHR * const * ppBuildRangeInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBuildAccelerationStructuresKHR( device, deferredOperation, infoCount, pInfos, ppBuildRangeInfos );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkCopyAccelerationStructureKHR( VkDevice                                   device,
 | |
|                                       VkDeferredOperationKHR                     deferredOperation,
 | |
|                                       const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCopyAccelerationStructureKHR( device, deferredOperation, pInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCopyAccelerationStructureToMemoryKHR( VkDevice               device,
 | |
|                                                      VkDeferredOperationKHR deferredOperation,
 | |
|                                                      const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCopyAccelerationStructureToMemoryKHR( device, deferredOperation, pInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCopyMemoryToAccelerationStructureKHR( VkDevice               device,
 | |
|                                                      VkDeferredOperationKHR deferredOperation,
 | |
|                                                      const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCopyMemoryToAccelerationStructureKHR( device, deferredOperation, pInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkWriteAccelerationStructuresPropertiesKHR( VkDevice                           device,
 | |
|                                                          uint32_t                           accelerationStructureCount,
 | |
|                                                          const VkAccelerationStructureKHR * pAccelerationStructures,
 | |
|                                                          VkQueryType                        queryType,
 | |
|                                                          size_t                             dataSize,
 | |
|                                                          void *                             pData,
 | |
|                                                          size_t stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkWriteAccelerationStructuresPropertiesKHR(
 | |
|         device, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyAccelerationStructureKHR( VkCommandBuffer                            commandBuffer,
 | |
|                                             const VkCopyAccelerationStructureInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyAccelerationStructureToMemoryKHR( VkCommandBuffer                                    commandBuffer,
 | |
|                                                     const VkCopyAccelerationStructureToMemoryInfoKHR * pInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyMemoryToAccelerationStructureKHR( VkCommandBuffer                                    commandBuffer,
 | |
|                                                     const VkCopyMemoryToAccelerationStructureInfoKHR * pInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo );
 | |
|     }
 | |
| 
 | |
|     VkDeviceAddress vkGetAccelerationStructureDeviceAddressKHR(
 | |
|       VkDevice device, const VkAccelerationStructureDeviceAddressInfoKHR * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetAccelerationStructureDeviceAddressKHR( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteAccelerationStructuresPropertiesKHR( VkCommandBuffer                    commandBuffer,
 | |
|                                                         uint32_t                           accelerationStructureCount,
 | |
|                                                         const VkAccelerationStructureKHR * pAccelerationStructures,
 | |
|                                                         VkQueryType                        queryType,
 | |
|                                                         VkQueryPool                        queryPool,
 | |
|                                                         uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteAccelerationStructuresPropertiesKHR(
 | |
|         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceAccelerationStructureCompatibilityKHR(
 | |
|       VkDevice                                      device,
 | |
|       const VkAccelerationStructureVersionInfoKHR * pVersionInfo,
 | |
|       VkAccelerationStructureCompatibilityKHR *     pCompatibility ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceAccelerationStructureCompatibilityKHR( device, pVersionInfo, pCompatibility );
 | |
|     }
 | |
| 
 | |
|     void vkGetAccelerationStructureBuildSizesKHR( VkDevice                                            device,
 | |
|                                                   VkAccelerationStructureBuildTypeKHR                 buildType,
 | |
|                                                   const VkAccelerationStructureBuildGeometryInfoKHR * pBuildInfo,
 | |
|                                                   const uint32_t *                           pMaxPrimitiveCounts,
 | |
|                                                   VkAccelerationStructureBuildSizesInfoKHR * pSizeInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetAccelerationStructureBuildSizesKHR( device, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_sampler_ycbcr_conversion ===
 | |
| 
 | |
|     VkResult vkCreateSamplerYcbcrConversionKHR( VkDevice                                   device,
 | |
|                                                 const VkSamplerYcbcrConversionCreateInfo * pCreateInfo,
 | |
|                                                 const VkAllocationCallbacks *              pAllocator,
 | |
|                                                 VkSamplerYcbcrConversion * pYcbcrConversion ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateSamplerYcbcrConversionKHR( device, pCreateInfo, pAllocator, pYcbcrConversion );
 | |
|     }
 | |
| 
 | |
|     void vkDestroySamplerYcbcrConversionKHR( VkDevice                      device,
 | |
|                                              VkSamplerYcbcrConversion      ycbcrConversion,
 | |
|                                              const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroySamplerYcbcrConversionKHR( device, ycbcrConversion, pAllocator );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_bind_memory2 ===
 | |
| 
 | |
|     VkResult vkBindBufferMemory2KHR( VkDevice                       device,
 | |
|                                      uint32_t                       bindInfoCount,
 | |
|                                      const VkBindBufferMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindBufferMemory2KHR( device, bindInfoCount, pBindInfos );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindImageMemory2KHR( VkDevice                      device,
 | |
|                                     uint32_t                      bindInfoCount,
 | |
|                                     const VkBindImageMemoryInfo * pBindInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindImageMemory2KHR( device, bindInfoCount, pBindInfos );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_image_drm_format_modifier ===
 | |
| 
 | |
|     VkResult vkGetImageDrmFormatModifierPropertiesEXT(
 | |
|       VkDevice device, VkImage image, VkImageDrmFormatModifierPropertiesEXT * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetImageDrmFormatModifierPropertiesEXT( device, image, pProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_validation_cache ===
 | |
| 
 | |
|     VkResult vkCreateValidationCacheEXT( VkDevice                               device,
 | |
|                                          const VkValidationCacheCreateInfoEXT * pCreateInfo,
 | |
|                                          const VkAllocationCallbacks *          pAllocator,
 | |
|                                          VkValidationCacheEXT * pValidationCache ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateValidationCacheEXT( device, pCreateInfo, pAllocator, pValidationCache );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyValidationCacheEXT( VkDevice                      device,
 | |
|                                       VkValidationCacheEXT          validationCache,
 | |
|                                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyValidationCacheEXT( device, validationCache, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkMergeValidationCachesEXT( VkDevice                     device,
 | |
|                                          VkValidationCacheEXT         dstCache,
 | |
|                                          uint32_t                     srcCacheCount,
 | |
|                                          const VkValidationCacheEXT * pSrcCaches ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkMergeValidationCachesEXT( device, dstCache, srcCacheCount, pSrcCaches );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetValidationCacheDataEXT( VkDevice             device,
 | |
|                                           VkValidationCacheEXT validationCache,
 | |
|                                           size_t *             pDataSize,
 | |
|                                           void *               pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetValidationCacheDataEXT( device, validationCache, pDataSize, pData );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_shading_rate_image ===
 | |
| 
 | |
|     void vkCmdBindShadingRateImageNV( VkCommandBuffer commandBuffer,
 | |
|                                       VkImageView     imageView,
 | |
|                                       VkImageLayout   imageLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetViewportShadingRatePaletteNV( VkCommandBuffer                commandBuffer,
 | |
|                                                uint32_t                       firstViewport,
 | |
|                                                uint32_t                       viewportCount,
 | |
|                                                const VkShadingRatePaletteNV * pShadingRatePalettes ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetViewportShadingRatePaletteNV(
 | |
|         commandBuffer, firstViewport, viewportCount, pShadingRatePalettes );
 | |
|     }
 | |
| 
 | |
|     void
 | |
|       vkCmdSetCoarseSampleOrderNV( VkCommandBuffer                     commandBuffer,
 | |
|                                    VkCoarseSampleOrderTypeNV           sampleOrderType,
 | |
|                                    uint32_t                            customSampleOrderCount,
 | |
|                                    const VkCoarseSampleOrderCustomNV * pCustomSampleOrders ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetCoarseSampleOrderNV(
 | |
|         commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_ray_tracing ===
 | |
| 
 | |
|     VkResult
 | |
|       vkCreateAccelerationStructureNV( VkDevice                                    device,
 | |
|                                        const VkAccelerationStructureCreateInfoNV * pCreateInfo,
 | |
|                                        const VkAllocationCallbacks *               pAllocator,
 | |
|                                        VkAccelerationStructureNV * pAccelerationStructure ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateAccelerationStructureNV( device, pCreateInfo, pAllocator, pAccelerationStructure );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyAccelerationStructureNV( VkDevice                      device,
 | |
|                                            VkAccelerationStructureNV     accelerationStructure,
 | |
|                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyAccelerationStructureNV( device, accelerationStructure, pAllocator );
 | |
|     }
 | |
| 
 | |
|     void vkGetAccelerationStructureMemoryRequirementsNV( VkDevice                                                device,
 | |
|                                                          const VkAccelerationStructureMemoryRequirementsInfoNV * pInfo,
 | |
|                                                          VkMemoryRequirements2KHR * pMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetAccelerationStructureMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     VkResult vkBindAccelerationStructureMemoryNV( VkDevice                                        device,
 | |
|                                                   uint32_t                                        bindInfoCount,
 | |
|                                                   const VkBindAccelerationStructureMemoryInfoNV * pBindInfos ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkBindAccelerationStructureMemoryNV( device, bindInfoCount, pBindInfos );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBuildAccelerationStructureNV( VkCommandBuffer                       commandBuffer,
 | |
|                                             const VkAccelerationStructureInfoNV * pInfo,
 | |
|                                             VkBuffer                              instanceData,
 | |
|                                             VkDeviceSize                          instanceOffset,
 | |
|                                             VkBool32                              update,
 | |
|                                             VkAccelerationStructureNV             dst,
 | |
|                                             VkAccelerationStructureNV             src,
 | |
|                                             VkBuffer                              scratch,
 | |
|                                             VkDeviceSize scratchOffset ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBuildAccelerationStructureNV(
 | |
|         commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyAccelerationStructureNV( VkCommandBuffer                    commandBuffer,
 | |
|                                            VkAccelerationStructureNV          dst,
 | |
|                                            VkAccelerationStructureNV          src,
 | |
|                                            VkCopyAccelerationStructureModeKHR mode ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode );
 | |
|     }
 | |
| 
 | |
|     void 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 ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdTraceRaysNV( commandBuffer,
 | |
|                                  raygenShaderBindingTableBuffer,
 | |
|                                  raygenShaderBindingOffset,
 | |
|                                  missShaderBindingTableBuffer,
 | |
|                                  missShaderBindingOffset,
 | |
|                                  missShaderBindingStride,
 | |
|                                  hitShaderBindingTableBuffer,
 | |
|                                  hitShaderBindingOffset,
 | |
|                                  hitShaderBindingStride,
 | |
|                                  callableShaderBindingTableBuffer,
 | |
|                                  callableShaderBindingOffset,
 | |
|                                  callableShaderBindingStride,
 | |
|                                  width,
 | |
|                                  height,
 | |
|                                  depth );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateRayTracingPipelinesNV( VkDevice                                 device,
 | |
|                                             VkPipelineCache                          pipelineCache,
 | |
|                                             uint32_t                                 createInfoCount,
 | |
|                                             const VkRayTracingPipelineCreateInfoNV * pCreateInfos,
 | |
|                                             const VkAllocationCallbacks *            pAllocator,
 | |
|                                             VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateRayTracingPipelinesNV(
 | |
|         device, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetRayTracingShaderGroupHandlesNV( VkDevice   device,
 | |
|                                                   VkPipeline pipeline,
 | |
|                                                   uint32_t   firstGroup,
 | |
|                                                   uint32_t   groupCount,
 | |
|                                                   size_t     dataSize,
 | |
|                                                   void *     pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRayTracingShaderGroupHandlesNV( device, pipeline, firstGroup, groupCount, dataSize, pData );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetAccelerationStructureHandleNV( VkDevice                  device,
 | |
|                                                  VkAccelerationStructureNV accelerationStructure,
 | |
|                                                  size_t                    dataSize,
 | |
|                                                  void *                    pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetAccelerationStructureHandleNV( device, accelerationStructure, dataSize, pData );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteAccelerationStructuresPropertiesNV( VkCommandBuffer                   commandBuffer,
 | |
|                                                        uint32_t                          accelerationStructureCount,
 | |
|                                                        const VkAccelerationStructureNV * pAccelerationStructures,
 | |
|                                                        VkQueryType                       queryType,
 | |
|                                                        VkQueryPool                       queryPool,
 | |
|                                                        uint32_t firstQuery ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteAccelerationStructuresPropertiesNV(
 | |
|         commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCompileDeferredNV( VkDevice device, VkPipeline pipeline, uint32_t shader ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCompileDeferredNV( device, pipeline, shader );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_maintenance3 ===
 | |
| 
 | |
|     void vkGetDescriptorSetLayoutSupportKHR( VkDevice                                device,
 | |
|                                              const VkDescriptorSetLayoutCreateInfo * pCreateInfo,
 | |
|                                              VkDescriptorSetLayoutSupport * pSupport ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDescriptorSetLayoutSupportKHR( device, pCreateInfo, pSupport );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_draw_indirect_count ===
 | |
| 
 | |
|     void vkCmdDrawIndirectCountKHR( VkCommandBuffer commandBuffer,
 | |
|                                     VkBuffer        buffer,
 | |
|                                     VkDeviceSize    offset,
 | |
|                                     VkBuffer        countBuffer,
 | |
|                                     VkDeviceSize    countBufferOffset,
 | |
|                                     uint32_t        maxDrawCount,
 | |
|                                     uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndirectCountKHR(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawIndexedIndirectCountKHR( VkCommandBuffer commandBuffer,
 | |
|                                            VkBuffer        buffer,
 | |
|                                            VkDeviceSize    offset,
 | |
|                                            VkBuffer        countBuffer,
 | |
|                                            VkDeviceSize    countBufferOffset,
 | |
|                                            uint32_t        maxDrawCount,
 | |
|                                            uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawIndexedIndirectCountKHR(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_external_memory_host ===
 | |
| 
 | |
|     VkResult vkGetMemoryHostPointerPropertiesEXT(
 | |
|       VkDevice                           device,
 | |
|       VkExternalMemoryHandleTypeFlagBits handleType,
 | |
|       const void *                       pHostPointer,
 | |
|       VkMemoryHostPointerPropertiesEXT * pMemoryHostPointerProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryHostPointerPropertiesEXT( device, handleType, pHostPointer, pMemoryHostPointerProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_AMD_buffer_marker ===
 | |
| 
 | |
|     void vkCmdWriteBufferMarkerAMD( VkCommandBuffer         commandBuffer,
 | |
|                                     VkPipelineStageFlagBits pipelineStage,
 | |
|                                     VkBuffer                dstBuffer,
 | |
|                                     VkDeviceSize            dstOffset,
 | |
|                                     uint32_t                marker ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_calibrated_timestamps ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( VkPhysicalDevice  physicalDevice,
 | |
|                                                              uint32_t *        pTimeDomainCount,
 | |
|                                                              VkTimeDomainEXT * pTimeDomains ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceCalibrateableTimeDomainsEXT( physicalDevice, pTimeDomainCount, pTimeDomains );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetCalibratedTimestampsEXT( VkDevice                             device,
 | |
|                                            uint32_t                             timestampCount,
 | |
|                                            const VkCalibratedTimestampInfoEXT * pTimestampInfos,
 | |
|                                            uint64_t *                           pTimestamps,
 | |
|                                            uint64_t * pMaxDeviation ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetCalibratedTimestampsEXT( device, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_mesh_shader ===
 | |
| 
 | |
|     void vkCmdDrawMeshTasksNV( VkCommandBuffer commandBuffer,
 | |
|                                uint32_t        taskCount,
 | |
|                                uint32_t        firstTask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawMeshTasksIndirectNV( VkCommandBuffer commandBuffer,
 | |
|                                        VkBuffer        buffer,
 | |
|                                        VkDeviceSize    offset,
 | |
|                                        uint32_t        drawCount,
 | |
|                                        uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawMeshTasksIndirectCountNV( VkCommandBuffer commandBuffer,
 | |
|                                             VkBuffer        buffer,
 | |
|                                             VkDeviceSize    offset,
 | |
|                                             VkBuffer        countBuffer,
 | |
|                                             VkDeviceSize    countBufferOffset,
 | |
|                                             uint32_t        maxDrawCount,
 | |
|                                             uint32_t        stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawMeshTasksIndirectCountNV(
 | |
|         commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_scissor_exclusive ===
 | |
| 
 | |
|     void vkCmdSetExclusiveScissorNV( VkCommandBuffer  commandBuffer,
 | |
|                                      uint32_t         firstExclusiveScissor,
 | |
|                                      uint32_t         exclusiveScissorCount,
 | |
|                                      const VkRect2D * pExclusiveScissors ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetExclusiveScissorNV(
 | |
|         commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_device_diagnostic_checkpoints ===
 | |
| 
 | |
|     void vkCmdSetCheckpointNV( VkCommandBuffer commandBuffer, const void * pCheckpointMarker ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker );
 | |
|     }
 | |
| 
 | |
|     void vkGetQueueCheckpointDataNV( VkQueue              queue,
 | |
|                                      uint32_t *           pCheckpointDataCount,
 | |
|                                      VkCheckpointDataNV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetQueueCheckpointDataNV( queue, pCheckpointDataCount, pCheckpointData );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_timeline_semaphore ===
 | |
| 
 | |
|     VkResult vkGetSemaphoreCounterValueKHR( VkDevice    device,
 | |
|                                             VkSemaphore semaphore,
 | |
|                                             uint64_t *  pValue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSemaphoreCounterValueKHR( device, semaphore, pValue );
 | |
|     }
 | |
| 
 | |
|     VkResult vkWaitSemaphoresKHR( VkDevice                    device,
 | |
|                                   const VkSemaphoreWaitInfo * pWaitInfo,
 | |
|                                   uint64_t                    timeout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkWaitSemaphoresKHR( device, pWaitInfo, timeout );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSignalSemaphoreKHR( VkDevice                      device,
 | |
|                                    const VkSemaphoreSignalInfo * pSignalInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSignalSemaphoreKHR( device, pSignalInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_INTEL_performance_query ===
 | |
| 
 | |
|     VkResult vkInitializePerformanceApiINTEL(
 | |
|       VkDevice device, const VkInitializePerformanceApiInfoINTEL * pInitializeInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkInitializePerformanceApiINTEL( device, pInitializeInfo );
 | |
|     }
 | |
| 
 | |
|     void vkUninitializePerformanceApiINTEL( VkDevice device ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkUninitializePerformanceApiINTEL( device );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkCmdSetPerformanceMarkerINTEL( VkCommandBuffer                      commandBuffer,
 | |
|                                       const VkPerformanceMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCmdSetPerformanceStreamMarkerINTEL(
 | |
|       VkCommandBuffer commandBuffer, const VkPerformanceStreamMarkerInfoINTEL * pMarkerInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkCmdSetPerformanceOverrideINTEL( VkCommandBuffer                        commandBuffer,
 | |
|                                         const VkPerformanceOverrideInfoINTEL * pOverrideInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAcquirePerformanceConfigurationINTEL( VkDevice                                           device,
 | |
|                                                      const VkPerformanceConfigurationAcquireInfoINTEL * pAcquireInfo,
 | |
|                                                      VkPerformanceConfigurationINTEL * pConfiguration ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquirePerformanceConfigurationINTEL( device, pAcquireInfo, pConfiguration );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkReleasePerformanceConfigurationINTEL( VkDevice                        device,
 | |
|                                               VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkReleasePerformanceConfigurationINTEL( device, configuration );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkQueueSetPerformanceConfigurationINTEL( VkQueue                         queue,
 | |
|                                                VkPerformanceConfigurationINTEL configuration ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueSetPerformanceConfigurationINTEL( queue, configuration );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPerformanceParameterINTEL( VkDevice                        device,
 | |
|                                              VkPerformanceParameterTypeINTEL parameter,
 | |
|                                              VkPerformanceValueINTEL *       pValue ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPerformanceParameterINTEL( device, parameter, pValue );
 | |
|     }
 | |
| 
 | |
|     //=== VK_AMD_display_native_hdr ===
 | |
| 
 | |
|     void vkSetLocalDimmingAMD( VkDevice       device,
 | |
|                                VkSwapchainKHR swapChain,
 | |
|                                VkBool32       localDimmingEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetLocalDimmingAMD( device, swapChain, localDimmingEnable );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_imagepipe_surface ===
 | |
| 
 | |
|     VkResult vkCreateImagePipeSurfaceFUCHSIA( VkInstance                                  instance,
 | |
|                                               const VkImagePipeSurfaceCreateInfoFUCHSIA * pCreateInfo,
 | |
|                                               const VkAllocationCallbacks *               pAllocator,
 | |
|                                               VkSurfaceKHR * pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateImagePipeSurfaceFUCHSIA( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_METAL_EXT )
 | |
|     //=== VK_EXT_metal_surface ===
 | |
| 
 | |
|     VkResult vkCreateMetalSurfaceEXT( VkInstance                          instance,
 | |
|                                       const VkMetalSurfaceCreateInfoEXT * pCreateInfo,
 | |
|                                       const VkAllocationCallbacks *       pAllocator,
 | |
|                                       VkSurfaceKHR *                      pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateMetalSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_METAL_EXT*/
 | |
| 
 | |
|     //=== VK_KHR_fragment_shading_rate ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceFragmentShadingRatesKHR(
 | |
|       VkPhysicalDevice                         physicalDevice,
 | |
|       uint32_t *                               pFragmentShadingRateCount,
 | |
|       VkPhysicalDeviceFragmentShadingRateKHR * pFragmentShadingRates ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceFragmentShadingRatesKHR(
 | |
|         physicalDevice, pFragmentShadingRateCount, pFragmentShadingRates );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetFragmentShadingRateKHR( VkCommandBuffer                          commandBuffer,
 | |
|                                          const VkExtent2D *                       pFragmentSize,
 | |
|                                          const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_buffer_device_address ===
 | |
| 
 | |
|     VkDeviceAddress vkGetBufferDeviceAddressEXT( VkDevice                          device,
 | |
|                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferDeviceAddressEXT( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_tooling_info ===
 | |
| 
 | |
|     VkResult
 | |
|       vkGetPhysicalDeviceToolPropertiesEXT( VkPhysicalDevice                 physicalDevice,
 | |
|                                             uint32_t *                       pToolCount,
 | |
|                                             VkPhysicalDeviceToolProperties * pToolProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceToolPropertiesEXT( physicalDevice, pToolCount, pToolProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_present_wait ===
 | |
| 
 | |
|     VkResult vkWaitForPresentKHR( VkDevice       device,
 | |
|                                   VkSwapchainKHR swapchain,
 | |
|                                   uint64_t       presentId,
 | |
|                                   uint64_t       timeout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkWaitForPresentKHR( device, swapchain, presentId, timeout );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_cooperative_matrix ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( VkPhysicalDevice                  physicalDevice,
 | |
|                                                                uint32_t *                        pPropertyCount,
 | |
|                                                                VkCooperativeMatrixPropertiesNV * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceCooperativeMatrixPropertiesNV( physicalDevice, pPropertyCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_coverage_reduction_mode ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
 | |
|       VkPhysicalDevice                         physicalDevice,
 | |
|       uint32_t *                               pCombinationCount,
 | |
|       VkFramebufferMixedSamplesCombinationNV * pCombinations ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
 | |
|         physicalDevice, pCombinationCount, pCombinations );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_EXT_full_screen_exclusive ===
 | |
| 
 | |
|     VkResult vkGetPhysicalDeviceSurfacePresentModes2EXT( VkPhysicalDevice                        physicalDevice,
 | |
|                                                          const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
 | |
|                                                          uint32_t *                              pPresentModeCount,
 | |
|                                                          VkPresentModeKHR * pPresentModes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceSurfacePresentModes2EXT(
 | |
|         physicalDevice, pSurfaceInfo, pPresentModeCount, pPresentModes );
 | |
|     }
 | |
| 
 | |
|     VkResult vkAcquireFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireFullScreenExclusiveModeEXT( device, swapchain );
 | |
|     }
 | |
| 
 | |
|     VkResult vkReleaseFullScreenExclusiveModeEXT( VkDevice device, VkSwapchainKHR swapchain ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkReleaseFullScreenExclusiveModeEXT( device, swapchain );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkGetDeviceGroupSurfacePresentModes2EXT( VkDevice                                device,
 | |
|                                                const VkPhysicalDeviceSurfaceInfo2KHR * pSurfaceInfo,
 | |
|                                                VkDeviceGroupPresentModeFlagsKHR * pModes ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceGroupSurfacePresentModes2EXT( device, pSurfaceInfo, pModes );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_headless_surface ===
 | |
| 
 | |
|     VkResult vkCreateHeadlessSurfaceEXT( VkInstance                             instance,
 | |
|                                          const VkHeadlessSurfaceCreateInfoEXT * pCreateInfo,
 | |
|                                          const VkAllocationCallbacks *          pAllocator,
 | |
|                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateHeadlessSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_buffer_device_address ===
 | |
| 
 | |
|     VkDeviceAddress vkGetBufferDeviceAddressKHR( VkDevice                          device,
 | |
|                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferDeviceAddressKHR( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     uint64_t vkGetBufferOpaqueCaptureAddressKHR( VkDevice                          device,
 | |
|                                                  const VkBufferDeviceAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferOpaqueCaptureAddressKHR( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     uint64_t vkGetDeviceMemoryOpaqueCaptureAddressKHR(
 | |
|       VkDevice device, const VkDeviceMemoryOpaqueCaptureAddressInfo * pInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceMemoryOpaqueCaptureAddressKHR( device, pInfo );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_line_rasterization ===
 | |
| 
 | |
|     void vkCmdSetLineStippleEXT( VkCommandBuffer commandBuffer,
 | |
|                                  uint32_t        lineStippleFactor,
 | |
|                                  uint16_t        lineStipplePattern ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_host_query_reset ===
 | |
| 
 | |
|     void vkResetQueryPoolEXT( VkDevice    device,
 | |
|                               VkQueryPool queryPool,
 | |
|                               uint32_t    firstQuery,
 | |
|                               uint32_t    queryCount ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkResetQueryPoolEXT( device, queryPool, firstQuery, queryCount );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_extended_dynamic_state ===
 | |
| 
 | |
|     void vkCmdSetCullModeEXT( VkCommandBuffer commandBuffer, VkCullModeFlags cullMode ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetCullModeEXT( commandBuffer, cullMode );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetFrontFaceEXT( VkCommandBuffer commandBuffer, VkFrontFace frontFace ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetFrontFaceEXT( commandBuffer, frontFace );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetPrimitiveTopologyEXT( VkCommandBuffer     commandBuffer,
 | |
|                                        VkPrimitiveTopology primitiveTopology ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPrimitiveTopologyEXT( commandBuffer, primitiveTopology );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetViewportWithCountEXT( VkCommandBuffer    commandBuffer,
 | |
|                                        uint32_t           viewportCount,
 | |
|                                        const VkViewport * pViewports ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetViewportWithCountEXT( commandBuffer, viewportCount, pViewports );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetScissorWithCountEXT( VkCommandBuffer  commandBuffer,
 | |
|                                       uint32_t         scissorCount,
 | |
|                                       const VkRect2D * pScissors ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetScissorWithCountEXT( commandBuffer, scissorCount, pScissors );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindVertexBuffers2EXT( VkCommandBuffer      commandBuffer,
 | |
|                                      uint32_t             firstBinding,
 | |
|                                      uint32_t             bindingCount,
 | |
|                                      const VkBuffer *     pBuffers,
 | |
|                                      const VkDeviceSize * pOffsets,
 | |
|                                      const VkDeviceSize * pSizes,
 | |
|                                      const VkDeviceSize * pStrides ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindVertexBuffers2EXT(
 | |
|         commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthTestEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthTestEnableEXT( commandBuffer, depthTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthWriteEnableEXT( VkCommandBuffer commandBuffer,
 | |
|                                       VkBool32        depthWriteEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthWriteEnableEXT( commandBuffer, depthWriteEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthCompareOpEXT( VkCommandBuffer commandBuffer,
 | |
|                                     VkCompareOp     depthCompareOp ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthCompareOpEXT( commandBuffer, depthCompareOp );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBoundsTestEnableEXT( VkCommandBuffer commandBuffer,
 | |
|                                            VkBool32        depthBoundsTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBoundsTestEnableEXT( commandBuffer, depthBoundsTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilTestEnableEXT( VkCommandBuffer commandBuffer,
 | |
|                                        VkBool32        stencilTestEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilTestEnableEXT( commandBuffer, stencilTestEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetStencilOpEXT( VkCommandBuffer    commandBuffer,
 | |
|                                VkStencilFaceFlags faceMask,
 | |
|                                VkStencilOp        failOp,
 | |
|                                VkStencilOp        passOp,
 | |
|                                VkStencilOp        depthFailOp,
 | |
|                                VkCompareOp        compareOp ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetStencilOpEXT( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_deferred_host_operations ===
 | |
| 
 | |
|     VkResult vkCreateDeferredOperationKHR( VkDevice                      device,
 | |
|                                            const VkAllocationCallbacks * pAllocator,
 | |
|                                            VkDeferredOperationKHR *      pDeferredOperation ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDeferredOperationKHR( device, pAllocator, pDeferredOperation );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyDeferredOperationKHR( VkDevice                      device,
 | |
|                                         VkDeferredOperationKHR        operation,
 | |
|                                         const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyDeferredOperationKHR( device, operation, pAllocator );
 | |
|     }
 | |
| 
 | |
|     uint32_t vkGetDeferredOperationMaxConcurrencyKHR( VkDevice               device,
 | |
|                                                       VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeferredOperationMaxConcurrencyKHR( device, operation );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDeferredOperationResultKHR( VkDevice               device,
 | |
|                                               VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeferredOperationResultKHR( device, operation );
 | |
|     }
 | |
| 
 | |
|     VkResult vkDeferredOperationJoinKHR( VkDevice device, VkDeferredOperationKHR operation ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDeferredOperationJoinKHR( device, operation );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_pipeline_executable_properties ===
 | |
| 
 | |
|     VkResult
 | |
|       vkGetPipelineExecutablePropertiesKHR( VkDevice                            device,
 | |
|                                             const VkPipelineInfoKHR *           pPipelineInfo,
 | |
|                                             uint32_t *                          pExecutableCount,
 | |
|                                             VkPipelineExecutablePropertiesKHR * pProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPipelineExecutablePropertiesKHR( device, pPipelineInfo, pExecutableCount, pProperties );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkGetPipelineExecutableStatisticsKHR( VkDevice                            device,
 | |
|                                             const VkPipelineExecutableInfoKHR * pExecutableInfo,
 | |
|                                             uint32_t *                          pStatisticCount,
 | |
|                                             VkPipelineExecutableStatisticKHR *  pStatistics ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPipelineExecutableStatisticsKHR( device, pExecutableInfo, pStatisticCount, pStatistics );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetPipelineExecutableInternalRepresentationsKHR(
 | |
|       VkDevice                                        device,
 | |
|       const VkPipelineExecutableInfoKHR *             pExecutableInfo,
 | |
|       uint32_t *                                      pInternalRepresentationCount,
 | |
|       VkPipelineExecutableInternalRepresentationKHR * pInternalRepresentations ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPipelineExecutableInternalRepresentationsKHR(
 | |
|         device, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_device_generated_commands ===
 | |
| 
 | |
|     void vkGetGeneratedCommandsMemoryRequirementsNV( VkDevice                                            device,
 | |
|                                                      const VkGeneratedCommandsMemoryRequirementsInfoNV * pInfo,
 | |
|                                                      VkMemoryRequirements2 * pMemoryRequirements ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetGeneratedCommandsMemoryRequirementsNV( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkCmdPreprocessGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
 | |
|                                              const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdExecuteGeneratedCommandsNV( VkCommandBuffer                   commandBuffer,
 | |
|                                           VkBool32                          isPreprocessed,
 | |
|                                           const VkGeneratedCommandsInfoNV * pGeneratedCommandsInfo ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBindPipelineShaderGroupNV( VkCommandBuffer     commandBuffer,
 | |
|                                          VkPipelineBindPoint pipelineBindPoint,
 | |
|                                          VkPipeline          pipeline,
 | |
|                                          uint32_t            groupIndex ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex );
 | |
|     }
 | |
| 
 | |
|     VkResult
 | |
|       vkCreateIndirectCommandsLayoutNV( VkDevice                                     device,
 | |
|                                         const VkIndirectCommandsLayoutCreateInfoNV * pCreateInfo,
 | |
|                                         const VkAllocationCallbacks *                pAllocator,
 | |
|                                         VkIndirectCommandsLayoutNV * pIndirectCommandsLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateIndirectCommandsLayoutNV( device, pCreateInfo, pAllocator, pIndirectCommandsLayout );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyIndirectCommandsLayoutNV( VkDevice                      device,
 | |
|                                             VkIndirectCommandsLayoutNV    indirectCommandsLayout,
 | |
|                                             const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyIndirectCommandsLayoutNV( device, indirectCommandsLayout, pAllocator );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_acquire_drm_display ===
 | |
| 
 | |
|     VkResult vkAcquireDrmDisplayEXT( VkPhysicalDevice physicalDevice,
 | |
|                                      int32_t          drmFd,
 | |
|                                      VkDisplayKHR     display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireDrmDisplayEXT( physicalDevice, drmFd, display );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetDrmDisplayEXT( VkPhysicalDevice physicalDevice,
 | |
|                                  int32_t          drmFd,
 | |
|                                  uint32_t         connectorId,
 | |
|                                  VkDisplayKHR *   display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDrmDisplayEXT( physicalDevice, drmFd, connectorId, display );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_private_data ===
 | |
| 
 | |
|     VkResult vkCreatePrivateDataSlotEXT( VkDevice                            device,
 | |
|                                          const VkPrivateDataSlotCreateInfo * pCreateInfo,
 | |
|                                          const VkAllocationCallbacks *       pAllocator,
 | |
|                                          VkPrivateDataSlot * pPrivateDataSlot ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreatePrivateDataSlotEXT( device, pCreateInfo, pAllocator, pPrivateDataSlot );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyPrivateDataSlotEXT( VkDevice                      device,
 | |
|                                       VkPrivateDataSlot             privateDataSlot,
 | |
|                                       const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyPrivateDataSlotEXT( device, privateDataSlot, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetPrivateDataEXT( VkDevice          device,
 | |
|                                   VkObjectType      objectType,
 | |
|                                   uint64_t          objectHandle,
 | |
|                                   VkPrivateDataSlot privateDataSlot,
 | |
|                                   uint64_t          data ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, data );
 | |
|     }
 | |
| 
 | |
|     void vkGetPrivateDataEXT( VkDevice          device,
 | |
|                               VkObjectType      objectType,
 | |
|                               uint64_t          objectHandle,
 | |
|                               VkPrivateDataSlot privateDataSlot,
 | |
|                               uint64_t *        pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPrivateDataEXT( device, objectType, objectHandle, privateDataSlot, pData );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_encode_queue ===
 | |
| 
 | |
|     void vkCmdEncodeVideoKHR( VkCommandBuffer              commandBuffer,
 | |
|                               const VkVideoEncodeInfoKHR * pEncodeInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdEncodeVideoKHR( commandBuffer, pEncodeInfo );
 | |
|     }
 | |
| #  endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|     //=== VK_KHR_synchronization2 ===
 | |
| 
 | |
|     void vkCmdSetEvent2KHR( VkCommandBuffer          commandBuffer,
 | |
|                             VkEvent                  event,
 | |
|                             const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetEvent2KHR( commandBuffer, event, pDependencyInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResetEvent2KHR( VkCommandBuffer       commandBuffer,
 | |
|                               VkEvent               event,
 | |
|                               VkPipelineStageFlags2 stageMask ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResetEvent2KHR( commandBuffer, event, stageMask );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWaitEvents2KHR( VkCommandBuffer          commandBuffer,
 | |
|                               uint32_t                 eventCount,
 | |
|                               const VkEvent *          pEvents,
 | |
|                               const VkDependencyInfo * pDependencyInfos ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWaitEvents2KHR( commandBuffer, eventCount, pEvents, pDependencyInfos );
 | |
|     }
 | |
| 
 | |
|     void vkCmdPipelineBarrier2KHR( VkCommandBuffer          commandBuffer,
 | |
|                                    const VkDependencyInfo * pDependencyInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdPipelineBarrier2KHR( commandBuffer, pDependencyInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteTimestamp2KHR( VkCommandBuffer       commandBuffer,
 | |
|                                   VkPipelineStageFlags2 stage,
 | |
|                                   VkQueryPool           queryPool,
 | |
|                                   uint32_t              query ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteTimestamp2KHR( commandBuffer, stage, queryPool, query );
 | |
|     }
 | |
| 
 | |
|     VkResult vkQueueSubmit2KHR( VkQueue               queue,
 | |
|                                 uint32_t              submitCount,
 | |
|                                 const VkSubmitInfo2 * pSubmits,
 | |
|                                 VkFence               fence ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkQueueSubmit2KHR( queue, submitCount, pSubmits, fence );
 | |
|     }
 | |
| 
 | |
|     void vkCmdWriteBufferMarker2AMD( VkCommandBuffer       commandBuffer,
 | |
|                                      VkPipelineStageFlags2 stage,
 | |
|                                      VkBuffer              dstBuffer,
 | |
|                                      VkDeviceSize          dstOffset,
 | |
|                                      uint32_t              marker ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker );
 | |
|     }
 | |
| 
 | |
|     void vkGetQueueCheckpointData2NV( VkQueue               queue,
 | |
|                                       uint32_t *            pCheckpointDataCount,
 | |
|                                       VkCheckpointData2NV * pCheckpointData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetQueueCheckpointData2NV( queue, pCheckpointDataCount, pCheckpointData );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_fragment_shading_rate_enums ===
 | |
| 
 | |
|     void vkCmdSetFragmentShadingRateEnumNV( VkCommandBuffer                          commandBuffer,
 | |
|                                             VkFragmentShadingRateNV                  shadingRate,
 | |
|                                             const VkFragmentShadingRateCombinerOpKHR combinerOps[2] ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_copy_commands2 ===
 | |
| 
 | |
|     void vkCmdCopyBuffer2KHR( VkCommandBuffer           commandBuffer,
 | |
|                               const VkCopyBufferInfo2 * pCopyBufferInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBuffer2KHR( commandBuffer, pCopyBufferInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImage2KHR( VkCommandBuffer          commandBuffer,
 | |
|                              const VkCopyImageInfo2 * pCopyImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImage2KHR( commandBuffer, pCopyImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyBufferToImage2KHR( VkCommandBuffer                  commandBuffer,
 | |
|                                      const VkCopyBufferToImageInfo2 * pCopyBufferToImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyBufferToImage2KHR( commandBuffer, pCopyBufferToImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdCopyImageToBuffer2KHR( VkCommandBuffer                  commandBuffer,
 | |
|                                      const VkCopyImageToBufferInfo2 * pCopyImageToBufferInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdCopyImageToBuffer2KHR( commandBuffer, pCopyImageToBufferInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdBlitImage2KHR( VkCommandBuffer          commandBuffer,
 | |
|                              const VkBlitImageInfo2 * pBlitImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBlitImage2KHR( commandBuffer, pBlitImageInfo );
 | |
|     }
 | |
| 
 | |
|     void vkCmdResolveImage2KHR( VkCommandBuffer             commandBuffer,
 | |
|                                 const VkResolveImageInfo2 * pResolveImageInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdResolveImage2KHR( commandBuffer, pResolveImageInfo );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_NV_acquire_winrt_display ===
 | |
| 
 | |
|     VkResult vkAcquireWinrtDisplayNV( VkPhysicalDevice physicalDevice, VkDisplayKHR display ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkAcquireWinrtDisplayNV( physicalDevice, display );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetWinrtDisplayNV( VkPhysicalDevice physicalDevice,
 | |
|                                   uint32_t         deviceRelativeId,
 | |
|                                   VkDisplayKHR *   pDisplay ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetWinrtDisplayNV( physicalDevice, deviceRelativeId, pDisplay );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
 | |
|     //=== VK_EXT_directfb_surface ===
 | |
| 
 | |
|     VkResult vkCreateDirectFBSurfaceEXT( VkInstance                             instance,
 | |
|                                          const VkDirectFBSurfaceCreateInfoEXT * pCreateInfo,
 | |
|                                          const VkAllocationCallbacks *          pAllocator,
 | |
|                                          VkSurfaceKHR *                         pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateDirectFBSurfaceEXT( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceDirectFBPresentationSupportEXT( VkPhysicalDevice physicalDevice,
 | |
|                                                                 uint32_t         queueFamilyIndex,
 | |
|                                                                 IDirectFB *      dfb ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceDirectFBPresentationSupportEXT( physicalDevice, queueFamilyIndex, dfb );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
 | |
| 
 | |
|     //=== VK_KHR_ray_tracing_pipeline ===
 | |
| 
 | |
|     void vkCmdTraceRaysKHR( VkCommandBuffer                         commandBuffer,
 | |
|                             const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
 | |
|                             const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
 | |
|                             const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
 | |
|                             const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
 | |
|                             uint32_t                                width,
 | |
|                             uint32_t                                height,
 | |
|                             uint32_t                                depth ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdTraceRaysKHR( commandBuffer,
 | |
|                                   pRaygenShaderBindingTable,
 | |
|                                   pMissShaderBindingTable,
 | |
|                                   pHitShaderBindingTable,
 | |
|                                   pCallableShaderBindingTable,
 | |
|                                   width,
 | |
|                                   height,
 | |
|                                   depth );
 | |
|     }
 | |
| 
 | |
|     VkResult vkCreateRayTracingPipelinesKHR( VkDevice                                  device,
 | |
|                                              VkDeferredOperationKHR                    deferredOperation,
 | |
|                                              VkPipelineCache                           pipelineCache,
 | |
|                                              uint32_t                                  createInfoCount,
 | |
|                                              const VkRayTracingPipelineCreateInfoKHR * pCreateInfos,
 | |
|                                              const VkAllocationCallbacks *             pAllocator,
 | |
|                                              VkPipeline * pPipelines ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateRayTracingPipelinesKHR(
 | |
|         device, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetRayTracingShaderGroupHandlesKHR( VkDevice   device,
 | |
|                                                    VkPipeline pipeline,
 | |
|                                                    uint32_t   firstGroup,
 | |
|                                                    uint32_t   groupCount,
 | |
|                                                    size_t     dataSize,
 | |
|                                                    void *     pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRayTracingShaderGroupHandlesKHR( device, pipeline, firstGroup, groupCount, dataSize, pData );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( VkDevice   device,
 | |
|                                                                 VkPipeline pipeline,
 | |
|                                                                 uint32_t   firstGroup,
 | |
|                                                                 uint32_t   groupCount,
 | |
|                                                                 size_t     dataSize,
 | |
|                                                                 void *     pData ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
 | |
|         device, pipeline, firstGroup, groupCount, dataSize, pData );
 | |
|     }
 | |
| 
 | |
|     void vkCmdTraceRaysIndirectKHR( VkCommandBuffer                         commandBuffer,
 | |
|                                     const VkStridedDeviceAddressRegionKHR * pRaygenShaderBindingTable,
 | |
|                                     const VkStridedDeviceAddressRegionKHR * pMissShaderBindingTable,
 | |
|                                     const VkStridedDeviceAddressRegionKHR * pHitShaderBindingTable,
 | |
|                                     const VkStridedDeviceAddressRegionKHR * pCallableShaderBindingTable,
 | |
|                                     VkDeviceAddress indirectDeviceAddress ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdTraceRaysIndirectKHR( commandBuffer,
 | |
|                                           pRaygenShaderBindingTable,
 | |
|                                           pMissShaderBindingTable,
 | |
|                                           pHitShaderBindingTable,
 | |
|                                           pCallableShaderBindingTable,
 | |
|                                           indirectDeviceAddress );
 | |
|     }
 | |
| 
 | |
|     VkDeviceSize vkGetRayTracingShaderGroupStackSizeKHR( VkDevice               device,
 | |
|                                                          VkPipeline             pipeline,
 | |
|                                                          uint32_t               group,
 | |
|                                                          VkShaderGroupShaderKHR groupShader ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetRayTracingShaderGroupStackSizeKHR( device, pipeline, group, groupShader );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetRayTracingPipelineStackSizeKHR( VkCommandBuffer commandBuffer,
 | |
|                                                  uint32_t        pipelineStackSize ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_vertex_input_dynamic_state ===
 | |
| 
 | |
|     void vkCmdSetVertexInputEXT( VkCommandBuffer                               commandBuffer,
 | |
|                                  uint32_t                                      vertexBindingDescriptionCount,
 | |
|                                  const VkVertexInputBindingDescription2EXT *   pVertexBindingDescriptions,
 | |
|                                  uint32_t                                      vertexAttributeDescriptionCount,
 | |
|                                  const VkVertexInputAttributeDescription2EXT * pVertexAttributeDescriptions ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetVertexInputEXT( commandBuffer,
 | |
|                                        vertexBindingDescriptionCount,
 | |
|                                        pVertexBindingDescriptions,
 | |
|                                        vertexAttributeDescriptionCount,
 | |
|                                        pVertexAttributeDescriptions );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_external_memory ===
 | |
| 
 | |
|     VkResult vkGetMemoryZirconHandleFUCHSIA( VkDevice                                   device,
 | |
|                                              const VkMemoryGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
 | |
|                                              zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetMemoryZirconHandlePropertiesFUCHSIA(
 | |
|       VkDevice                                device,
 | |
|       VkExternalMemoryHandleTypeFlagBits      handleType,
 | |
|       zx_handle_t                             zirconHandle,
 | |
|       VkMemoryZirconHandlePropertiesFUCHSIA * pMemoryZirconHandleProperties ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryZirconHandlePropertiesFUCHSIA(
 | |
|         device, handleType, zirconHandle, pMemoryZirconHandleProperties );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_external_semaphore ===
 | |
| 
 | |
|     VkResult vkImportSemaphoreZirconHandleFUCHSIA(
 | |
|       VkDevice                                         device,
 | |
|       const VkImportSemaphoreZirconHandleInfoFUCHSIA * pImportSemaphoreZirconHandleInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkImportSemaphoreZirconHandleFUCHSIA( device, pImportSemaphoreZirconHandleInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetSemaphoreZirconHandleFUCHSIA( VkDevice                                      device,
 | |
|                                                 const VkSemaphoreGetZirconHandleInfoFUCHSIA * pGetZirconHandleInfo,
 | |
|                                                 zx_handle_t * pZirconHandle ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetSemaphoreZirconHandleFUCHSIA( device, pGetZirconHandleInfo, pZirconHandle );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_buffer_collection ===
 | |
| 
 | |
|     VkResult vkCreateBufferCollectionFUCHSIA( VkDevice                                    device,
 | |
|                                               const VkBufferCollectionCreateInfoFUCHSIA * pCreateInfo,
 | |
|                                               const VkAllocationCallbacks *               pAllocator,
 | |
|                                               VkBufferCollectionFUCHSIA * pCollection ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateBufferCollectionFUCHSIA( device, pCreateInfo, pAllocator, pCollection );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetBufferCollectionImageConstraintsFUCHSIA(
 | |
|       VkDevice                              device,
 | |
|       VkBufferCollectionFUCHSIA             collection,
 | |
|       const VkImageConstraintsInfoFUCHSIA * pImageConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetBufferCollectionImageConstraintsFUCHSIA( device, collection, pImageConstraintsInfo );
 | |
|     }
 | |
| 
 | |
|     VkResult vkSetBufferCollectionBufferConstraintsFUCHSIA(
 | |
|       VkDevice                               device,
 | |
|       VkBufferCollectionFUCHSIA              collection,
 | |
|       const VkBufferConstraintsInfoFUCHSIA * pBufferConstraintsInfo ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetBufferCollectionBufferConstraintsFUCHSIA( device, collection, pBufferConstraintsInfo );
 | |
|     }
 | |
| 
 | |
|     void vkDestroyBufferCollectionFUCHSIA( VkDevice                      device,
 | |
|                                            VkBufferCollectionFUCHSIA     collection,
 | |
|                                            const VkAllocationCallbacks * pAllocator ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkDestroyBufferCollectionFUCHSIA( device, collection, pAllocator );
 | |
|     }
 | |
| 
 | |
|     VkResult vkGetBufferCollectionPropertiesFUCHSIA( VkDevice                              device,
 | |
|                                                      VkBufferCollectionFUCHSIA             collection,
 | |
|                                                      VkBufferCollectionPropertiesFUCHSIA * pProperties ) const
 | |
|       VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetBufferCollectionPropertiesFUCHSIA( device, collection, pProperties );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
|     //=== VK_HUAWEI_subpass_shading ===
 | |
| 
 | |
|     VkResult vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkDevice     device,
 | |
|                                                               VkRenderPass renderpass,
 | |
|                                                               VkExtent2D * pMaxWorkgroupSize ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( device, renderpass, pMaxWorkgroupSize );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSubpassShadingHUAWEI( VkCommandBuffer commandBuffer ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSubpassShadingHUAWEI( commandBuffer );
 | |
|     }
 | |
| 
 | |
|     //=== VK_HUAWEI_invocation_mask ===
 | |
| 
 | |
|     void vkCmdBindInvocationMaskHUAWEI( VkCommandBuffer commandBuffer,
 | |
|                                         VkImageView     imageView,
 | |
|                                         VkImageLayout   imageLayout ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout );
 | |
|     }
 | |
| 
 | |
|     //=== VK_NV_external_memory_rdma ===
 | |
| 
 | |
|     VkResult vkGetMemoryRemoteAddressNV( VkDevice                               device,
 | |
|                                          const VkMemoryGetRemoteAddressInfoNV * pMemoryGetRemoteAddressInfo,
 | |
|                                          VkRemoteAddressNV *                    pAddress ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetMemoryRemoteAddressNV( device, pMemoryGetRemoteAddressInfo, pAddress );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_extended_dynamic_state2 ===
 | |
| 
 | |
|     void vkCmdSetPatchControlPointsEXT( VkCommandBuffer commandBuffer,
 | |
|                                         uint32_t        patchControlPoints ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetRasterizerDiscardEnableEXT( VkCommandBuffer commandBuffer,
 | |
|                                              VkBool32        rasterizerDiscardEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetRasterizerDiscardEnableEXT( commandBuffer, rasterizerDiscardEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetDepthBiasEnableEXT( VkCommandBuffer commandBuffer, VkBool32 depthBiasEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetDepthBiasEnableEXT( commandBuffer, depthBiasEnable );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetLogicOpEXT( VkCommandBuffer commandBuffer, VkLogicOp logicOp ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetLogicOpEXT( commandBuffer, logicOp );
 | |
|     }
 | |
| 
 | |
|     void vkCmdSetPrimitiveRestartEnableEXT( VkCommandBuffer commandBuffer,
 | |
|                                             VkBool32        primitiveRestartEnable ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetPrimitiveRestartEnableEXT( commandBuffer, primitiveRestartEnable );
 | |
|     }
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_SCREEN_QNX )
 | |
|     //=== VK_QNX_screen_surface ===
 | |
| 
 | |
|     VkResult vkCreateScreenSurfaceQNX( VkInstance                           instance,
 | |
|                                        const VkScreenSurfaceCreateInfoQNX * pCreateInfo,
 | |
|                                        const VkAllocationCallbacks *        pAllocator,
 | |
|                                        VkSurfaceKHR *                       pSurface ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCreateScreenSurfaceQNX( instance, pCreateInfo, pAllocator, pSurface );
 | |
|     }
 | |
| 
 | |
|     VkBool32 vkGetPhysicalDeviceScreenPresentationSupportQNX( VkPhysicalDevice        physicalDevice,
 | |
|                                                               uint32_t                queueFamilyIndex,
 | |
|                                                               struct _screen_window * window ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetPhysicalDeviceScreenPresentationSupportQNX( physicalDevice, queueFamilyIndex, window );
 | |
|     }
 | |
| #  endif /*VK_USE_PLATFORM_SCREEN_QNX*/
 | |
| 
 | |
|     //=== VK_EXT_color_write_enable ===
 | |
| 
 | |
|     void vkCmdSetColorWriteEnableEXT( VkCommandBuffer  commandBuffer,
 | |
|                                       uint32_t         attachmentCount,
 | |
|                                       const VkBool32 * pColorWriteEnables ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_multi_draw ===
 | |
| 
 | |
|     void vkCmdDrawMultiEXT( VkCommandBuffer            commandBuffer,
 | |
|                             uint32_t                   drawCount,
 | |
|                             const VkMultiDrawInfoEXT * pVertexInfo,
 | |
|                             uint32_t                   instanceCount,
 | |
|                             uint32_t                   firstInstance,
 | |
|                             uint32_t                   stride ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride );
 | |
|     }
 | |
| 
 | |
|     void vkCmdDrawMultiIndexedEXT( VkCommandBuffer                   commandBuffer,
 | |
|                                    uint32_t                          drawCount,
 | |
|                                    const VkMultiDrawIndexedInfoEXT * pIndexInfo,
 | |
|                                    uint32_t                          instanceCount,
 | |
|                                    uint32_t                          firstInstance,
 | |
|                                    uint32_t                          stride,
 | |
|                                    const int32_t *                   pVertexOffset ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkCmdDrawMultiIndexedEXT(
 | |
|         commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset );
 | |
|     }
 | |
| 
 | |
|     //=== VK_EXT_pageable_device_local_memory ===
 | |
| 
 | |
|     void
 | |
|       vkSetDeviceMemoryPriorityEXT( VkDevice device, VkDeviceMemory memory, float priority ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkSetDeviceMemoryPriorityEXT( device, memory, priority );
 | |
|     }
 | |
| 
 | |
|     //=== VK_KHR_maintenance4 ===
 | |
| 
 | |
|     void vkGetDeviceBufferMemoryRequirementsKHR( VkDevice                                 device,
 | |
|                                                  const VkDeviceBufferMemoryRequirements * pInfo,
 | |
|                                                  VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceBufferMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceImageMemoryRequirementsKHR( VkDevice                                device,
 | |
|                                                 const VkDeviceImageMemoryRequirements * pInfo,
 | |
|                                                 VkMemoryRequirements2 * pMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceImageMemoryRequirementsKHR( device, pInfo, pMemoryRequirements );
 | |
|     }
 | |
| 
 | |
|     void vkGetDeviceImageSparseMemoryRequirementsKHR(
 | |
|       VkDevice                                device,
 | |
|       const VkDeviceImageMemoryRequirements * pInfo,
 | |
|       uint32_t *                              pSparseMemoryRequirementCount,
 | |
|       VkSparseImageMemoryRequirements2 *      pSparseMemoryRequirements ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return ::vkGetDeviceImageSparseMemoryRequirementsKHR(
 | |
|         device, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements );
 | |
|     }
 | |
|   };
 | |
| #endif
 | |
| 
 | |
|   class DispatchLoaderDynamic;
 | |
| #if !defined( VULKAN_HPP_DISPATCH_LOADER_DYNAMIC )
 | |
| #  if defined( VK_NO_PROTOTYPES )
 | |
| #    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
 | |
| #  else
 | |
| #    define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 0
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_STORAGE_API )
 | |
| #  if defined( VULKAN_HPP_STORAGE_SHARED )
 | |
| #    if defined( _MSC_VER )
 | |
| #      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
 | |
| #        define VULKAN_HPP_STORAGE_API __declspec( dllexport )
 | |
| #      else
 | |
| #        define VULKAN_HPP_STORAGE_API __declspec( dllimport )
 | |
| #      endif
 | |
| #    elif defined( __clang__ ) || defined( __GNUC__ )
 | |
| #      if defined( VULKAN_HPP_STORAGE_SHARED_EXPORT )
 | |
| #        define VULKAN_HPP_STORAGE_API __attribute__( ( visibility( "default" ) ) )
 | |
| #      else
 | |
| #        define VULKAN_HPP_STORAGE_API
 | |
| #      endif
 | |
| #    else
 | |
| #      define VULKAN_HPP_STORAGE_API
 | |
| #      pragma warning Unknown import / export semantics
 | |
| #    endif
 | |
| #  else
 | |
| #    define VULKAN_HPP_STORAGE_API
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER )
 | |
| #  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::defaultDispatchLoaderDynamic
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE                     \
 | |
|       namespace VULKAN_HPP_NAMESPACE                                               \
 | |
|       {                                                                            \
 | |
|         VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic; \
 | |
|       }
 | |
|   extern VULKAN_HPP_STORAGE_API DispatchLoaderDynamic defaultDispatchLoaderDynamic;
 | |
| #  else
 | |
|   static inline ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic & getDispatchLoaderStatic()
 | |
|   {
 | |
|     static ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic dls;
 | |
|     return dls;
 | |
|   }
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCHER ::VULKAN_HPP_NAMESPACE::getDispatchLoaderStatic()
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if !defined( VULKAN_HPP_DEFAULT_DISPATCHER_TYPE )
 | |
| #  if VULKAN_HPP_DISPATCH_LOADER_DYNAMIC == 1
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic
 | |
| #  else
 | |
| #    define VULKAN_HPP_DEFAULT_DISPATCHER_TYPE ::VULKAN_HPP_NAMESPACE::DispatchLoaderStatic
 | |
| #  endif
 | |
| #endif
 | |
| 
 | |
| #if defined( VULKAN_HPP_NO_DEFAULT_DISPATCHER )
 | |
| #  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT
 | |
| #  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT
 | |
| #  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT
 | |
| #else
 | |
| #  define VULKAN_HPP_DEFAULT_ARGUMENT_ASSIGNMENT         = {}
 | |
| #  define VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT = nullptr
 | |
| #  define VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT       = VULKAN_HPP_DEFAULT_DISPATCHER
 | |
| #endif
 | |
| 
 | |
|   struct AllocationCallbacks;
 | |
| 
 | |
|   template <typename OwnerType, typename Dispatch>
 | |
|   class ObjectDestroy
 | |
|   {
 | |
|   public:
 | |
|     ObjectDestroy() = default;
 | |
| 
 | |
|     ObjectDestroy( OwnerType owner,
 | |
|                    Optional<const AllocationCallbacks> allocationCallbacks
 | |
|                                              VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
 | |
|                    Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_owner( owner )
 | |
|       , m_allocationCallbacks( allocationCallbacks )
 | |
|       , m_dispatch( &dispatch )
 | |
|     {}
 | |
| 
 | |
|     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_owner;
 | |
|     }
 | |
|     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_allocationCallbacks;
 | |
|     }
 | |
| 
 | |
|   protected:
 | |
|     template <typename T>
 | |
|     void destroy( T t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
 | |
|       m_owner.destroy( t, m_allocationCallbacks, *m_dispatch );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     OwnerType                           m_owner               = {};
 | |
|     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
 | |
|     Dispatch const *                    m_dispatch            = nullptr;
 | |
|   };
 | |
| 
 | |
|   class NoParent;
 | |
| 
 | |
|   template <typename Dispatch>
 | |
|   class ObjectDestroy<NoParent, Dispatch>
 | |
|   {
 | |
|   public:
 | |
|     ObjectDestroy() = default;
 | |
| 
 | |
|     ObjectDestroy( Optional<const AllocationCallbacks> allocationCallbacks,
 | |
|                    Dispatch const & dispatch           VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_allocationCallbacks( allocationCallbacks )
 | |
|       , m_dispatch( &dispatch )
 | |
|     {}
 | |
| 
 | |
|     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_allocationCallbacks;
 | |
|     }
 | |
| 
 | |
|   protected:
 | |
|     template <typename T>
 | |
|     void destroy( T t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_dispatch );
 | |
|       t.destroy( m_allocationCallbacks, *m_dispatch );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
 | |
|     Dispatch const *                    m_dispatch            = nullptr;
 | |
|   };
 | |
| 
 | |
|   template <typename OwnerType, typename Dispatch>
 | |
|   class ObjectFree
 | |
|   {
 | |
|   public:
 | |
|     ObjectFree() = default;
 | |
| 
 | |
|     ObjectFree( OwnerType                                               owner,
 | |
|                 Optional<const AllocationCallbacks> allocationCallbacks VULKAN_HPP_DEFAULT_ARGUMENT_NULLPTR_ASSIGNMENT,
 | |
|                 Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_owner( owner )
 | |
|       , m_allocationCallbacks( allocationCallbacks )
 | |
|       , m_dispatch( &dispatch )
 | |
|     {}
 | |
| 
 | |
|     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_owner;
 | |
|     }
 | |
| 
 | |
|     Optional<const AllocationCallbacks> getAllocator() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_allocationCallbacks;
 | |
|     }
 | |
| 
 | |
|   protected:
 | |
|     template <typename T>
 | |
|     void destroy( T t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
 | |
|       m_owner.free( t, m_allocationCallbacks, *m_dispatch );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     OwnerType                           m_owner               = {};
 | |
|     Optional<const AllocationCallbacks> m_allocationCallbacks = nullptr;
 | |
|     Dispatch const *                    m_dispatch            = nullptr;
 | |
|   };
 | |
| 
 | |
|   template <typename OwnerType, typename Dispatch>
 | |
|   class ObjectRelease
 | |
|   {
 | |
|   public:
 | |
|     ObjectRelease() = default;
 | |
| 
 | |
|     ObjectRelease( OwnerType                 owner,
 | |
|                    Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_owner( owner )
 | |
|       , m_dispatch( &dispatch )
 | |
|     {}
 | |
| 
 | |
|     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_owner;
 | |
|     }
 | |
| 
 | |
|   protected:
 | |
|     template <typename T>
 | |
|     void destroy( T t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( m_owner && m_dispatch );
 | |
|       m_owner.release( t, *m_dispatch );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     OwnerType        m_owner    = {};
 | |
|     Dispatch const * m_dispatch = nullptr;
 | |
|   };
 | |
| 
 | |
|   template <typename OwnerType, typename PoolType, typename Dispatch>
 | |
|   class PoolFree
 | |
|   {
 | |
|   public:
 | |
|     PoolFree() = default;
 | |
| 
 | |
|     PoolFree( OwnerType                 owner,
 | |
|               PoolType                  pool,
 | |
|               Dispatch const & dispatch VULKAN_HPP_DEFAULT_DISPATCHER_ASSIGNMENT ) VULKAN_HPP_NOEXCEPT
 | |
|       : m_owner( owner )
 | |
|       , m_pool( pool )
 | |
|       , m_dispatch( &dispatch )
 | |
|     {}
 | |
| 
 | |
|     OwnerType getOwner() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_owner;
 | |
|     }
 | |
|     PoolType getPool() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_pool;
 | |
|     }
 | |
| 
 | |
|   protected:
 | |
|     template <typename T>
 | |
|     void destroy( T t ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       m_owner.free( m_pool, t, *m_dispatch );
 | |
|     }
 | |
| 
 | |
|   private:
 | |
|     OwnerType        m_owner    = OwnerType();
 | |
|     PoolType         m_pool     = PoolType();
 | |
|     Dispatch const * m_dispatch = nullptr;
 | |
|   };
 | |
| 
 | |
|   //==================
 | |
|   //=== BASE TYPEs ===
 | |
|   //==================
 | |
| 
 | |
|   using Bool32          = uint32_t;
 | |
|   using DeviceAddress   = uint64_t;
 | |
|   using DeviceSize      = uint64_t;
 | |
|   using RemoteAddressNV = void *;
 | |
|   using SampleMask      = uint32_t;
 | |
| 
 | |
| }  // namespace VULKAN_HPP_NAMESPACE
 | |
| 
 | |
| #include <vulkan/vulkan_enums.hpp>
 | |
| 
 | |
| #ifndef VULKAN_HPP_NO_EXCEPTIONS
 | |
| namespace std
 | |
| {
 | |
|   template <>
 | |
|   struct is_error_code_enum<VULKAN_HPP_NAMESPACE::Result> : public true_type
 | |
|   {};
 | |
| }  // namespace std
 | |
| #endif
 | |
| 
 | |
| namespace VULKAN_HPP_NAMESPACE
 | |
| {
 | |
| #ifndef VULKAN_HPP_NO_EXCEPTIONS
 | |
| 
 | |
|   class ErrorCategoryImpl : public std::error_category
 | |
|   {
 | |
|   public:
 | |
|     virtual const char * name() const VULKAN_HPP_NOEXCEPT override
 | |
|     {
 | |
|       return VULKAN_HPP_NAMESPACE_STRING "::Result";
 | |
|     }
 | |
|     virtual std::string message( int ev ) const override
 | |
|     {
 | |
|       return to_string( static_cast<Result>( ev ) );
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   class Error
 | |
|   {
 | |
|   public:
 | |
|     Error() VULKAN_HPP_NOEXCEPT                = default;
 | |
|     Error( const Error & ) VULKAN_HPP_NOEXCEPT = default;
 | |
|     virtual ~Error() VULKAN_HPP_NOEXCEPT       = default;
 | |
| 
 | |
|     virtual const char * what() const VULKAN_HPP_NOEXCEPT = 0;
 | |
|   };
 | |
| 
 | |
|   class LogicError
 | |
|     : public Error
 | |
|     , public std::logic_error
 | |
|   {
 | |
|   public:
 | |
|     explicit LogicError( const std::string & what ) : Error(), std::logic_error( what ) {}
 | |
|     explicit LogicError( char const * what ) : Error(), std::logic_error( what ) {}
 | |
| 
 | |
|     virtual const char * what() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::logic_error::what();
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   class SystemError
 | |
|     : public Error
 | |
|     , public std::system_error
 | |
|   {
 | |
|   public:
 | |
|     SystemError( std::error_code ec ) : Error(), std::system_error( ec ) {}
 | |
|     SystemError( std::error_code ec, std::string const & what ) : Error(), std::system_error( ec, what ) {}
 | |
|     SystemError( std::error_code ec, char const * what ) : Error(), std::system_error( ec, what ) {}
 | |
|     SystemError( int ev, std::error_category const & ecat ) : Error(), std::system_error( ev, ecat ) {}
 | |
|     SystemError( int ev, std::error_category const & ecat, std::string const & what )
 | |
|       : Error(), std::system_error( ev, ecat, what )
 | |
|     {}
 | |
|     SystemError( int ev, std::error_category const & ecat, char const * what )
 | |
|       : Error(), std::system_error( ev, ecat, what )
 | |
|     {}
 | |
| 
 | |
|     virtual const char * what() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::system_error::what();
 | |
|     }
 | |
|   };
 | |
| 
 | |
|   VULKAN_HPP_INLINE const std::error_category & errorCategory() VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     static ErrorCategoryImpl instance;
 | |
|     return instance;
 | |
|   }
 | |
| 
 | |
|   VULKAN_HPP_INLINE std::error_code make_error_code( Result e ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return std::error_code( static_cast<int>( e ), errorCategory() );
 | |
|   }
 | |
| 
 | |
|   VULKAN_HPP_INLINE std::error_condition make_error_condition( Result e ) VULKAN_HPP_NOEXCEPT
 | |
|   {
 | |
|     return std::error_condition( static_cast<int>( e ), errorCategory() );
 | |
|   }
 | |
| 
 | |
|   class OutOfHostMemoryError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     OutOfHostMemoryError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
 | |
|     {}
 | |
|     OutOfHostMemoryError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfHostMemory ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class OutOfDeviceMemoryError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     OutOfDeviceMemoryError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
 | |
|     {}
 | |
|     OutOfDeviceMemoryError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfDeviceMemory ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class InitializationFailedError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     InitializationFailedError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
 | |
|     {}
 | |
|     InitializationFailedError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorInitializationFailed ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class DeviceLostError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     DeviceLostError( std::string const & message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message )
 | |
|     {}
 | |
|     DeviceLostError( char const * message ) : SystemError( make_error_code( Result::eErrorDeviceLost ), message ) {}
 | |
|   };
 | |
| 
 | |
|   class MemoryMapFailedError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     MemoryMapFailedError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
 | |
|     {}
 | |
|     MemoryMapFailedError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorMemoryMapFailed ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class LayerNotPresentError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     LayerNotPresentError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
 | |
|     {}
 | |
|     LayerNotPresentError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorLayerNotPresent ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class ExtensionNotPresentError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     ExtensionNotPresentError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
 | |
|     {}
 | |
|     ExtensionNotPresentError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorExtensionNotPresent ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class FeatureNotPresentError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     FeatureNotPresentError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
 | |
|     {}
 | |
|     FeatureNotPresentError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorFeatureNotPresent ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class IncompatibleDriverError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     IncompatibleDriverError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
 | |
|     {}
 | |
|     IncompatibleDriverError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorIncompatibleDriver ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class TooManyObjectsError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     TooManyObjectsError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
 | |
|     {}
 | |
|     TooManyObjectsError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorTooManyObjects ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class FormatNotSupportedError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     FormatNotSupportedError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
 | |
|     {}
 | |
|     FormatNotSupportedError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorFormatNotSupported ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class FragmentedPoolError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     FragmentedPoolError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
 | |
|     {}
 | |
|     FragmentedPoolError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorFragmentedPool ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class UnknownError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     UnknownError( std::string const & message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
 | |
|     UnknownError( char const * message ) : SystemError( make_error_code( Result::eErrorUnknown ), message ) {}
 | |
|   };
 | |
| 
 | |
|   class OutOfPoolMemoryError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     OutOfPoolMemoryError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
 | |
|     {}
 | |
|     OutOfPoolMemoryError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfPoolMemory ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class InvalidExternalHandleError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     InvalidExternalHandleError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
 | |
|     {}
 | |
|     InvalidExternalHandleError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidExternalHandle ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class FragmentationError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     FragmentationError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorFragmentation ), message )
 | |
|     {}
 | |
|     FragmentationError( char const * message ) : SystemError( make_error_code( Result::eErrorFragmentation ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class InvalidOpaqueCaptureAddressError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     InvalidOpaqueCaptureAddressError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
 | |
|     {}
 | |
|     InvalidOpaqueCaptureAddressError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidOpaqueCaptureAddress ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class SurfaceLostKHRError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     SurfaceLostKHRError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
 | |
|     {}
 | |
|     SurfaceLostKHRError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorSurfaceLostKHR ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class NativeWindowInUseKHRError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     NativeWindowInUseKHRError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
 | |
|     {}
 | |
|     NativeWindowInUseKHRError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorNativeWindowInUseKHR ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class OutOfDateKHRError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     OutOfDateKHRError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message )
 | |
|     {}
 | |
|     OutOfDateKHRError( char const * message ) : SystemError( make_error_code( Result::eErrorOutOfDateKHR ), message ) {}
 | |
|   };
 | |
| 
 | |
|   class IncompatibleDisplayKHRError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     IncompatibleDisplayKHRError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
 | |
|     {}
 | |
|     IncompatibleDisplayKHRError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorIncompatibleDisplayKHR ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class ValidationFailedEXTError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     ValidationFailedEXTError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
 | |
|     {}
 | |
|     ValidationFailedEXTError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorValidationFailedEXT ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class InvalidShaderNVError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     InvalidShaderNVError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
 | |
|     {}
 | |
|     InvalidShaderNVError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidShaderNV ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class InvalidDrmFormatModifierPlaneLayoutEXTError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     InvalidDrmFormatModifierPlaneLayoutEXTError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
 | |
|     {}
 | |
|     InvalidDrmFormatModifierPlaneLayoutEXTError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
|   class NotPermittedKHRError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     NotPermittedKHRError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message )
 | |
|     {}
 | |
|     NotPermittedKHRError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorNotPermittedKHR ), message )
 | |
|     {}
 | |
|   };
 | |
| 
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   class FullScreenExclusiveModeLostEXTError : public SystemError
 | |
|   {
 | |
|   public:
 | |
|     FullScreenExclusiveModeLostEXTError( std::string const & message )
 | |
|       : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
 | |
|     {}
 | |
|     FullScreenExclusiveModeLostEXTError( char const * message )
 | |
|       : SystemError( make_error_code( Result::eErrorFullScreenExclusiveModeLostEXT ), message )
 | |
|     {}
 | |
|   };
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   namespace
 | |
|   {
 | |
|     [[noreturn]] void throwResultException( Result result, char const * message )
 | |
|     {
 | |
|       switch ( result )
 | |
|       {
 | |
|         case Result::eErrorOutOfHostMemory: throw OutOfHostMemoryError( message );
 | |
|         case Result::eErrorOutOfDeviceMemory: throw OutOfDeviceMemoryError( message );
 | |
|         case Result::eErrorInitializationFailed: throw InitializationFailedError( message );
 | |
|         case Result::eErrorDeviceLost: throw DeviceLostError( message );
 | |
|         case Result::eErrorMemoryMapFailed: throw MemoryMapFailedError( message );
 | |
|         case Result::eErrorLayerNotPresent: throw LayerNotPresentError( message );
 | |
|         case Result::eErrorExtensionNotPresent: throw ExtensionNotPresentError( message );
 | |
|         case Result::eErrorFeatureNotPresent: throw FeatureNotPresentError( message );
 | |
|         case Result::eErrorIncompatibleDriver: throw IncompatibleDriverError( message );
 | |
|         case Result::eErrorTooManyObjects: throw TooManyObjectsError( message );
 | |
|         case Result::eErrorFormatNotSupported: throw FormatNotSupportedError( message );
 | |
|         case Result::eErrorFragmentedPool: throw FragmentedPoolError( message );
 | |
|         case Result::eErrorUnknown: throw UnknownError( message );
 | |
|         case Result::eErrorOutOfPoolMemory: throw OutOfPoolMemoryError( message );
 | |
|         case Result::eErrorInvalidExternalHandle: throw InvalidExternalHandleError( message );
 | |
|         case Result::eErrorFragmentation: throw FragmentationError( message );
 | |
|         case Result::eErrorInvalidOpaqueCaptureAddress: throw InvalidOpaqueCaptureAddressError( message );
 | |
|         case Result::eErrorSurfaceLostKHR: throw SurfaceLostKHRError( message );
 | |
|         case Result::eErrorNativeWindowInUseKHR: throw NativeWindowInUseKHRError( message );
 | |
|         case Result::eErrorOutOfDateKHR: throw OutOfDateKHRError( message );
 | |
|         case Result::eErrorIncompatibleDisplayKHR: throw IncompatibleDisplayKHRError( message );
 | |
|         case Result::eErrorValidationFailedEXT: throw ValidationFailedEXTError( message );
 | |
|         case Result::eErrorInvalidShaderNV: throw InvalidShaderNVError( message );
 | |
|         case Result::eErrorInvalidDrmFormatModifierPlaneLayoutEXT:
 | |
|           throw InvalidDrmFormatModifierPlaneLayoutEXTError( message );
 | |
|         case Result::eErrorNotPermittedKHR: throw NotPermittedKHRError( message );
 | |
| #  if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|         case Result::eErrorFullScreenExclusiveModeLostEXT: throw FullScreenExclusiveModeLostEXTError( message );
 | |
| #  endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
|         default: throw SystemError( make_error_code( result ) );
 | |
|       }
 | |
|     }
 | |
|   }  // namespace
 | |
| #endif
 | |
| 
 | |
|   template <typename T>
 | |
|   void ignore( T const & ) VULKAN_HPP_NOEXCEPT
 | |
|   {}
 | |
| 
 | |
|   template <typename T>
 | |
|   struct ResultValue
 | |
|   {
 | |
| #ifdef VULKAN_HPP_HAS_NOEXCEPT
 | |
|     ResultValue( Result r, T & v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( v ) ) )
 | |
| #else
 | |
|     ResultValue( Result r, T & v )
 | |
| #endif
 | |
|       : result( r ), value( v )
 | |
|     {}
 | |
| 
 | |
| #ifdef VULKAN_HPP_HAS_NOEXCEPT
 | |
|     ResultValue( Result r, T && v ) VULKAN_HPP_NOEXCEPT( VULKAN_HPP_NOEXCEPT( T( std::move( v ) ) ) )
 | |
| #else
 | |
|     ResultValue( Result r, T && v )
 | |
| #endif
 | |
|       : result( r ), value( std::move( v ) )
 | |
|     {}
 | |
| 
 | |
|     Result result;
 | |
|     T      value;
 | |
| 
 | |
|     operator std::tuple<Result &, T &>() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::tuple<Result &, T &>( result, value );
 | |
|     }
 | |
| 
 | |
| #if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator T const &() const & VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return value;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator T &() & VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return value;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator T const &&() const && VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::move( value );
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator T &&() && VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::move( value );
 | |
|     }
 | |
| #endif
 | |
|   };
 | |
| 
 | |
| #if !defined( VULKAN_HPP_NO_SMART_HANDLE )
 | |
|   template <typename Type, typename Dispatch>
 | |
|   struct ResultValue<UniqueHandle<Type, Dispatch>>
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_HAS_NOEXCEPT
 | |
|     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v ) VULKAN_HPP_NOEXCEPT
 | |
| #  else
 | |
|     ResultValue( Result r, UniqueHandle<Type, Dispatch> && v )
 | |
| #  endif
 | |
|       : result( r )
 | |
|       , value( std::move( v ) )
 | |
|     {}
 | |
| 
 | |
|     std::tuple<Result, UniqueHandle<Type, Dispatch>> asTuple()
 | |
|     {
 | |
|       return std::make_tuple( result, std::move( value ) );
 | |
|     }
 | |
| 
 | |
| #  if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator UniqueHandle<Type, Dispatch> &() & VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return value;
 | |
|     }
 | |
| 
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator UniqueHandle<Type, Dispatch>() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::move( value );
 | |
|     }
 | |
| #  endif
 | |
| 
 | |
|     Result                       result;
 | |
|     UniqueHandle<Type, Dispatch> value;
 | |
|   };
 | |
| 
 | |
|   template <typename Type, typename Dispatch>
 | |
|   struct ResultValue<std::vector<UniqueHandle<Type, Dispatch>>>
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_HAS_NOEXCEPT
 | |
|     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v ) VULKAN_HPP_NOEXCEPT
 | |
| #  else
 | |
|     ResultValue( Result r, std::vector<UniqueHandle<Type, Dispatch>> && v )
 | |
| #  endif
 | |
|       : result( r )
 | |
|       , value( std::move( v ) )
 | |
|     {}
 | |
| 
 | |
|     std::tuple<Result, std::vector<UniqueHandle<Type, Dispatch>>> asTuple()
 | |
|     {
 | |
|       return std::make_tuple( result, std::move( value ) );
 | |
|     }
 | |
| 
 | |
|     Result                                    result;
 | |
|     std::vector<UniqueHandle<Type, Dispatch>> value;
 | |
| 
 | |
| #  if !defined( VULKAN_HPP_DISABLE_IMPLICIT_RESULT_VALUE_CAST )
 | |
|     VULKAN_HPP_DEPRECATED(
 | |
|       "Implicit-cast operators on vk::ResultValue are deprecated. Explicitly access the value as member of ResultValue." )
 | |
|     operator std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return std::tuple<Result &, std::vector<UniqueHandle<Type, Dispatch>> &>( result, value );
 | |
|     }
 | |
| #  endif
 | |
|   };
 | |
| #endif
 | |
| 
 | |
|   template <typename T>
 | |
|   struct ResultValueType
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     typedef ResultValue<T> type;
 | |
| #else
 | |
|     typedef T    type;
 | |
| #endif
 | |
|   };
 | |
| 
 | |
|   template <>
 | |
|   struct ResultValueType<void>
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     typedef Result type;
 | |
| #else
 | |
|     typedef void type;
 | |
| #endif
 | |
|   };
 | |
| 
 | |
|   VULKAN_HPP_INLINE ResultValueType<void>::type createResultValue( Result result, char const * message )
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
 | |
|     return result;
 | |
| #else
 | |
|     if ( result != Result::eSuccess )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
| #endif
 | |
|   }
 | |
| 
 | |
|   template <typename T>
 | |
|   VULKAN_HPP_INLINE typename ResultValueType<T>::type createResultValue( Result result, T & data, char const * message )
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
 | |
|     return ResultValue<T>( result, std::move( data ) );
 | |
| #else
 | |
|     if ( result != Result::eSuccess )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
|     return std::move( data );
 | |
| #endif
 | |
|   }
 | |
| 
 | |
|   VULKAN_HPP_INLINE Result createResultValue( Result                        result,
 | |
|                                               char const *                  message,
 | |
|                                               std::initializer_list<Result> successCodes )
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
 | |
| #else
 | |
|     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
| #endif
 | |
|     return result;
 | |
|   }
 | |
| 
 | |
|   template <typename T>
 | |
|   VULKAN_HPP_INLINE ResultValue<T>
 | |
|     createResultValue( Result result, T & data, char const * message, std::initializer_list<Result> successCodes )
 | |
|   {
 | |
| #ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
 | |
| #else
 | |
|     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
| #endif
 | |
|     return ResultValue<T>( result, std::move( data ) );
 | |
|   }
 | |
| 
 | |
| #ifndef VULKAN_HPP_NO_SMART_HANDLE
 | |
|   template <typename T, typename D>
 | |
|   VULKAN_HPP_INLINE typename ResultValueType<UniqueHandle<T, D>>::type createResultValue(
 | |
|     Result result, T & data, char const * message, typename UniqueHandleTraits<T, D>::deleter const & deleter )
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
 | |
|     return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
 | |
| #  else
 | |
|     if ( result != Result::eSuccess )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
|     return UniqueHandle<T, D>( data, deleter );
 | |
| #  endif
 | |
|   }
 | |
| 
 | |
|   template <typename T, typename D>
 | |
|   VULKAN_HPP_INLINE ResultValue<UniqueHandle<T, D>>
 | |
|                     createResultValue( Result                                             result,
 | |
|                                        T &                                                data,
 | |
|                                        char const *                                       message,
 | |
|                                        std::initializer_list<Result>                      successCodes,
 | |
|                                        typename UniqueHandleTraits<T, D>::deleter const & deleter )
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
 | |
| #  else
 | |
|     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
| #  endif
 | |
|     return ResultValue<UniqueHandle<T, D>>( result, UniqueHandle<T, D>( data, deleter ) );
 | |
|   }
 | |
| 
 | |
|   template <typename T, typename D>
 | |
|   VULKAN_HPP_INLINE typename ResultValueType<std::vector<UniqueHandle<T, D>>>::type
 | |
|     createResultValue( Result result, std::vector<UniqueHandle<T, D>> && data, char const * message )
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( result == Result::eSuccess );
 | |
|     return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) );
 | |
| #  else
 | |
|     if ( result != Result::eSuccess )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
|     return std::move( data );
 | |
| #  endif
 | |
|   }
 | |
| 
 | |
|   template <typename T, typename D>
 | |
|   VULKAN_HPP_INLINE ResultValue<std::vector<UniqueHandle<T, D>>>
 | |
|                     createResultValue( Result                             result,
 | |
|                                        std::vector<UniqueHandle<T, D>> && data,
 | |
|                                        char const *                       message,
 | |
|                                        std::initializer_list<Result>      successCodes )
 | |
|   {
 | |
| #  ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     ignore( message );
 | |
|     ignore( successCodes );  // just in case VULKAN_HPP_ASSERT_ON_RESULT is empty
 | |
|     VULKAN_HPP_ASSERT_ON_RESULT( std::find( successCodes.begin(), successCodes.end(), result ) != successCodes.end() );
 | |
| #  else
 | |
|     if ( std::find( successCodes.begin(), successCodes.end(), result ) == successCodes.end() )
 | |
|     {
 | |
|       throwResultException( result, message );
 | |
|     }
 | |
| #  endif
 | |
|     return ResultValue<std::vector<UniqueHandle<T, D>>>( result, std::move( data ) );
 | |
|   }
 | |
| #endif
 | |
| }  // namespace VULKAN_HPP_NAMESPACE
 | |
| 
 | |
| // clang-format off
 | |
| #include <vulkan/vulkan_handles.hpp>
 | |
| #include <vulkan/vulkan_structs.hpp>
 | |
| #include <vulkan/vulkan_funcs.hpp>
 | |
| // clang-format on
 | |
| 
 | |
| namespace VULKAN_HPP_NAMESPACE
 | |
| {
 | |
| 
 | |
|   //=======================
 | |
|   //=== STRUCTS EXTENDS ===
 | |
|   //=======================
 | |
| 
 | |
|   //=== VK_VERSION_1_1 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubgroupProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice16BitStorageFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice16BitStorageFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryDedicatedRequirements, MemoryRequirements2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryDedicatedAllocateInfo, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryAllocateFlagsInfo, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderPassBeginInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupRenderPassBeginInfo, RenderingInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupCommandBufferBeginInfo, CommandBufferBeginInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupSubmitInfo, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupBindSparseInfo, BindSparseInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BindBufferMemoryDeviceGroupInfo, BindBufferMemoryInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BindImageMemoryDeviceGroupInfo, BindImageMemoryInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupDeviceCreateInfo, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFeatures2, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePointClippingProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassInputAttachmentAspectCreateInfo, RenderPassCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageViewUsageCreateInfo, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineTessellationDomainOriginStateCreateInfo, PipelineTessellationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassMultiviewCreateInfo, RenderPassCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiviewFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiviewFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiviewProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVariablePointersFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVariablePointersFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProtectedMemoryFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProtectedMemoryProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ProtectedSubmitInfo, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SamplerYcbcrConversionInfo, SamplerCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SamplerYcbcrConversionInfo, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BindImagePlaneMemoryInfo, BindImageMemoryInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImagePlaneMemoryRequirementsInfo, ImageMemoryRequirementsInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSamplerYcbcrConversionFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SamplerYcbcrConversionImageFormatProperties, ImageFormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExternalImageFormatInfo, PhysicalDeviceImageFormatInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExternalImageFormatProperties, ImageFormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceIDProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExternalMemoryImageCreateInfo, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExternalMemoryBufferCreateInfo, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportMemoryAllocateInfo, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportFenceCreateInfo, FenceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportSemaphoreCreateInfo, SemaphoreCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMaintenance3Properties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderDrawParametersFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_VERSION_1_2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan11Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan11Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan11Properties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan12Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan12Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan12Properties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageFormatListCreateInfo, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageFormatListCreateInfo, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageFormatListCreateInfo, PhysicalDeviceImageFormatInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice8BitStorageFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice8BitStorageFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDriverProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicInt64Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderFloat16Int8Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFloatControlsProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DescriptorSetLayoutBindingFlagsCreateInfo, DescriptorSetLayoutCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDescriptorIndexingFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDescriptorIndexingProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DescriptorSetVariableDescriptorCountAllocateInfo, DescriptorSetAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DescriptorSetVariableDescriptorCountLayoutSupport, DescriptorSetLayoutSupport>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SubpassDescriptionDepthStencilResolve, SubpassDescription2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDepthStencilResolveProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceScalarBlockLayoutFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageStencilUsageCreateInfo, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageStencilUsageCreateInfo, PhysicalDeviceImageFormatInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SamplerReductionModeCreateInfo, SamplerCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSamplerFilterMinmaxProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkanMemoryModelFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImagelessFramebufferFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<FramebufferAttachmentsCreateInfo, FramebufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassAttachmentBeginInfo, RenderPassBeginInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceUniformBufferStandardLayoutFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSubgroupExtendedTypesFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSeparateDepthStencilLayoutsFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AttachmentReferenceStencilLayout, AttachmentReference2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AttachmentDescriptionStencilLayout, AttachmentDescription2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceHostQueryResetFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTimelineSemaphoreFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTimelineSemaphoreProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SemaphoreTypeCreateInfo, SemaphoreCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SemaphoreTypeCreateInfo, PhysicalDeviceExternalSemaphoreInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<TimelineSemaphoreSubmitInfo, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<TimelineSemaphoreSubmitInfo, BindSparseInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BufferOpaqueCaptureAddressCreateInfo, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryOpaqueCaptureAddressAllocateInfo, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_VERSION_1_3 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan13Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan13Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVulkan13Properties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCreationFeedbackCreateInfo, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCreationFeedbackCreateInfo, ComputePipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoNV>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCreationFeedbackCreateInfo, RayTracingPipelineCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderTerminateInvocationFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderDemoteToHelperInvocationFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePrivateDataFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePrivateDataFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DevicePrivateDataCreateInfo, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePipelineCreationCacheControlFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryBarrier2, SubpassDependency2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSynchronization2Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSynchronization2Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceZeroInitializeWorkgroupMemoryFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageRobustnessFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubgroupSizeControlFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubgroupSizeControlProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineShaderStageRequiredSubgroupSizeCreateInfo, PipelineShaderStageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInlineUniformBlockFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInlineUniformBlockProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<WriteDescriptorSetInlineUniformBlock, WriteDescriptorSet>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DescriptorPoolInlineUniformBlockCreateInfo, DescriptorPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTextureCompressionASTCHDRFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRenderingCreateInfo, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDynamicRenderingFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<CommandBufferInheritanceRenderingInfo, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderIntegerDotProductFeatures, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderIntegerDotProductProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTexelBufferAlignmentProperties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<FormatProperties3, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMaintenance4Features, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMaintenance4Features, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMaintenance4Properties, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_swapchain ===
 | |
|   template <>
 | |
|   struct StructExtends<ImageSwapchainCreateInfoKHR, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BindImageMemorySwapchainInfoKHR, BindImageMemoryInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupPresentInfoKHR, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceGroupSwapchainCreateInfoKHR, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_display_swapchain ===
 | |
|   template <>
 | |
|   struct StructExtends<DisplayPresentInfoKHR, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_debug_report ===
 | |
|   template <>
 | |
|   struct StructExtends<DebugReportCallbackCreateInfoEXT, InstanceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_rasterization_order ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationStateRasterizationOrderAMD, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_KHR_video_queue ===
 | |
|   template <>
 | |
|   struct StructExtends<QueueFamilyQueryResultStatusProperties2KHR, QueueFamilyProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoQueueFamilyProperties2KHR, QueueFamilyProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfileKHR, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfileKHR, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfileKHR, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfileKHR, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfileKHR, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfilesKHR, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfilesKHR, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfilesKHR, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoProfilesKHR, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|   //=== VK_NV_dedicated_allocation ===
 | |
|   template <>
 | |
|   struct StructExtends<DedicatedAllocationImageCreateInfoNV, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DedicatedAllocationBufferCreateInfoNV, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DedicatedAllocationMemoryAllocateInfoNV, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_transform_feedback ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTransformFeedbackFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTransformFeedbackPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationStateStreamCreateInfoEXT, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_EXT_video_encode_h264 ===
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264CapabilitiesEXT, VideoCapabilitiesKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264VclFrameInfoEXT, VideoEncodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264EmitPictureParametersEXT, VideoEncodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, VideoProfileKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264ProfileEXT, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264RateControlInfoEXT, VideoEncodeRateControlInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH264RateControlLayerInfoEXT, VideoEncodeRateControlLayerInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_EXT_video_encode_h265 ===
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265CapabilitiesEXT, VideoCapabilitiesKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265VclFrameInfoEXT, VideoEncodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265EmitPictureParametersEXT, VideoEncodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, VideoProfileKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265ProfileEXT, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265RateControlInfoEXT, VideoEncodeRateControlInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeH265RateControlLayerInfoEXT, VideoEncodeRateControlLayerInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_EXT_video_decode_h264 ===
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, VideoProfileKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264ProfileEXT, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264CapabilitiesEXT, VideoCapabilitiesKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264PictureInfoEXT, VideoDecodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264MvcEXT, VideoDecodeH264PictureInfoEXT>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH264DpbSlotInfoEXT, VideoReferenceSlotKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|   //=== VK_AMD_texture_gather_bias_lod ===
 | |
|   template <>
 | |
|   struct StructExtends<TextureLODGatherFormatPropertiesAMD, ImageFormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_dynamic_rendering ===
 | |
|   template <>
 | |
|   struct StructExtends<RenderingFragmentShadingRateAttachmentInfoKHR, RenderingInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderingFragmentDensityMapAttachmentInfoEXT, RenderingInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AttachmentSampleCountInfoAMD, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AttachmentSampleCountInfoAMD, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MultiviewPerViewAttributesInfoNVX, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MultiviewPerViewAttributesInfoNVX, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MultiviewPerViewAttributesInfoNVX, RenderingInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_corner_sampled_image ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCornerSampledImageFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_external_memory ===
 | |
|   template <>
 | |
|   struct StructExtends<ExternalMemoryImageCreateInfoNV, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportMemoryAllocateInfoNV, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_NV_external_memory_win32 ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportMemoryWin32HandleInfoNV, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_NV_win32_keyed_mutex ===
 | |
|   template <>
 | |
|   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoNV, SubmitInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   //=== VK_EXT_validation_flags ===
 | |
|   template <>
 | |
|   struct StructExtends<ValidationFlagsEXT, InstanceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_astc_decode_mode ===
 | |
|   template <>
 | |
|   struct StructExtends<ImageViewASTCDecodeModeEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceASTCDecodeFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_KHR_external_memory_win32 ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExportMemoryWin32HandleInfoKHR, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   //=== VK_KHR_external_memory_fd ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryFdInfoKHR, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_KHR_win32_keyed_mutex ===
 | |
|   template <>
 | |
|   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<Win32KeyedMutexAcquireReleaseInfoKHR, SubmitInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_KHR_external_semaphore_win32 ===
 | |
|   template <>
 | |
|   struct StructExtends<ExportSemaphoreWin32HandleInfoKHR, SemaphoreCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<D3D12FenceSubmitInfoKHR, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   //=== VK_KHR_push_descriptor ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePushDescriptorPropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_conditional_rendering ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceConditionalRenderingFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<CommandBufferInheritanceConditionalRenderingInfoEXT, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_incremental_present ===
 | |
|   template <>
 | |
|   struct StructExtends<PresentRegionsKHR, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_clip_space_w_scaling ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportWScalingStateCreateInfoNV, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_display_control ===
 | |
|   template <>
 | |
|   struct StructExtends<SwapchainCounterCreateInfoEXT, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_GOOGLE_display_timing ===
 | |
|   template <>
 | |
|   struct StructExtends<PresentTimesInfoGOOGLE, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NVX_multiview_per_view_attributes ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiviewPerViewAttributesPropertiesNVX, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_viewport_swizzle ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportSwizzleStateCreateInfoNV, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_discard_rectangles ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDiscardRectanglePropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineDiscardRectangleStateCreateInfoEXT, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_conservative_rasterization ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceConservativeRasterizationPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationConservativeStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_depth_clip_enable ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDepthClipEnableFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationDepthClipStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_shared_presentable_image ===
 | |
|   template <>
 | |
|   struct StructExtends<SharedPresentSurfaceCapabilitiesKHR, SurfaceCapabilities2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_KHR_external_fence_win32 ===
 | |
|   template <>
 | |
|   struct StructExtends<ExportFenceWin32HandleInfoKHR, FenceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   //=== VK_KHR_performance_query ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePerformanceQueryFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePerformanceQueryPropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<QueryPoolPerformanceCreateInfoKHR, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PerformanceQuerySubmitInfoKHR, SubmitInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_debug_utils ===
 | |
|   template <>
 | |
|   struct StructExtends<DebugUtilsMessengerCreateInfoEXT, InstanceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|   //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 | |
|   template <>
 | |
|   struct StructExtends<AndroidHardwareBufferUsageANDROID, ImageFormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AndroidHardwareBufferFormatPropertiesANDROID, AndroidHardwareBufferPropertiesANDROID>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImportAndroidHardwareBufferInfoANDROID, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExternalFormatANDROID, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ExternalFormatANDROID, SamplerYcbcrConversionCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AndroidHardwareBufferFormatProperties2ANDROID, AndroidHardwareBufferPropertiesANDROID>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
|   //=== VK_EXT_sample_locations ===
 | |
|   template <>
 | |
|   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SampleLocationsInfoEXT, ImageMemoryBarrier2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassSampleLocationsBeginInfoEXT, RenderPassBeginInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineSampleLocationsStateCreateInfoEXT, PipelineMultisampleStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSampleLocationsPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_blend_operation_advanced ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBlendOperationAdvancedFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBlendOperationAdvancedPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineColorBlendAdvancedStateCreateInfoEXT, PipelineColorBlendStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_fragment_coverage_to_color ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCoverageToColorStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_acceleration_structure ===
 | |
|   template <>
 | |
|   struct StructExtends<WriteDescriptorSetAccelerationStructureKHR, WriteDescriptorSet>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceAccelerationStructureFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceAccelerationStructurePropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_framebuffer_mixed_samples ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCoverageModulationStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_shader_sm_builtins ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSMBuiltinsPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSMBuiltinsFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_image_drm_format_modifier ===
 | |
|   template <>
 | |
|   struct StructExtends<DrmFormatModifierPropertiesListEXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageDrmFormatModifierInfoEXT, PhysicalDeviceImageFormatInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageDrmFormatModifierListCreateInfoEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageDrmFormatModifierExplicitCreateInfoEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DrmFormatModifierPropertiesList2EXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_validation_cache ===
 | |
|   template <>
 | |
|   struct StructExtends<ShaderModuleValidationCacheCreateInfoEXT, ShaderModuleCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_KHR_portability_subset ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePortabilitySubsetFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePortabilitySubsetPropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|   //=== VK_NV_shading_rate_image ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportShadingRateImageStateCreateInfoNV, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShadingRateImageFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShadingRateImagePropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportCoarseSampleOrderStateCreateInfoNV, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_ray_tracing ===
 | |
|   template <>
 | |
|   struct StructExtends<WriteDescriptorSetAccelerationStructureNV, WriteDescriptorSet>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_representative_fragment_test ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRepresentativeFragmentTestFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRepresentativeFragmentTestStateCreateInfoNV, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_filter_cubic ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageViewImageFormatInfoEXT, PhysicalDeviceImageFormatInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<FilterCubicImageViewImageFormatPropertiesEXT, ImageFormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_external_memory_host ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryHostPointerInfoEXT, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExternalMemoryHostPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_shader_clock ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderClockFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_pipeline_compiler_control ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCompilerControlCreateInfoAMD, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCompilerControlCreateInfoAMD, ComputePipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_shader_core_properties ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderCorePropertiesAMD, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_EXT_video_decode_h265 ===
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, VideoProfileKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, FormatProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265ProfileEXT, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265CapabilitiesEXT, VideoCapabilitiesKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265SessionCreateInfoEXT, VideoSessionCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265SessionParametersCreateInfoEXT, VideoSessionParametersCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265SessionParametersAddInfoEXT, VideoSessionParametersUpdateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265PictureInfoEXT, VideoDecodeInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoDecodeH265DpbSlotInfoEXT, VideoReferenceSlotKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|   //=== VK_KHR_global_priority ===
 | |
|   template <>
 | |
|   struct StructExtends<DeviceQueueGlobalPriorityCreateInfoKHR, DeviceQueueCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceGlobalPriorityQueryFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<QueueFamilyGlobalPriorityPropertiesKHR, QueueFamilyProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_memory_overallocation_behavior ===
 | |
|   template <>
 | |
|   struct StructExtends<DeviceMemoryOverallocationCreateInfoAMD, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_vertex_attribute_divisor ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVertexAttributeDivisorPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineVertexInputDivisorStateCreateInfoEXT, PipelineVertexInputStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVertexAttributeDivisorFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_GGP )
 | |
|   //=== VK_GGP_frame_token ===
 | |
|   template <>
 | |
|   struct StructExtends<PresentFrameTokenGGP, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_GGP*/
 | |
| 
 | |
|   //=== VK_NV_compute_shader_derivatives ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceComputeShaderDerivativesFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_mesh_shader ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMeshShaderFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMeshShaderPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_fragment_shader_barycentric ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShaderBarycentricFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_shader_image_footprint ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderImageFootprintFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_scissor_exclusive ===
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportExclusiveScissorStateCreateInfoNV, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExclusiveScissorFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_device_diagnostic_checkpoints ===
 | |
|   template <>
 | |
|   struct StructExtends<QueueFamilyCheckpointPropertiesNV, QueueFamilyProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_INTEL_shader_integer_functions2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderIntegerFunctions2FeaturesINTEL, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_INTEL_performance_query ===
 | |
|   template <>
 | |
|   struct StructExtends<QueryPoolPerformanceQueryCreateInfoINTEL, QueryPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_pci_bus_info ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePCIBusInfoPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_display_native_hdr ===
 | |
|   template <>
 | |
|   struct StructExtends<DisplayNativeHdrSurfaceCapabilitiesAMD, SurfaceCapabilities2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SwapchainDisplayNativeHdrCreateInfoAMD, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_fragment_density_map ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassFragmentDensityMapCreateInfoEXT, RenderPassCreateInfo2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_fragment_shading_rate ===
 | |
|   template <>
 | |
|   struct StructExtends<FragmentShadingRateAttachmentInfoKHR, SubpassDescription2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineFragmentShadingRateStateCreateInfoKHR, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRateFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRatePropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_shader_core_properties2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderCoreProperties2AMD, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_AMD_device_coherent_memory ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCoherentMemoryFeaturesAMD, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_shader_image_atomic_int64 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderImageAtomicInt64FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_memory_budget ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMemoryBudgetPropertiesEXT, PhysicalDeviceMemoryProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_memory_priority ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMemoryPriorityFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MemoryPriorityAllocateInfoEXT, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_surface_protected_capabilities ===
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceProtectedCapabilitiesKHR, SurfaceCapabilities2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_dedicated_allocation_image_aliasing ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_buffer_device_address ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBufferDeviceAddressFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BufferDeviceAddressCreateInfoEXT, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_validation_features ===
 | |
|   template <>
 | |
|   struct StructExtends<ValidationFeaturesEXT, InstanceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_present_wait ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePresentWaitFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_cooperative_matrix ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCooperativeMatrixFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCooperativeMatrixPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_coverage_reduction_mode ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCoverageReductionModeFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineCoverageReductionStateCreateInfoNV, PipelineMultisampleStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_fragment_shader_interlock ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShaderInterlockFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_ycbcr_image_arrays ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceYcbcrImageArraysFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_provoking_vertex ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProvokingVertexFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceProvokingVertexPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationProvokingVertexStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|   //=== VK_EXT_full_screen_exclusive ===
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, PhysicalDeviceSurfaceInfo2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceFullScreenExclusiveInfoEXT, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceCapabilitiesFullScreenExclusiveEXT, SurfaceCapabilities2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, PhysicalDeviceSurfaceInfo2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SurfaceFullScreenExclusiveWin32InfoEXT, SwapchainCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|   //=== VK_EXT_line_rasterization ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceLineRasterizationFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceLineRasterizationPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineRasterizationLineStateCreateInfoEXT, PipelineRasterizationStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_shader_atomic_float ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicFloatFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_index_type_uint8 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceIndexTypeUint8FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_extended_dynamic_state ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExtendedDynamicStateFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_pipeline_executable_properties ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePipelineExecutablePropertiesFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_shader_atomic_float2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderAtomicFloat2FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_device_generated_commands ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDeviceGeneratedCommandsFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<GraphicsPipelineShaderGroupsCreateInfoNV, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_inherited_viewport_scissor ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInheritedViewportScissorFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<CommandBufferInheritanceViewportScissorInfoNV, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_texel_buffer_alignment ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceTexelBufferAlignmentFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_QCOM_render_pass_transform ===
 | |
|   template <>
 | |
|   struct StructExtends<RenderPassTransformBeginInfoQCOM, RenderPassBeginInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<CommandBufferInheritanceRenderPassTransformInfoQCOM, CommandBufferInheritanceInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_device_memory_report ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDeviceMemoryReportFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceDeviceMemoryReportCreateInfoEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_robustness2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRobustness2FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRobustness2PropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_custom_border_color ===
 | |
|   template <>
 | |
|   struct StructExtends<SamplerCustomBorderColorCreateInfoEXT, SamplerCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCustomBorderColorPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceCustomBorderColorFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_present_id ===
 | |
|   template <>
 | |
|   struct StructExtends<PresentIdKHR, PresentInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePresentIdFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|   //=== VK_KHR_video_encode_queue ===
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeRateControlInfoKHR, VideoCodingControlInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<VideoEncodeRateControlLayerInfoKHR, VideoCodingControlInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|   //=== VK_NV_device_diagnostics_config ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDiagnosticsConfigFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<DeviceDiagnosticsConfigCreateInfoNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_synchronization2 ===
 | |
|   template <>
 | |
|   struct StructExtends<QueueFamilyCheckpointProperties2NV, QueueFamilyProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_shader_subgroup_uniform_control_flow ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceShaderSubgroupUniformControlFlowFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_fragment_shading_rate_enums ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentShadingRateEnumsPropertiesNV, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineFragmentShadingRateEnumStateCreateInfoNV, GraphicsPipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_ray_tracing_motion_blur ===
 | |
|   template <>
 | |
|   struct StructExtends<AccelerationStructureGeometryMotionTrianglesDataNV,
 | |
|                        AccelerationStructureGeometryTrianglesDataKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<AccelerationStructureMotionInfoNV, AccelerationStructureCreateInfoKHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingMotionBlurFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_ycbcr_2plane_444_formats ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceYcbcr2Plane444FormatsFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_fragment_density_map2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMap2FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMap2PropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_QCOM_rotated_copy_commands ===
 | |
|   template <>
 | |
|   struct StructExtends<CopyCommandTransformInfoQCOM, BufferImageCopy2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<CopyCommandTransformInfoQCOM, ImageBlit2KHR>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_workgroup_memory_explicit_layout ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceWorkgroupMemoryExplicitLayoutFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_4444_formats ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevice4444FormatsFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_ARM_rasterization_order_attachment_access ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRasterizationOrderAttachmentAccessFeaturesARM, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_rgba10x6_formats ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRGBA10X6FormatsFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_ray_tracing_pipeline ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingPipelineFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayTracingPipelinePropertiesKHR, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_KHR_ray_query ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceRayQueryFeaturesKHR, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_VALVE_mutable_descriptor_type ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMutableDescriptorTypeFeaturesVALVE, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MutableDescriptorTypeCreateInfoVALVE, DescriptorSetLayoutCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<MutableDescriptorTypeCreateInfoVALVE, DescriptorPoolCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_vertex_input_dynamic_state ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceVertexInputDynamicStateFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_physical_device_drm ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDrmPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_depth_clip_control ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceDepthClipControlFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineViewportDepthClipControlCreateInfoEXT, PipelineViewportStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_primitive_topology_list_restart ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePrimitiveTopologyListRestartFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|   //=== VK_FUCHSIA_external_memory ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryZirconHandleInfoFUCHSIA, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|   //=== VK_FUCHSIA_buffer_collection ===
 | |
|   template <>
 | |
|   struct StructExtends<ImportMemoryBufferCollectionFUCHSIA, MemoryAllocateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BufferCollectionImageCreateInfoFUCHSIA, ImageCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<BufferCollectionBufferCreateInfoFUCHSIA, BufferCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
|   //=== VK_HUAWEI_subpass_shading ===
 | |
|   template <>
 | |
|   struct StructExtends<SubpassShadingPipelineCreateInfoHUAWEI, ComputePipelineCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubpassShadingFeaturesHUAWEI, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceSubpassShadingPropertiesHUAWEI, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_HUAWEI_invocation_mask ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceInvocationMaskFeaturesHUAWEI, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_external_memory_rdma ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExternalMemoryRDMAFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_extended_dynamic_state2 ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceExtendedDynamicState2FeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_color_write_enable ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceColorWriteEnableFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PipelineColorWriteCreateInfoEXT, PipelineColorBlendStateCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_image_view_min_lod ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceImageViewMinLodFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<ImageViewMinLodCreateInfoEXT, ImageViewCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_multi_draw ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiDrawFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceMultiDrawPropertiesEXT, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_border_color_swizzle ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceBorderColorSwizzleFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SamplerBorderColorComponentMappingCreateInfoEXT, SamplerCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_EXT_pageable_device_local_memory ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDevicePageableDeviceLocalMemoryFeaturesEXT, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_QCOM_fragment_density_map_offset ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM, PhysicalDeviceProperties2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<SubpassFragmentDensityMapOffsetEndInfoQCOM, SubpassEndInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
|   //=== VK_NV_linear_color_attachment ===
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, PhysicalDeviceFeatures2>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
|   template <>
 | |
|   struct StructExtends<PhysicalDeviceLinearColorAttachmentFeaturesNV, DeviceCreateInfo>
 | |
|   {
 | |
|     enum
 | |
|     {
 | |
|       value = true
 | |
|     };
 | |
|   };
 | |
| 
 | |
| #if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
 | |
|   class DynamicLoader
 | |
|   {
 | |
|   public:
 | |
| #  ifdef VULKAN_HPP_NO_EXCEPTIONS
 | |
|     DynamicLoader( std::string const & vulkanLibraryName = {} ) VULKAN_HPP_NOEXCEPT
 | |
| #  else
 | |
|     DynamicLoader( std::string const & vulkanLibraryName = {} )
 | |
| #  endif
 | |
|     {
 | |
|       if ( !vulkanLibraryName.empty() )
 | |
|       {
 | |
| #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
|         m_library = dlopen( vulkanLibraryName.c_str(), RTLD_NOW | RTLD_LOCAL );
 | |
| #  elif defined( _WIN32 )
 | |
|         m_library = ::LoadLibraryA( vulkanLibraryName.c_str() );
 | |
| #  else
 | |
| #    error unsupported platform
 | |
| #  endif
 | |
|       }
 | |
|       else
 | |
|       {
 | |
| #  if defined( __unix__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
|         m_library = dlopen( "libvulkan.so", RTLD_NOW | RTLD_LOCAL );
 | |
|         if ( m_library == nullptr )
 | |
|         {
 | |
|           m_library = dlopen( "libvulkan.so.1", RTLD_NOW | RTLD_LOCAL );
 | |
|         }
 | |
| #  elif defined( __APPLE__ )
 | |
|         m_library = dlopen( "libvulkan.dylib", RTLD_NOW | RTLD_LOCAL );
 | |
| #  elif defined( _WIN32 )
 | |
|         m_library = ::LoadLibraryA( "vulkan-1.dll" );
 | |
| #  else
 | |
| #    error unsupported platform
 | |
| #  endif
 | |
|       }
 | |
| 
 | |
| #  ifndef VULKAN_HPP_NO_EXCEPTIONS
 | |
|       if ( m_library == nullptr )
 | |
|       {
 | |
|         // NOTE there should be an InitializationFailedError, but msvc insists on the symbol does not exist within the
 | |
|         // scope of this function.
 | |
|         throw std::runtime_error( "Failed to load vulkan library!" );
 | |
|       }
 | |
| #  endif
 | |
|     }
 | |
| 
 | |
|     DynamicLoader( DynamicLoader const & ) = delete;
 | |
| 
 | |
|     DynamicLoader( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT : m_library( other.m_library )
 | |
|     {
 | |
|       other.m_library = nullptr;
 | |
|     }
 | |
| 
 | |
|     DynamicLoader & operator=( DynamicLoader const & ) = delete;
 | |
| 
 | |
|     DynamicLoader & operator=( DynamicLoader && other ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       std::swap( m_library, other.m_library );
 | |
|       return *this;
 | |
|     }
 | |
| 
 | |
|     ~DynamicLoader() VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       if ( m_library )
 | |
|       {
 | |
| #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
|         dlclose( m_library );
 | |
| #  elif defined( _WIN32 )
 | |
|         ::FreeLibrary( m_library );
 | |
| #  else
 | |
| #    error unsupported platform
 | |
| #  endif
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     template <typename T>
 | |
|     T getProcAddress( const char * function ) const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
| #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
|       return (T)dlsym( m_library, function );
 | |
| #  elif defined( _WIN32 )
 | |
|       return ( T )::GetProcAddress( m_library, function );
 | |
| #  else
 | |
| #    error unsupported platform
 | |
| #  endif
 | |
|     }
 | |
| 
 | |
|     bool success() const VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       return m_library != nullptr;
 | |
|     }
 | |
| 
 | |
|   private:
 | |
| #  if defined( __unix__ ) || defined( __APPLE__ ) || defined( __QNXNTO__ ) || defined( __Fuchsia__ )
 | |
|     void * m_library;
 | |
| #  elif defined( _WIN32 )
 | |
|     ::HINSTANCE m_library;
 | |
| #  else
 | |
| #    error unsupported platform
 | |
| #  endif
 | |
|   };
 | |
| #endif
 | |
| 
 | |
|   using PFN_dummy = void ( * )();
 | |
| 
 | |
|   class DispatchLoaderDynamic : public DispatchLoaderBase
 | |
|   {
 | |
|   public:
 | |
|     //=== VK_VERSION_1_0 ===
 | |
|     PFN_vkCreateInstance                               vkCreateInstance                               = 0;
 | |
|     PFN_vkDestroyInstance                              vkDestroyInstance                              = 0;
 | |
|     PFN_vkEnumeratePhysicalDevices                     vkEnumeratePhysicalDevices                     = 0;
 | |
|     PFN_vkGetPhysicalDeviceFeatures                    vkGetPhysicalDeviceFeatures                    = 0;
 | |
|     PFN_vkGetPhysicalDeviceFormatProperties            vkGetPhysicalDeviceFormatProperties            = 0;
 | |
|     PFN_vkGetPhysicalDeviceImageFormatProperties       vkGetPhysicalDeviceImageFormatProperties       = 0;
 | |
|     PFN_vkGetPhysicalDeviceProperties                  vkGetPhysicalDeviceProperties                  = 0;
 | |
|     PFN_vkGetPhysicalDeviceQueueFamilyProperties       vkGetPhysicalDeviceQueueFamilyProperties       = 0;
 | |
|     PFN_vkGetPhysicalDeviceMemoryProperties            vkGetPhysicalDeviceMemoryProperties            = 0;
 | |
|     PFN_vkGetInstanceProcAddr                          vkGetInstanceProcAddr                          = 0;
 | |
|     PFN_vkGetDeviceProcAddr                            vkGetDeviceProcAddr                            = 0;
 | |
|     PFN_vkCreateDevice                                 vkCreateDevice                                 = 0;
 | |
|     PFN_vkDestroyDevice                                vkDestroyDevice                                = 0;
 | |
|     PFN_vkEnumerateInstanceExtensionProperties         vkEnumerateInstanceExtensionProperties         = 0;
 | |
|     PFN_vkEnumerateDeviceExtensionProperties           vkEnumerateDeviceExtensionProperties           = 0;
 | |
|     PFN_vkEnumerateInstanceLayerProperties             vkEnumerateInstanceLayerProperties             = 0;
 | |
|     PFN_vkEnumerateDeviceLayerProperties               vkEnumerateDeviceLayerProperties               = 0;
 | |
|     PFN_vkGetDeviceQueue                               vkGetDeviceQueue                               = 0;
 | |
|     PFN_vkQueueSubmit                                  vkQueueSubmit                                  = 0;
 | |
|     PFN_vkQueueWaitIdle                                vkQueueWaitIdle                                = 0;
 | |
|     PFN_vkDeviceWaitIdle                               vkDeviceWaitIdle                               = 0;
 | |
|     PFN_vkAllocateMemory                               vkAllocateMemory                               = 0;
 | |
|     PFN_vkFreeMemory                                   vkFreeMemory                                   = 0;
 | |
|     PFN_vkMapMemory                                    vkMapMemory                                    = 0;
 | |
|     PFN_vkUnmapMemory                                  vkUnmapMemory                                  = 0;
 | |
|     PFN_vkFlushMappedMemoryRanges                      vkFlushMappedMemoryRanges                      = 0;
 | |
|     PFN_vkInvalidateMappedMemoryRanges                 vkInvalidateMappedMemoryRanges                 = 0;
 | |
|     PFN_vkGetDeviceMemoryCommitment                    vkGetDeviceMemoryCommitment                    = 0;
 | |
|     PFN_vkBindBufferMemory                             vkBindBufferMemory                             = 0;
 | |
|     PFN_vkBindImageMemory                              vkBindImageMemory                              = 0;
 | |
|     PFN_vkGetBufferMemoryRequirements                  vkGetBufferMemoryRequirements                  = 0;
 | |
|     PFN_vkGetImageMemoryRequirements                   vkGetImageMemoryRequirements                   = 0;
 | |
|     PFN_vkGetImageSparseMemoryRequirements             vkGetImageSparseMemoryRequirements             = 0;
 | |
|     PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties = 0;
 | |
|     PFN_vkQueueBindSparse                              vkQueueBindSparse                              = 0;
 | |
|     PFN_vkCreateFence                                  vkCreateFence                                  = 0;
 | |
|     PFN_vkDestroyFence                                 vkDestroyFence                                 = 0;
 | |
|     PFN_vkResetFences                                  vkResetFences                                  = 0;
 | |
|     PFN_vkGetFenceStatus                               vkGetFenceStatus                               = 0;
 | |
|     PFN_vkWaitForFences                                vkWaitForFences                                = 0;
 | |
|     PFN_vkCreateSemaphore                              vkCreateSemaphore                              = 0;
 | |
|     PFN_vkDestroySemaphore                             vkDestroySemaphore                             = 0;
 | |
|     PFN_vkCreateEvent                                  vkCreateEvent                                  = 0;
 | |
|     PFN_vkDestroyEvent                                 vkDestroyEvent                                 = 0;
 | |
|     PFN_vkGetEventStatus                               vkGetEventStatus                               = 0;
 | |
|     PFN_vkSetEvent                                     vkSetEvent                                     = 0;
 | |
|     PFN_vkResetEvent                                   vkResetEvent                                   = 0;
 | |
|     PFN_vkCreateQueryPool                              vkCreateQueryPool                              = 0;
 | |
|     PFN_vkDestroyQueryPool                             vkDestroyQueryPool                             = 0;
 | |
|     PFN_vkGetQueryPoolResults                          vkGetQueryPoolResults                          = 0;
 | |
|     PFN_vkCreateBuffer                                 vkCreateBuffer                                 = 0;
 | |
|     PFN_vkDestroyBuffer                                vkDestroyBuffer                                = 0;
 | |
|     PFN_vkCreateBufferView                             vkCreateBufferView                             = 0;
 | |
|     PFN_vkDestroyBufferView                            vkDestroyBufferView                            = 0;
 | |
|     PFN_vkCreateImage                                  vkCreateImage                                  = 0;
 | |
|     PFN_vkDestroyImage                                 vkDestroyImage                                 = 0;
 | |
|     PFN_vkGetImageSubresourceLayout                    vkGetImageSubresourceLayout                    = 0;
 | |
|     PFN_vkCreateImageView                              vkCreateImageView                              = 0;
 | |
|     PFN_vkDestroyImageView                             vkDestroyImageView                             = 0;
 | |
|     PFN_vkCreateShaderModule                           vkCreateShaderModule                           = 0;
 | |
|     PFN_vkDestroyShaderModule                          vkDestroyShaderModule                          = 0;
 | |
|     PFN_vkCreatePipelineCache                          vkCreatePipelineCache                          = 0;
 | |
|     PFN_vkDestroyPipelineCache                         vkDestroyPipelineCache                         = 0;
 | |
|     PFN_vkGetPipelineCacheData                         vkGetPipelineCacheData                         = 0;
 | |
|     PFN_vkMergePipelineCaches                          vkMergePipelineCaches                          = 0;
 | |
|     PFN_vkCreateGraphicsPipelines                      vkCreateGraphicsPipelines                      = 0;
 | |
|     PFN_vkCreateComputePipelines                       vkCreateComputePipelines                       = 0;
 | |
|     PFN_vkDestroyPipeline                              vkDestroyPipeline                              = 0;
 | |
|     PFN_vkCreatePipelineLayout                         vkCreatePipelineLayout                         = 0;
 | |
|     PFN_vkDestroyPipelineLayout                        vkDestroyPipelineLayout                        = 0;
 | |
|     PFN_vkCreateSampler                                vkCreateSampler                                = 0;
 | |
|     PFN_vkDestroySampler                               vkDestroySampler                               = 0;
 | |
|     PFN_vkCreateDescriptorSetLayout                    vkCreateDescriptorSetLayout                    = 0;
 | |
|     PFN_vkDestroyDescriptorSetLayout                   vkDestroyDescriptorSetLayout                   = 0;
 | |
|     PFN_vkCreateDescriptorPool                         vkCreateDescriptorPool                         = 0;
 | |
|     PFN_vkDestroyDescriptorPool                        vkDestroyDescriptorPool                        = 0;
 | |
|     PFN_vkResetDescriptorPool                          vkResetDescriptorPool                          = 0;
 | |
|     PFN_vkAllocateDescriptorSets                       vkAllocateDescriptorSets                       = 0;
 | |
|     PFN_vkFreeDescriptorSets                           vkFreeDescriptorSets                           = 0;
 | |
|     PFN_vkUpdateDescriptorSets                         vkUpdateDescriptorSets                         = 0;
 | |
|     PFN_vkCreateFramebuffer                            vkCreateFramebuffer                            = 0;
 | |
|     PFN_vkDestroyFramebuffer                           vkDestroyFramebuffer                           = 0;
 | |
|     PFN_vkCreateRenderPass                             vkCreateRenderPass                             = 0;
 | |
|     PFN_vkDestroyRenderPass                            vkDestroyRenderPass                            = 0;
 | |
|     PFN_vkGetRenderAreaGranularity                     vkGetRenderAreaGranularity                     = 0;
 | |
|     PFN_vkCreateCommandPool                            vkCreateCommandPool                            = 0;
 | |
|     PFN_vkDestroyCommandPool                           vkDestroyCommandPool                           = 0;
 | |
|     PFN_vkResetCommandPool                             vkResetCommandPool                             = 0;
 | |
|     PFN_vkAllocateCommandBuffers                       vkAllocateCommandBuffers                       = 0;
 | |
|     PFN_vkFreeCommandBuffers                           vkFreeCommandBuffers                           = 0;
 | |
|     PFN_vkBeginCommandBuffer                           vkBeginCommandBuffer                           = 0;
 | |
|     PFN_vkEndCommandBuffer                             vkEndCommandBuffer                             = 0;
 | |
|     PFN_vkResetCommandBuffer                           vkResetCommandBuffer                           = 0;
 | |
|     PFN_vkCmdBindPipeline                              vkCmdBindPipeline                              = 0;
 | |
|     PFN_vkCmdSetViewport                               vkCmdSetViewport                               = 0;
 | |
|     PFN_vkCmdSetScissor                                vkCmdSetScissor                                = 0;
 | |
|     PFN_vkCmdSetLineWidth                              vkCmdSetLineWidth                              = 0;
 | |
|     PFN_vkCmdSetDepthBias                              vkCmdSetDepthBias                              = 0;
 | |
|     PFN_vkCmdSetBlendConstants                         vkCmdSetBlendConstants                         = 0;
 | |
|     PFN_vkCmdSetDepthBounds                            vkCmdSetDepthBounds                            = 0;
 | |
|     PFN_vkCmdSetStencilCompareMask                     vkCmdSetStencilCompareMask                     = 0;
 | |
|     PFN_vkCmdSetStencilWriteMask                       vkCmdSetStencilWriteMask                       = 0;
 | |
|     PFN_vkCmdSetStencilReference                       vkCmdSetStencilReference                       = 0;
 | |
|     PFN_vkCmdBindDescriptorSets                        vkCmdBindDescriptorSets                        = 0;
 | |
|     PFN_vkCmdBindIndexBuffer                           vkCmdBindIndexBuffer                           = 0;
 | |
|     PFN_vkCmdBindVertexBuffers                         vkCmdBindVertexBuffers                         = 0;
 | |
|     PFN_vkCmdDraw                                      vkCmdDraw                                      = 0;
 | |
|     PFN_vkCmdDrawIndexed                               vkCmdDrawIndexed                               = 0;
 | |
|     PFN_vkCmdDrawIndirect                              vkCmdDrawIndirect                              = 0;
 | |
|     PFN_vkCmdDrawIndexedIndirect                       vkCmdDrawIndexedIndirect                       = 0;
 | |
|     PFN_vkCmdDispatch                                  vkCmdDispatch                                  = 0;
 | |
|     PFN_vkCmdDispatchIndirect                          vkCmdDispatchIndirect                          = 0;
 | |
|     PFN_vkCmdCopyBuffer                                vkCmdCopyBuffer                                = 0;
 | |
|     PFN_vkCmdCopyImage                                 vkCmdCopyImage                                 = 0;
 | |
|     PFN_vkCmdBlitImage                                 vkCmdBlitImage                                 = 0;
 | |
|     PFN_vkCmdCopyBufferToImage                         vkCmdCopyBufferToImage                         = 0;
 | |
|     PFN_vkCmdCopyImageToBuffer                         vkCmdCopyImageToBuffer                         = 0;
 | |
|     PFN_vkCmdUpdateBuffer                              vkCmdUpdateBuffer                              = 0;
 | |
|     PFN_vkCmdFillBuffer                                vkCmdFillBuffer                                = 0;
 | |
|     PFN_vkCmdClearColorImage                           vkCmdClearColorImage                           = 0;
 | |
|     PFN_vkCmdClearDepthStencilImage                    vkCmdClearDepthStencilImage                    = 0;
 | |
|     PFN_vkCmdClearAttachments                          vkCmdClearAttachments                          = 0;
 | |
|     PFN_vkCmdResolveImage                              vkCmdResolveImage                              = 0;
 | |
|     PFN_vkCmdSetEvent                                  vkCmdSetEvent                                  = 0;
 | |
|     PFN_vkCmdResetEvent                                vkCmdResetEvent                                = 0;
 | |
|     PFN_vkCmdWaitEvents                                vkCmdWaitEvents                                = 0;
 | |
|     PFN_vkCmdPipelineBarrier                           vkCmdPipelineBarrier                           = 0;
 | |
|     PFN_vkCmdBeginQuery                                vkCmdBeginQuery                                = 0;
 | |
|     PFN_vkCmdEndQuery                                  vkCmdEndQuery                                  = 0;
 | |
|     PFN_vkCmdResetQueryPool                            vkCmdResetQueryPool                            = 0;
 | |
|     PFN_vkCmdWriteTimestamp                            vkCmdWriteTimestamp                            = 0;
 | |
|     PFN_vkCmdCopyQueryPoolResults                      vkCmdCopyQueryPoolResults                      = 0;
 | |
|     PFN_vkCmdPushConstants                             vkCmdPushConstants                             = 0;
 | |
|     PFN_vkCmdBeginRenderPass                           vkCmdBeginRenderPass                           = 0;
 | |
|     PFN_vkCmdNextSubpass                               vkCmdNextSubpass                               = 0;
 | |
|     PFN_vkCmdEndRenderPass                             vkCmdEndRenderPass                             = 0;
 | |
|     PFN_vkCmdExecuteCommands                           vkCmdExecuteCommands                           = 0;
 | |
| 
 | |
|     //=== VK_VERSION_1_1 ===
 | |
|     PFN_vkEnumerateInstanceVersion                      vkEnumerateInstanceVersion                      = 0;
 | |
|     PFN_vkBindBufferMemory2                             vkBindBufferMemory2                             = 0;
 | |
|     PFN_vkBindImageMemory2                              vkBindImageMemory2                              = 0;
 | |
|     PFN_vkGetDeviceGroupPeerMemoryFeatures              vkGetDeviceGroupPeerMemoryFeatures              = 0;
 | |
|     PFN_vkCmdSetDeviceMask                              vkCmdSetDeviceMask                              = 0;
 | |
|     PFN_vkCmdDispatchBase                               vkCmdDispatchBase                               = 0;
 | |
|     PFN_vkEnumeratePhysicalDeviceGroups                 vkEnumeratePhysicalDeviceGroups                 = 0;
 | |
|     PFN_vkGetImageMemoryRequirements2                   vkGetImageMemoryRequirements2                   = 0;
 | |
|     PFN_vkGetBufferMemoryRequirements2                  vkGetBufferMemoryRequirements2                  = 0;
 | |
|     PFN_vkGetImageSparseMemoryRequirements2             vkGetImageSparseMemoryRequirements2             = 0;
 | |
|     PFN_vkGetPhysicalDeviceFeatures2                    vkGetPhysicalDeviceFeatures2                    = 0;
 | |
|     PFN_vkGetPhysicalDeviceProperties2                  vkGetPhysicalDeviceProperties2                  = 0;
 | |
|     PFN_vkGetPhysicalDeviceFormatProperties2            vkGetPhysicalDeviceFormatProperties2            = 0;
 | |
|     PFN_vkGetPhysicalDeviceImageFormatProperties2       vkGetPhysicalDeviceImageFormatProperties2       = 0;
 | |
|     PFN_vkGetPhysicalDeviceQueueFamilyProperties2       vkGetPhysicalDeviceQueueFamilyProperties2       = 0;
 | |
|     PFN_vkGetPhysicalDeviceMemoryProperties2            vkGetPhysicalDeviceMemoryProperties2            = 0;
 | |
|     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2 = 0;
 | |
|     PFN_vkTrimCommandPool                               vkTrimCommandPool                               = 0;
 | |
|     PFN_vkGetDeviceQueue2                               vkGetDeviceQueue2                               = 0;
 | |
|     PFN_vkCreateSamplerYcbcrConversion                  vkCreateSamplerYcbcrConversion                  = 0;
 | |
|     PFN_vkDestroySamplerYcbcrConversion                 vkDestroySamplerYcbcrConversion                 = 0;
 | |
|     PFN_vkCreateDescriptorUpdateTemplate                vkCreateDescriptorUpdateTemplate                = 0;
 | |
|     PFN_vkDestroyDescriptorUpdateTemplate               vkDestroyDescriptorUpdateTemplate               = 0;
 | |
|     PFN_vkUpdateDescriptorSetWithTemplate               vkUpdateDescriptorSetWithTemplate               = 0;
 | |
|     PFN_vkGetPhysicalDeviceExternalBufferProperties     vkGetPhysicalDeviceExternalBufferProperties     = 0;
 | |
|     PFN_vkGetPhysicalDeviceExternalFenceProperties      vkGetPhysicalDeviceExternalFenceProperties      = 0;
 | |
|     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties  vkGetPhysicalDeviceExternalSemaphoreProperties  = 0;
 | |
|     PFN_vkGetDescriptorSetLayoutSupport                 vkGetDescriptorSetLayoutSupport                 = 0;
 | |
| 
 | |
|     //=== VK_VERSION_1_2 ===
 | |
|     PFN_vkCmdDrawIndirectCount                vkCmdDrawIndirectCount                = 0;
 | |
|     PFN_vkCmdDrawIndexedIndirectCount         vkCmdDrawIndexedIndirectCount         = 0;
 | |
|     PFN_vkCreateRenderPass2                   vkCreateRenderPass2                   = 0;
 | |
|     PFN_vkCmdBeginRenderPass2                 vkCmdBeginRenderPass2                 = 0;
 | |
|     PFN_vkCmdNextSubpass2                     vkCmdNextSubpass2                     = 0;
 | |
|     PFN_vkCmdEndRenderPass2                   vkCmdEndRenderPass2                   = 0;
 | |
|     PFN_vkResetQueryPool                      vkResetQueryPool                      = 0;
 | |
|     PFN_vkGetSemaphoreCounterValue            vkGetSemaphoreCounterValue            = 0;
 | |
|     PFN_vkWaitSemaphores                      vkWaitSemaphores                      = 0;
 | |
|     PFN_vkSignalSemaphore                     vkSignalSemaphore                     = 0;
 | |
|     PFN_vkGetBufferDeviceAddress              vkGetBufferDeviceAddress              = 0;
 | |
|     PFN_vkGetBufferOpaqueCaptureAddress       vkGetBufferOpaqueCaptureAddress       = 0;
 | |
|     PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress = 0;
 | |
| 
 | |
|     //=== VK_VERSION_1_3 ===
 | |
|     PFN_vkGetPhysicalDeviceToolProperties        vkGetPhysicalDeviceToolProperties        = 0;
 | |
|     PFN_vkCreatePrivateDataSlot                  vkCreatePrivateDataSlot                  = 0;
 | |
|     PFN_vkDestroyPrivateDataSlot                 vkDestroyPrivateDataSlot                 = 0;
 | |
|     PFN_vkSetPrivateData                         vkSetPrivateData                         = 0;
 | |
|     PFN_vkGetPrivateData                         vkGetPrivateData                         = 0;
 | |
|     PFN_vkCmdSetEvent2                           vkCmdSetEvent2                           = 0;
 | |
|     PFN_vkCmdResetEvent2                         vkCmdResetEvent2                         = 0;
 | |
|     PFN_vkCmdWaitEvents2                         vkCmdWaitEvents2                         = 0;
 | |
|     PFN_vkCmdPipelineBarrier2                    vkCmdPipelineBarrier2                    = 0;
 | |
|     PFN_vkCmdWriteTimestamp2                     vkCmdWriteTimestamp2                     = 0;
 | |
|     PFN_vkQueueSubmit2                           vkQueueSubmit2                           = 0;
 | |
|     PFN_vkCmdCopyBuffer2                         vkCmdCopyBuffer2                         = 0;
 | |
|     PFN_vkCmdCopyImage2                          vkCmdCopyImage2                          = 0;
 | |
|     PFN_vkCmdCopyBufferToImage2                  vkCmdCopyBufferToImage2                  = 0;
 | |
|     PFN_vkCmdCopyImageToBuffer2                  vkCmdCopyImageToBuffer2                  = 0;
 | |
|     PFN_vkCmdBlitImage2                          vkCmdBlitImage2                          = 0;
 | |
|     PFN_vkCmdResolveImage2                       vkCmdResolveImage2                       = 0;
 | |
|     PFN_vkCmdBeginRendering                      vkCmdBeginRendering                      = 0;
 | |
|     PFN_vkCmdEndRendering                        vkCmdEndRendering                        = 0;
 | |
|     PFN_vkCmdSetCullMode                         vkCmdSetCullMode                         = 0;
 | |
|     PFN_vkCmdSetFrontFace                        vkCmdSetFrontFace                        = 0;
 | |
|     PFN_vkCmdSetPrimitiveTopology                vkCmdSetPrimitiveTopology                = 0;
 | |
|     PFN_vkCmdSetViewportWithCount                vkCmdSetViewportWithCount                = 0;
 | |
|     PFN_vkCmdSetScissorWithCount                 vkCmdSetScissorWithCount                 = 0;
 | |
|     PFN_vkCmdBindVertexBuffers2                  vkCmdBindVertexBuffers2                  = 0;
 | |
|     PFN_vkCmdSetDepthTestEnable                  vkCmdSetDepthTestEnable                  = 0;
 | |
|     PFN_vkCmdSetDepthWriteEnable                 vkCmdSetDepthWriteEnable                 = 0;
 | |
|     PFN_vkCmdSetDepthCompareOp                   vkCmdSetDepthCompareOp                   = 0;
 | |
|     PFN_vkCmdSetDepthBoundsTestEnable            vkCmdSetDepthBoundsTestEnable            = 0;
 | |
|     PFN_vkCmdSetStencilTestEnable                vkCmdSetStencilTestEnable                = 0;
 | |
|     PFN_vkCmdSetStencilOp                        vkCmdSetStencilOp                        = 0;
 | |
|     PFN_vkCmdSetRasterizerDiscardEnable          vkCmdSetRasterizerDiscardEnable          = 0;
 | |
|     PFN_vkCmdSetDepthBiasEnable                  vkCmdSetDepthBiasEnable                  = 0;
 | |
|     PFN_vkCmdSetPrimitiveRestartEnable           vkCmdSetPrimitiveRestartEnable           = 0;
 | |
|     PFN_vkGetDeviceBufferMemoryRequirements      vkGetDeviceBufferMemoryRequirements      = 0;
 | |
|     PFN_vkGetDeviceImageMemoryRequirements       vkGetDeviceImageMemoryRequirements       = 0;
 | |
|     PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements = 0;
 | |
| 
 | |
|     //=== VK_KHR_surface ===
 | |
|     PFN_vkDestroySurfaceKHR                       vkDestroySurfaceKHR                       = 0;
 | |
|     PFN_vkGetPhysicalDeviceSurfaceSupportKHR      vkGetPhysicalDeviceSurfaceSupportKHR      = 0;
 | |
|     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR = 0;
 | |
|     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR      vkGetPhysicalDeviceSurfaceFormatsKHR      = 0;
 | |
|     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_swapchain ===
 | |
|     PFN_vkCreateSwapchainKHR                    vkCreateSwapchainKHR                    = 0;
 | |
|     PFN_vkDestroySwapchainKHR                   vkDestroySwapchainKHR                   = 0;
 | |
|     PFN_vkGetSwapchainImagesKHR                 vkGetSwapchainImagesKHR                 = 0;
 | |
|     PFN_vkAcquireNextImageKHR                   vkAcquireNextImageKHR                   = 0;
 | |
|     PFN_vkQueuePresentKHR                       vkQueuePresentKHR                       = 0;
 | |
|     PFN_vkGetDeviceGroupPresentCapabilitiesKHR  vkGetDeviceGroupPresentCapabilitiesKHR  = 0;
 | |
|     PFN_vkGetDeviceGroupSurfacePresentModesKHR  vkGetDeviceGroupSurfacePresentModesKHR  = 0;
 | |
|     PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR = 0;
 | |
|     PFN_vkAcquireNextImage2KHR                  vkAcquireNextImage2KHR                  = 0;
 | |
| 
 | |
|     //=== VK_KHR_display ===
 | |
|     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR      vkGetPhysicalDeviceDisplayPropertiesKHR      = 0;
 | |
|     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR = 0;
 | |
|     PFN_vkGetDisplayPlaneSupportedDisplaysKHR        vkGetDisplayPlaneSupportedDisplaysKHR        = 0;
 | |
|     PFN_vkGetDisplayModePropertiesKHR                vkGetDisplayModePropertiesKHR                = 0;
 | |
|     PFN_vkCreateDisplayModeKHR                       vkCreateDisplayModeKHR                       = 0;
 | |
|     PFN_vkGetDisplayPlaneCapabilitiesKHR             vkGetDisplayPlaneCapabilitiesKHR             = 0;
 | |
|     PFN_vkCreateDisplayPlaneSurfaceKHR               vkCreateDisplayPlaneSurfaceKHR               = 0;
 | |
| 
 | |
|     //=== VK_KHR_display_swapchain ===
 | |
|     PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XLIB_KHR )
 | |
|     //=== VK_KHR_xlib_surface ===
 | |
|     PFN_vkCreateXlibSurfaceKHR                        vkCreateXlibSurfaceKHR                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateXlibSurfaceKHR_placeholder                            = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceXlibPresentationSupportKHR_placeholder     = 0;
 | |
| #endif /*VK_USE_PLATFORM_XLIB_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XCB_KHR )
 | |
|     //=== VK_KHR_xcb_surface ===
 | |
|     PFN_vkCreateXcbSurfaceKHR                        vkCreateXcbSurfaceKHR                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateXcbSurfaceKHR_placeholder                             = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceXcbPresentationSupportKHR_placeholder      = 0;
 | |
| #endif /*VK_USE_PLATFORM_XCB_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
 | |
|     //=== VK_KHR_wayland_surface ===
 | |
|     PFN_vkCreateWaylandSurfaceKHR                        vkCreateWaylandSurfaceKHR                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateWaylandSurfaceKHR_placeholder                         = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceWaylandPresentationSupportKHR_placeholder  = 0;
 | |
| #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|     //=== VK_KHR_android_surface ===
 | |
|     PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateAndroidSurfaceKHR_placeholder                         = 0;
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_win32_surface ===
 | |
|     PFN_vkCreateWin32SurfaceKHR                        vkCreateWin32SurfaceKHR                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateWin32SurfaceKHR_placeholder                           = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceWin32PresentationSupportKHR_placeholder    = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_debug_report ===
 | |
|     PFN_vkCreateDebugReportCallbackEXT  vkCreateDebugReportCallbackEXT  = 0;
 | |
|     PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT = 0;
 | |
|     PFN_vkDebugReportMessageEXT         vkDebugReportMessageEXT         = 0;
 | |
| 
 | |
|     //=== VK_EXT_debug_marker ===
 | |
|     PFN_vkDebugMarkerSetObjectTagEXT  vkDebugMarkerSetObjectTagEXT  = 0;
 | |
|     PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT = 0;
 | |
|     PFN_vkCmdDebugMarkerBeginEXT      vkCmdDebugMarkerBeginEXT      = 0;
 | |
|     PFN_vkCmdDebugMarkerEndEXT        vkCmdDebugMarkerEndEXT        = 0;
 | |
|     PFN_vkCmdDebugMarkerInsertEXT     vkCmdDebugMarkerInsertEXT     = 0;
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_queue ===
 | |
|     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR     vkGetPhysicalDeviceVideoCapabilitiesKHR     = 0;
 | |
|     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR = 0;
 | |
|     PFN_vkCreateVideoSessionKHR                     vkCreateVideoSessionKHR                     = 0;
 | |
|     PFN_vkDestroyVideoSessionKHR                    vkDestroyVideoSessionKHR                    = 0;
 | |
|     PFN_vkGetVideoSessionMemoryRequirementsKHR      vkGetVideoSessionMemoryRequirementsKHR      = 0;
 | |
|     PFN_vkBindVideoSessionMemoryKHR                 vkBindVideoSessionMemoryKHR                 = 0;
 | |
|     PFN_vkCreateVideoSessionParametersKHR           vkCreateVideoSessionParametersKHR           = 0;
 | |
|     PFN_vkUpdateVideoSessionParametersKHR           vkUpdateVideoSessionParametersKHR           = 0;
 | |
|     PFN_vkDestroyVideoSessionParametersKHR          vkDestroyVideoSessionParametersKHR          = 0;
 | |
|     PFN_vkCmdBeginVideoCodingKHR                    vkCmdBeginVideoCodingKHR                    = 0;
 | |
|     PFN_vkCmdEndVideoCodingKHR                      vkCmdEndVideoCodingKHR                      = 0;
 | |
|     PFN_vkCmdControlVideoCodingKHR                  vkCmdControlVideoCodingKHR                  = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetPhysicalDeviceVideoCapabilitiesKHR_placeholder           = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceVideoFormatPropertiesKHR_placeholder       = 0;
 | |
|     PFN_dummy vkCreateVideoSessionKHR_placeholder                           = 0;
 | |
|     PFN_dummy vkDestroyVideoSessionKHR_placeholder                          = 0;
 | |
|     PFN_dummy vkGetVideoSessionMemoryRequirementsKHR_placeholder            = 0;
 | |
|     PFN_dummy vkBindVideoSessionMemoryKHR_placeholder                       = 0;
 | |
|     PFN_dummy vkCreateVideoSessionParametersKHR_placeholder                 = 0;
 | |
|     PFN_dummy vkUpdateVideoSessionParametersKHR_placeholder                 = 0;
 | |
|     PFN_dummy vkDestroyVideoSessionParametersKHR_placeholder                = 0;
 | |
|     PFN_dummy vkCmdBeginVideoCodingKHR_placeholder                          = 0;
 | |
|     PFN_dummy vkCmdEndVideoCodingKHR_placeholder                            = 0;
 | |
|     PFN_dummy vkCmdControlVideoCodingKHR_placeholder                        = 0;
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_decode_queue ===
 | |
|     PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCmdDecodeVideoKHR_placeholder                               = 0;
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|     //=== VK_EXT_transform_feedback ===
 | |
|     PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT = 0;
 | |
|     PFN_vkCmdBeginTransformFeedbackEXT       vkCmdBeginTransformFeedbackEXT       = 0;
 | |
|     PFN_vkCmdEndTransformFeedbackEXT         vkCmdEndTransformFeedbackEXT         = 0;
 | |
|     PFN_vkCmdBeginQueryIndexedEXT            vkCmdBeginQueryIndexedEXT            = 0;
 | |
|     PFN_vkCmdEndQueryIndexedEXT              vkCmdEndQueryIndexedEXT              = 0;
 | |
|     PFN_vkCmdDrawIndirectByteCountEXT        vkCmdDrawIndirectByteCountEXT        = 0;
 | |
| 
 | |
|     //=== VK_NVX_binary_import ===
 | |
|     PFN_vkCreateCuModuleNVX    vkCreateCuModuleNVX    = 0;
 | |
|     PFN_vkCreateCuFunctionNVX  vkCreateCuFunctionNVX  = 0;
 | |
|     PFN_vkDestroyCuModuleNVX   vkDestroyCuModuleNVX   = 0;
 | |
|     PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX = 0;
 | |
|     PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX = 0;
 | |
| 
 | |
|     //=== VK_NVX_image_view_handle ===
 | |
|     PFN_vkGetImageViewHandleNVX  vkGetImageViewHandleNVX  = 0;
 | |
|     PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX = 0;
 | |
| 
 | |
|     //=== VK_AMD_draw_indirect_count ===
 | |
|     PFN_vkCmdDrawIndirectCountAMD        vkCmdDrawIndirectCountAMD        = 0;
 | |
|     PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD = 0;
 | |
| 
 | |
|     //=== VK_AMD_shader_info ===
 | |
|     PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD = 0;
 | |
| 
 | |
|     //=== VK_KHR_dynamic_rendering ===
 | |
|     PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR = 0;
 | |
|     PFN_vkCmdEndRenderingKHR   vkCmdEndRenderingKHR   = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_GGP )
 | |
|     //=== VK_GGP_stream_descriptor_surface ===
 | |
|     PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateStreamDescriptorSurfaceGGP_placeholder                = 0;
 | |
| #endif /*VK_USE_PLATFORM_GGP*/
 | |
| 
 | |
|     //=== VK_NV_external_memory_capabilities ===
 | |
|     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_NV_external_memory_win32 ===
 | |
|     PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetMemoryWin32HandleNV_placeholder                          = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_get_physical_device_properties2 ===
 | |
|     PFN_vkGetPhysicalDeviceFeatures2KHR                    vkGetPhysicalDeviceFeatures2KHR                    = 0;
 | |
|     PFN_vkGetPhysicalDeviceProperties2KHR                  vkGetPhysicalDeviceProperties2KHR                  = 0;
 | |
|     PFN_vkGetPhysicalDeviceFormatProperties2KHR            vkGetPhysicalDeviceFormatProperties2KHR            = 0;
 | |
|     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR       vkGetPhysicalDeviceImageFormatProperties2KHR       = 0;
 | |
|     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR       vkGetPhysicalDeviceQueueFamilyProperties2KHR       = 0;
 | |
|     PFN_vkGetPhysicalDeviceMemoryProperties2KHR            vkGetPhysicalDeviceMemoryProperties2KHR            = 0;
 | |
|     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_device_group ===
 | |
|     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR = 0;
 | |
|     PFN_vkCmdSetDeviceMaskKHR                 vkCmdSetDeviceMaskKHR                 = 0;
 | |
|     PFN_vkCmdDispatchBaseKHR                  vkCmdDispatchBaseKHR                  = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_VI_NN )
 | |
|     //=== VK_NN_vi_surface ===
 | |
|     PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateViSurfaceNN_placeholder                               = 0;
 | |
| #endif /*VK_USE_PLATFORM_VI_NN*/
 | |
| 
 | |
|     //=== VK_KHR_maintenance1 ===
 | |
|     PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_device_group_creation ===
 | |
|     PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_external_memory_capabilities ===
 | |
|     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_memory_win32 ===
 | |
|     PFN_vkGetMemoryWin32HandleKHR           vkGetMemoryWin32HandleKHR           = 0;
 | |
|     PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetMemoryWin32HandleKHR_placeholder                         = 0;
 | |
|     PFN_dummy vkGetMemoryWin32HandlePropertiesKHR_placeholder               = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_memory_fd ===
 | |
|     PFN_vkGetMemoryFdKHR           vkGetMemoryFdKHR           = 0;
 | |
|     PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_external_semaphore_capabilities ===
 | |
|     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_semaphore_win32 ===
 | |
|     PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR = 0;
 | |
|     PFN_vkGetSemaphoreWin32HandleKHR    vkGetSemaphoreWin32HandleKHR    = 0;
 | |
| #else
 | |
|     PFN_dummy vkImportSemaphoreWin32HandleKHR_placeholder                   = 0;
 | |
|     PFN_dummy vkGetSemaphoreWin32HandleKHR_placeholder                      = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_semaphore_fd ===
 | |
|     PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR = 0;
 | |
|     PFN_vkGetSemaphoreFdKHR    vkGetSemaphoreFdKHR    = 0;
 | |
| 
 | |
|     //=== VK_KHR_push_descriptor ===
 | |
|     PFN_vkCmdPushDescriptorSetKHR             vkCmdPushDescriptorSetKHR             = 0;
 | |
|     PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR = 0;
 | |
| 
 | |
|     //=== VK_EXT_conditional_rendering ===
 | |
|     PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT = 0;
 | |
|     PFN_vkCmdEndConditionalRenderingEXT   vkCmdEndConditionalRenderingEXT   = 0;
 | |
| 
 | |
|     //=== VK_KHR_descriptor_update_template ===
 | |
|     PFN_vkCreateDescriptorUpdateTemplateKHR  vkCreateDescriptorUpdateTemplateKHR  = 0;
 | |
|     PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR = 0;
 | |
|     PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR = 0;
 | |
| 
 | |
|     //=== VK_NV_clip_space_w_scaling ===
 | |
|     PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV = 0;
 | |
| 
 | |
|     //=== VK_EXT_direct_mode_display ===
 | |
|     PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
 | |
|     //=== VK_EXT_acquire_xlib_display ===
 | |
|     PFN_vkAcquireXlibDisplayEXT    vkAcquireXlibDisplayEXT    = 0;
 | |
|     PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT = 0;
 | |
| #else
 | |
|     PFN_dummy vkAcquireXlibDisplayEXT_placeholder                           = 0;
 | |
|     PFN_dummy vkGetRandROutputDisplayEXT_placeholder                        = 0;
 | |
| #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
 | |
| 
 | |
|     //=== VK_EXT_display_surface_counter ===
 | |
|     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_display_control ===
 | |
|     PFN_vkDisplayPowerControlEXT  vkDisplayPowerControlEXT  = 0;
 | |
|     PFN_vkRegisterDeviceEventEXT  vkRegisterDeviceEventEXT  = 0;
 | |
|     PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT = 0;
 | |
|     PFN_vkGetSwapchainCounterEXT  vkGetSwapchainCounterEXT  = 0;
 | |
| 
 | |
|     //=== VK_GOOGLE_display_timing ===
 | |
|     PFN_vkGetRefreshCycleDurationGOOGLE   vkGetRefreshCycleDurationGOOGLE   = 0;
 | |
|     PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE = 0;
 | |
| 
 | |
|     //=== VK_EXT_discard_rectangles ===
 | |
|     PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_hdr_metadata ===
 | |
|     PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT = 0;
 | |
| 
 | |
|     //=== VK_KHR_create_renderpass2 ===
 | |
|     PFN_vkCreateRenderPass2KHR   vkCreateRenderPass2KHR   = 0;
 | |
|     PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR = 0;
 | |
|     PFN_vkCmdNextSubpass2KHR     vkCmdNextSubpass2KHR     = 0;
 | |
|     PFN_vkCmdEndRenderPass2KHR   vkCmdEndRenderPass2KHR   = 0;
 | |
| 
 | |
|     //=== VK_KHR_shared_presentable_image ===
 | |
|     PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_external_fence_capabilities ===
 | |
|     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_KHR_external_fence_win32 ===
 | |
|     PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR = 0;
 | |
|     PFN_vkGetFenceWin32HandleKHR    vkGetFenceWin32HandleKHR    = 0;
 | |
| #else
 | |
|     PFN_dummy vkImportFenceWin32HandleKHR_placeholder                       = 0;
 | |
|     PFN_dummy vkGetFenceWin32HandleKHR_placeholder                          = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_KHR_external_fence_fd ===
 | |
|     PFN_vkImportFenceFdKHR vkImportFenceFdKHR = 0;
 | |
|     PFN_vkGetFenceFdKHR    vkGetFenceFdKHR    = 0;
 | |
| 
 | |
|     //=== VK_KHR_performance_query ===
 | |
|     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR
 | |
|       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = 0;
 | |
|     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR
 | |
|                                   vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = 0;
 | |
|     PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR                               = 0;
 | |
|     PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR                               = 0;
 | |
| 
 | |
|     //=== VK_KHR_get_surface_capabilities2 ===
 | |
|     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR = 0;
 | |
|     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR      vkGetPhysicalDeviceSurfaceFormats2KHR      = 0;
 | |
| 
 | |
|     //=== VK_KHR_get_display_properties2 ===
 | |
|     PFN_vkGetPhysicalDeviceDisplayProperties2KHR      vkGetPhysicalDeviceDisplayProperties2KHR      = 0;
 | |
|     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR = 0;
 | |
|     PFN_vkGetDisplayModeProperties2KHR                vkGetDisplayModeProperties2KHR                = 0;
 | |
|     PFN_vkGetDisplayPlaneCapabilities2KHR             vkGetDisplayPlaneCapabilities2KHR             = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_IOS_MVK )
 | |
|     //=== VK_MVK_ios_surface ===
 | |
|     PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateIOSSurfaceMVK_placeholder                             = 0;
 | |
| #endif /*VK_USE_PLATFORM_IOS_MVK*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_MACOS_MVK )
 | |
|     //=== VK_MVK_macos_surface ===
 | |
|     PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateMacOSSurfaceMVK_placeholder                           = 0;
 | |
| #endif /*VK_USE_PLATFORM_MACOS_MVK*/
 | |
| 
 | |
|     //=== VK_EXT_debug_utils ===
 | |
|     PFN_vkSetDebugUtilsObjectNameEXT    vkSetDebugUtilsObjectNameEXT    = 0;
 | |
|     PFN_vkSetDebugUtilsObjectTagEXT     vkSetDebugUtilsObjectTagEXT     = 0;
 | |
|     PFN_vkQueueBeginDebugUtilsLabelEXT  vkQueueBeginDebugUtilsLabelEXT  = 0;
 | |
|     PFN_vkQueueEndDebugUtilsLabelEXT    vkQueueEndDebugUtilsLabelEXT    = 0;
 | |
|     PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT = 0;
 | |
|     PFN_vkCmdBeginDebugUtilsLabelEXT    vkCmdBeginDebugUtilsLabelEXT    = 0;
 | |
|     PFN_vkCmdEndDebugUtilsLabelEXT      vkCmdEndDebugUtilsLabelEXT      = 0;
 | |
|     PFN_vkCmdInsertDebugUtilsLabelEXT   vkCmdInsertDebugUtilsLabelEXT   = 0;
 | |
|     PFN_vkCreateDebugUtilsMessengerEXT  vkCreateDebugUtilsMessengerEXT  = 0;
 | |
|     PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT = 0;
 | |
|     PFN_vkSubmitDebugUtilsMessageEXT    vkSubmitDebugUtilsMessageEXT    = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|     //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 | |
|     PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID = 0;
 | |
|     PFN_vkGetMemoryAndroidHardwareBufferANDROID     vkGetMemoryAndroidHardwareBufferANDROID     = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetAndroidHardwareBufferPropertiesANDROID_placeholder       = 0;
 | |
|     PFN_dummy vkGetMemoryAndroidHardwareBufferANDROID_placeholder           = 0;
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_sample_locations ===
 | |
|     PFN_vkCmdSetSampleLocationsEXT                  vkCmdSetSampleLocationsEXT                  = 0;
 | |
|     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT = 0;
 | |
| 
 | |
|     //=== VK_KHR_get_memory_requirements2 ===
 | |
|     PFN_vkGetImageMemoryRequirements2KHR       vkGetImageMemoryRequirements2KHR       = 0;
 | |
|     PFN_vkGetBufferMemoryRequirements2KHR      vkGetBufferMemoryRequirements2KHR      = 0;
 | |
|     PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_acceleration_structure ===
 | |
|     PFN_vkCreateAccelerationStructureKHR                 vkCreateAccelerationStructureKHR                 = 0;
 | |
|     PFN_vkDestroyAccelerationStructureKHR                vkDestroyAccelerationStructureKHR                = 0;
 | |
|     PFN_vkCmdBuildAccelerationStructuresKHR              vkCmdBuildAccelerationStructuresKHR              = 0;
 | |
|     PFN_vkCmdBuildAccelerationStructuresIndirectKHR      vkCmdBuildAccelerationStructuresIndirectKHR      = 0;
 | |
|     PFN_vkBuildAccelerationStructuresKHR                 vkBuildAccelerationStructuresKHR                 = 0;
 | |
|     PFN_vkCopyAccelerationStructureKHR                   vkCopyAccelerationStructureKHR                   = 0;
 | |
|     PFN_vkCopyAccelerationStructureToMemoryKHR           vkCopyAccelerationStructureToMemoryKHR           = 0;
 | |
|     PFN_vkCopyMemoryToAccelerationStructureKHR           vkCopyMemoryToAccelerationStructureKHR           = 0;
 | |
|     PFN_vkWriteAccelerationStructuresPropertiesKHR       vkWriteAccelerationStructuresPropertiesKHR       = 0;
 | |
|     PFN_vkCmdCopyAccelerationStructureKHR                vkCmdCopyAccelerationStructureKHR                = 0;
 | |
|     PFN_vkCmdCopyAccelerationStructureToMemoryKHR        vkCmdCopyAccelerationStructureToMemoryKHR        = 0;
 | |
|     PFN_vkCmdCopyMemoryToAccelerationStructureKHR        vkCmdCopyMemoryToAccelerationStructureKHR        = 0;
 | |
|     PFN_vkGetAccelerationStructureDeviceAddressKHR       vkGetAccelerationStructureDeviceAddressKHR       = 0;
 | |
|     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR    vkCmdWriteAccelerationStructuresPropertiesKHR    = 0;
 | |
|     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR = 0;
 | |
|     PFN_vkGetAccelerationStructureBuildSizesKHR          vkGetAccelerationStructureBuildSizesKHR          = 0;
 | |
| 
 | |
|     //=== VK_KHR_sampler_ycbcr_conversion ===
 | |
|     PFN_vkCreateSamplerYcbcrConversionKHR  vkCreateSamplerYcbcrConversionKHR  = 0;
 | |
|     PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_bind_memory2 ===
 | |
|     PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR = 0;
 | |
|     PFN_vkBindImageMemory2KHR  vkBindImageMemory2KHR  = 0;
 | |
| 
 | |
|     //=== VK_EXT_image_drm_format_modifier ===
 | |
|     PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_validation_cache ===
 | |
|     PFN_vkCreateValidationCacheEXT  vkCreateValidationCacheEXT  = 0;
 | |
|     PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT = 0;
 | |
|     PFN_vkMergeValidationCachesEXT  vkMergeValidationCachesEXT  = 0;
 | |
|     PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT = 0;
 | |
| 
 | |
|     //=== VK_NV_shading_rate_image ===
 | |
|     PFN_vkCmdBindShadingRateImageNV          vkCmdBindShadingRateImageNV          = 0;
 | |
|     PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV = 0;
 | |
|     PFN_vkCmdSetCoarseSampleOrderNV          vkCmdSetCoarseSampleOrderNV          = 0;
 | |
| 
 | |
|     //=== VK_NV_ray_tracing ===
 | |
|     PFN_vkCreateAccelerationStructureNV                vkCreateAccelerationStructureNV                = 0;
 | |
|     PFN_vkDestroyAccelerationStructureNV               vkDestroyAccelerationStructureNV               = 0;
 | |
|     PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV = 0;
 | |
|     PFN_vkBindAccelerationStructureMemoryNV            vkBindAccelerationStructureMemoryNV            = 0;
 | |
|     PFN_vkCmdBuildAccelerationStructureNV              vkCmdBuildAccelerationStructureNV              = 0;
 | |
|     PFN_vkCmdCopyAccelerationStructureNV               vkCmdCopyAccelerationStructureNV               = 0;
 | |
|     PFN_vkCmdTraceRaysNV                               vkCmdTraceRaysNV                               = 0;
 | |
|     PFN_vkCreateRayTracingPipelinesNV                  vkCreateRayTracingPipelinesNV                  = 0;
 | |
|     PFN_vkGetRayTracingShaderGroupHandlesNV            vkGetRayTracingShaderGroupHandlesNV            = 0;
 | |
|     PFN_vkGetAccelerationStructureHandleNV             vkGetAccelerationStructureHandleNV             = 0;
 | |
|     PFN_vkCmdWriteAccelerationStructuresPropertiesNV   vkCmdWriteAccelerationStructuresPropertiesNV   = 0;
 | |
|     PFN_vkCompileDeferredNV                            vkCompileDeferredNV                            = 0;
 | |
| 
 | |
|     //=== VK_KHR_maintenance3 ===
 | |
|     PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR = 0;
 | |
| 
 | |
|     //=== VK_KHR_draw_indirect_count ===
 | |
|     PFN_vkCmdDrawIndirectCountKHR        vkCmdDrawIndirectCountKHR        = 0;
 | |
|     PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR = 0;
 | |
| 
 | |
|     //=== VK_EXT_external_memory_host ===
 | |
|     PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT = 0;
 | |
| 
 | |
|     //=== VK_AMD_buffer_marker ===
 | |
|     PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD = 0;
 | |
| 
 | |
|     //=== VK_EXT_calibrated_timestamps ===
 | |
|     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = 0;
 | |
|     PFN_vkGetCalibratedTimestampsEXT                   vkGetCalibratedTimestampsEXT                   = 0;
 | |
| 
 | |
|     //=== VK_NV_mesh_shader ===
 | |
|     PFN_vkCmdDrawMeshTasksNV              vkCmdDrawMeshTasksNV              = 0;
 | |
|     PFN_vkCmdDrawMeshTasksIndirectNV      vkCmdDrawMeshTasksIndirectNV      = 0;
 | |
|     PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV = 0;
 | |
| 
 | |
|     //=== VK_NV_scissor_exclusive ===
 | |
|     PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV = 0;
 | |
| 
 | |
|     //=== VK_NV_device_diagnostic_checkpoints ===
 | |
|     PFN_vkCmdSetCheckpointNV       vkCmdSetCheckpointNV       = 0;
 | |
|     PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV = 0;
 | |
| 
 | |
|     //=== VK_KHR_timeline_semaphore ===
 | |
|     PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR = 0;
 | |
|     PFN_vkWaitSemaphoresKHR           vkWaitSemaphoresKHR           = 0;
 | |
|     PFN_vkSignalSemaphoreKHR          vkSignalSemaphoreKHR          = 0;
 | |
| 
 | |
|     //=== VK_INTEL_performance_query ===
 | |
|     PFN_vkInitializePerformanceApiINTEL         vkInitializePerformanceApiINTEL         = 0;
 | |
|     PFN_vkUninitializePerformanceApiINTEL       vkUninitializePerformanceApiINTEL       = 0;
 | |
|     PFN_vkCmdSetPerformanceMarkerINTEL          vkCmdSetPerformanceMarkerINTEL          = 0;
 | |
|     PFN_vkCmdSetPerformanceStreamMarkerINTEL    vkCmdSetPerformanceStreamMarkerINTEL    = 0;
 | |
|     PFN_vkCmdSetPerformanceOverrideINTEL        vkCmdSetPerformanceOverrideINTEL        = 0;
 | |
|     PFN_vkAcquirePerformanceConfigurationINTEL  vkAcquirePerformanceConfigurationINTEL  = 0;
 | |
|     PFN_vkReleasePerformanceConfigurationINTEL  vkReleasePerformanceConfigurationINTEL  = 0;
 | |
|     PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL = 0;
 | |
|     PFN_vkGetPerformanceParameterINTEL          vkGetPerformanceParameterINTEL          = 0;
 | |
| 
 | |
|     //=== VK_AMD_display_native_hdr ===
 | |
|     PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_imagepipe_surface ===
 | |
|     PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateImagePipeSurfaceFUCHSIA_placeholder                   = 0;
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_METAL_EXT )
 | |
|     //=== VK_EXT_metal_surface ===
 | |
|     PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateMetalSurfaceEXT_placeholder                           = 0;
 | |
| #endif /*VK_USE_PLATFORM_METAL_EXT*/
 | |
| 
 | |
|     //=== VK_KHR_fragment_shading_rate ===
 | |
|     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR = 0;
 | |
|     PFN_vkCmdSetFragmentShadingRateKHR             vkCmdSetFragmentShadingRateKHR             = 0;
 | |
| 
 | |
|     //=== VK_EXT_buffer_device_address ===
 | |
|     PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_tooling_info ===
 | |
|     PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT = 0;
 | |
| 
 | |
|     //=== VK_KHR_present_wait ===
 | |
|     PFN_vkWaitForPresentKHR vkWaitForPresentKHR = 0;
 | |
| 
 | |
|     //=== VK_NV_cooperative_matrix ===
 | |
|     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = 0;
 | |
| 
 | |
|     //=== VK_NV_coverage_reduction_mode ===
 | |
|     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
 | |
|       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_EXT_full_screen_exclusive ===
 | |
|     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT = 0;
 | |
|     PFN_vkAcquireFullScreenExclusiveModeEXT        vkAcquireFullScreenExclusiveModeEXT        = 0;
 | |
|     PFN_vkReleaseFullScreenExclusiveModeEXT        vkReleaseFullScreenExclusiveModeEXT        = 0;
 | |
|     PFN_vkGetDeviceGroupSurfacePresentModes2EXT    vkGetDeviceGroupSurfacePresentModes2EXT    = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetPhysicalDeviceSurfacePresentModes2EXT_placeholder        = 0;
 | |
|     PFN_dummy vkAcquireFullScreenExclusiveModeEXT_placeholder               = 0;
 | |
|     PFN_dummy vkReleaseFullScreenExclusiveModeEXT_placeholder               = 0;
 | |
|     PFN_dummy vkGetDeviceGroupSurfacePresentModes2EXT_placeholder           = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|     //=== VK_EXT_headless_surface ===
 | |
|     PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT = 0;
 | |
| 
 | |
|     //=== VK_KHR_buffer_device_address ===
 | |
|     PFN_vkGetBufferDeviceAddressKHR              vkGetBufferDeviceAddressKHR              = 0;
 | |
|     PFN_vkGetBufferOpaqueCaptureAddressKHR       vkGetBufferOpaqueCaptureAddressKHR       = 0;
 | |
|     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR = 0;
 | |
| 
 | |
|     //=== VK_EXT_line_rasterization ===
 | |
|     PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_host_query_reset ===
 | |
|     PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_extended_dynamic_state ===
 | |
|     PFN_vkCmdSetCullModeEXT              vkCmdSetCullModeEXT              = 0;
 | |
|     PFN_vkCmdSetFrontFaceEXT             vkCmdSetFrontFaceEXT             = 0;
 | |
|     PFN_vkCmdSetPrimitiveTopologyEXT     vkCmdSetPrimitiveTopologyEXT     = 0;
 | |
|     PFN_vkCmdSetViewportWithCountEXT     vkCmdSetViewportWithCountEXT     = 0;
 | |
|     PFN_vkCmdSetScissorWithCountEXT      vkCmdSetScissorWithCountEXT      = 0;
 | |
|     PFN_vkCmdBindVertexBuffers2EXT       vkCmdBindVertexBuffers2EXT       = 0;
 | |
|     PFN_vkCmdSetDepthTestEnableEXT       vkCmdSetDepthTestEnableEXT       = 0;
 | |
|     PFN_vkCmdSetDepthWriteEnableEXT      vkCmdSetDepthWriteEnableEXT      = 0;
 | |
|     PFN_vkCmdSetDepthCompareOpEXT        vkCmdSetDepthCompareOpEXT        = 0;
 | |
|     PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT = 0;
 | |
|     PFN_vkCmdSetStencilTestEnableEXT     vkCmdSetStencilTestEnableEXT     = 0;
 | |
|     PFN_vkCmdSetStencilOpEXT             vkCmdSetStencilOpEXT             = 0;
 | |
| 
 | |
|     //=== VK_KHR_deferred_host_operations ===
 | |
|     PFN_vkCreateDeferredOperationKHR            vkCreateDeferredOperationKHR            = 0;
 | |
|     PFN_vkDestroyDeferredOperationKHR           vkDestroyDeferredOperationKHR           = 0;
 | |
|     PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR = 0;
 | |
|     PFN_vkGetDeferredOperationResultKHR         vkGetDeferredOperationResultKHR         = 0;
 | |
|     PFN_vkDeferredOperationJoinKHR              vkDeferredOperationJoinKHR              = 0;
 | |
| 
 | |
|     //=== VK_KHR_pipeline_executable_properties ===
 | |
|     PFN_vkGetPipelineExecutablePropertiesKHR              vkGetPipelineExecutablePropertiesKHR              = 0;
 | |
|     PFN_vkGetPipelineExecutableStatisticsKHR              vkGetPipelineExecutableStatisticsKHR              = 0;
 | |
|     PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR = 0;
 | |
| 
 | |
|     //=== VK_NV_device_generated_commands ===
 | |
|     PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV = 0;
 | |
|     PFN_vkCmdPreprocessGeneratedCommandsNV         vkCmdPreprocessGeneratedCommandsNV         = 0;
 | |
|     PFN_vkCmdExecuteGeneratedCommandsNV            vkCmdExecuteGeneratedCommandsNV            = 0;
 | |
|     PFN_vkCmdBindPipelineShaderGroupNV             vkCmdBindPipelineShaderGroupNV             = 0;
 | |
|     PFN_vkCreateIndirectCommandsLayoutNV           vkCreateIndirectCommandsLayoutNV           = 0;
 | |
|     PFN_vkDestroyIndirectCommandsLayoutNV          vkDestroyIndirectCommandsLayoutNV          = 0;
 | |
| 
 | |
|     //=== VK_EXT_acquire_drm_display ===
 | |
|     PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT = 0;
 | |
|     PFN_vkGetDrmDisplayEXT     vkGetDrmDisplayEXT     = 0;
 | |
| 
 | |
|     //=== VK_EXT_private_data ===
 | |
|     PFN_vkCreatePrivateDataSlotEXT  vkCreatePrivateDataSlotEXT  = 0;
 | |
|     PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT = 0;
 | |
|     PFN_vkSetPrivateDataEXT         vkSetPrivateDataEXT         = 0;
 | |
|     PFN_vkGetPrivateDataEXT         vkGetPrivateDataEXT         = 0;
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|     //=== VK_KHR_video_encode_queue ===
 | |
|     PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR = 0;
 | |
| #else
 | |
|     PFN_dummy vkCmdEncodeVideoKHR_placeholder                               = 0;
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|     //=== VK_KHR_synchronization2 ===
 | |
|     PFN_vkCmdSetEvent2KHR           vkCmdSetEvent2KHR           = 0;
 | |
|     PFN_vkCmdResetEvent2KHR         vkCmdResetEvent2KHR         = 0;
 | |
|     PFN_vkCmdWaitEvents2KHR         vkCmdWaitEvents2KHR         = 0;
 | |
|     PFN_vkCmdPipelineBarrier2KHR    vkCmdPipelineBarrier2KHR    = 0;
 | |
|     PFN_vkCmdWriteTimestamp2KHR     vkCmdWriteTimestamp2KHR     = 0;
 | |
|     PFN_vkQueueSubmit2KHR           vkQueueSubmit2KHR           = 0;
 | |
|     PFN_vkCmdWriteBufferMarker2AMD  vkCmdWriteBufferMarker2AMD  = 0;
 | |
|     PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV = 0;
 | |
| 
 | |
|     //=== VK_NV_fragment_shading_rate_enums ===
 | |
|     PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV = 0;
 | |
| 
 | |
|     //=== VK_KHR_copy_commands2 ===
 | |
|     PFN_vkCmdCopyBuffer2KHR        vkCmdCopyBuffer2KHR        = 0;
 | |
|     PFN_vkCmdCopyImage2KHR         vkCmdCopyImage2KHR         = 0;
 | |
|     PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR = 0;
 | |
|     PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR = 0;
 | |
|     PFN_vkCmdBlitImage2KHR         vkCmdBlitImage2KHR         = 0;
 | |
|     PFN_vkCmdResolveImage2KHR      vkCmdResolveImage2KHR      = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|     //=== VK_NV_acquire_winrt_display ===
 | |
|     PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV = 0;
 | |
|     PFN_vkGetWinrtDisplayNV     vkGetWinrtDisplayNV     = 0;
 | |
| #else
 | |
|     PFN_dummy vkAcquireWinrtDisplayNV_placeholder                           = 0;
 | |
|     PFN_dummy vkGetWinrtDisplayNV_placeholder                               = 0;
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
 | |
|     //=== VK_EXT_directfb_surface ===
 | |
|     PFN_vkCreateDirectFBSurfaceEXT                        vkCreateDirectFBSurfaceEXT                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateDirectFBSurfaceEXT_placeholder                        = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceDirectFBPresentationSupportEXT_placeholder = 0;
 | |
| #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
 | |
| 
 | |
|     //=== VK_KHR_ray_tracing_pipeline ===
 | |
|     PFN_vkCmdTraceRaysKHR                                 vkCmdTraceRaysKHR                                 = 0;
 | |
|     PFN_vkCreateRayTracingPipelinesKHR                    vkCreateRayTracingPipelinesKHR                    = 0;
 | |
|     PFN_vkGetRayTracingShaderGroupHandlesKHR              vkGetRayTracingShaderGroupHandlesKHR              = 0;
 | |
|     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = 0;
 | |
|     PFN_vkCmdTraceRaysIndirectKHR                         vkCmdTraceRaysIndirectKHR                         = 0;
 | |
|     PFN_vkGetRayTracingShaderGroupStackSizeKHR            vkGetRayTracingShaderGroupStackSizeKHR            = 0;
 | |
|     PFN_vkCmdSetRayTracingPipelineStackSizeKHR            vkCmdSetRayTracingPipelineStackSizeKHR            = 0;
 | |
| 
 | |
|     //=== VK_EXT_vertex_input_dynamic_state ===
 | |
|     PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_external_memory ===
 | |
|     PFN_vkGetMemoryZirconHandleFUCHSIA           vkGetMemoryZirconHandleFUCHSIA           = 0;
 | |
|     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA = 0;
 | |
| #else
 | |
|     PFN_dummy vkGetMemoryZirconHandleFUCHSIA_placeholder                    = 0;
 | |
|     PFN_dummy vkGetMemoryZirconHandlePropertiesFUCHSIA_placeholder          = 0;
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_external_semaphore ===
 | |
|     PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA = 0;
 | |
|     PFN_vkGetSemaphoreZirconHandleFUCHSIA    vkGetSemaphoreZirconHandleFUCHSIA    = 0;
 | |
| #else
 | |
|     PFN_dummy vkImportSemaphoreZirconHandleFUCHSIA_placeholder              = 0;
 | |
|     PFN_dummy vkGetSemaphoreZirconHandleFUCHSIA_placeholder                 = 0;
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|     //=== VK_FUCHSIA_buffer_collection ===
 | |
|     PFN_vkCreateBufferCollectionFUCHSIA               vkCreateBufferCollectionFUCHSIA               = 0;
 | |
|     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA  vkSetBufferCollectionImageConstraintsFUCHSIA  = 0;
 | |
|     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA = 0;
 | |
|     PFN_vkDestroyBufferCollectionFUCHSIA              vkDestroyBufferCollectionFUCHSIA              = 0;
 | |
|     PFN_vkGetBufferCollectionPropertiesFUCHSIA        vkGetBufferCollectionPropertiesFUCHSIA        = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateBufferCollectionFUCHSIA_placeholder                   = 0;
 | |
|     PFN_dummy vkSetBufferCollectionImageConstraintsFUCHSIA_placeholder      = 0;
 | |
|     PFN_dummy vkSetBufferCollectionBufferConstraintsFUCHSIA_placeholder     = 0;
 | |
|     PFN_dummy vkDestroyBufferCollectionFUCHSIA_placeholder                  = 0;
 | |
|     PFN_dummy vkGetBufferCollectionPropertiesFUCHSIA_placeholder            = 0;
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
|     //=== VK_HUAWEI_subpass_shading ===
 | |
|     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = 0;
 | |
|     PFN_vkCmdSubpassShadingHUAWEI                       vkCmdSubpassShadingHUAWEI                       = 0;
 | |
| 
 | |
|     //=== VK_HUAWEI_invocation_mask ===
 | |
|     PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI = 0;
 | |
| 
 | |
|     //=== VK_NV_external_memory_rdma ===
 | |
|     PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV = 0;
 | |
| 
 | |
|     //=== VK_EXT_extended_dynamic_state2 ===
 | |
|     PFN_vkCmdSetPatchControlPointsEXT      vkCmdSetPatchControlPointsEXT      = 0;
 | |
|     PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT = 0;
 | |
|     PFN_vkCmdSetDepthBiasEnableEXT         vkCmdSetDepthBiasEnableEXT         = 0;
 | |
|     PFN_vkCmdSetLogicOpEXT                 vkCmdSetLogicOpEXT                 = 0;
 | |
|     PFN_vkCmdSetPrimitiveRestartEnableEXT  vkCmdSetPrimitiveRestartEnableEXT  = 0;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_SCREEN_QNX )
 | |
|     //=== VK_QNX_screen_surface ===
 | |
|     PFN_vkCreateScreenSurfaceQNX                        vkCreateScreenSurfaceQNX                        = 0;
 | |
|     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX = 0;
 | |
| #else
 | |
|     PFN_dummy vkCreateScreenSurfaceQNX_placeholder                          = 0;
 | |
|     PFN_dummy vkGetPhysicalDeviceScreenPresentationSupportQNX_placeholder   = 0;
 | |
| #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
 | |
| 
 | |
|     //=== VK_EXT_color_write_enable ===
 | |
|     PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_multi_draw ===
 | |
|     PFN_vkCmdDrawMultiEXT        vkCmdDrawMultiEXT        = 0;
 | |
|     PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT = 0;
 | |
| 
 | |
|     //=== VK_EXT_pageable_device_local_memory ===
 | |
|     PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT = 0;
 | |
| 
 | |
|     //=== VK_KHR_maintenance4 ===
 | |
|     PFN_vkGetDeviceBufferMemoryRequirementsKHR      vkGetDeviceBufferMemoryRequirementsKHR      = 0;
 | |
|     PFN_vkGetDeviceImageMemoryRequirementsKHR       vkGetDeviceImageMemoryRequirementsKHR       = 0;
 | |
|     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR = 0;
 | |
| 
 | |
|   public:
 | |
|     DispatchLoaderDynamic() VULKAN_HPP_NOEXCEPT                                    = default;
 | |
|     DispatchLoaderDynamic( DispatchLoaderDynamic const & rhs ) VULKAN_HPP_NOEXCEPT = default;
 | |
| 
 | |
| #if !defined( VK_NO_PROTOTYPES )
 | |
|     // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
 | |
|     // library.
 | |
|     template <typename DynamicLoader>
 | |
|     void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
 | |
|                VULKAN_HPP_NAMESPACE::Device const &   device,
 | |
|                DynamicLoader const &                  dl ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       PFN_vkGetInstanceProcAddr getInstanceProcAddr =
 | |
|         dl.template getProcAddress<PFN_vkGetInstanceProcAddr>( "vkGetInstanceProcAddr" );
 | |
|       PFN_vkGetDeviceProcAddr getDeviceProcAddr =
 | |
|         dl.template getProcAddress<PFN_vkGetDeviceProcAddr>( "vkGetDeviceProcAddr" );
 | |
|       init( static_cast<VkInstance>( instance ),
 | |
|             getInstanceProcAddr,
 | |
|             static_cast<VkDevice>( device ),
 | |
|             device ? getDeviceProcAddr : nullptr );
 | |
|     }
 | |
| 
 | |
|     // This interface is designed to be used for per-device function pointers in combination with a linked vulkan
 | |
|     // library.
 | |
|     template <typename DynamicLoader
 | |
| #  if VULKAN_HPP_ENABLE_DYNAMIC_LOADER_TOOL
 | |
|               = VULKAN_HPP_NAMESPACE::DynamicLoader
 | |
| #  endif
 | |
|               >
 | |
|     void init( VULKAN_HPP_NAMESPACE::Instance const & instance,
 | |
|                VULKAN_HPP_NAMESPACE::Device const &   device ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       static DynamicLoader dl;
 | |
|       init( instance, device, dl );
 | |
|     }
 | |
| #endif  // !defined( VK_NO_PROTOTYPES )
 | |
| 
 | |
|     DispatchLoaderDynamic( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       init( getInstanceProcAddr );
 | |
|     }
 | |
| 
 | |
|     void init( PFN_vkGetInstanceProcAddr getInstanceProcAddr ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( getInstanceProcAddr );
 | |
| 
 | |
|       vkGetInstanceProcAddr = getInstanceProcAddr;
 | |
| 
 | |
|       //=== VK_VERSION_1_0 ===
 | |
|       vkCreateInstance = PFN_vkCreateInstance( vkGetInstanceProcAddr( NULL, "vkCreateInstance" ) );
 | |
|       vkEnumerateInstanceExtensionProperties = PFN_vkEnumerateInstanceExtensionProperties(
 | |
|         vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceExtensionProperties" ) );
 | |
|       vkEnumerateInstanceLayerProperties =
 | |
|         PFN_vkEnumerateInstanceLayerProperties( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceLayerProperties" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_1 ===
 | |
|       vkEnumerateInstanceVersion =
 | |
|         PFN_vkEnumerateInstanceVersion( vkGetInstanceProcAddr( NULL, "vkEnumerateInstanceVersion" ) );
 | |
|     }
 | |
| 
 | |
|     // This interface does not require a linked vulkan library.
 | |
|     DispatchLoaderDynamic( VkInstance                instance,
 | |
|                            PFN_vkGetInstanceProcAddr getInstanceProcAddr,
 | |
|                            VkDevice                  device            = {},
 | |
|                            PFN_vkGetDeviceProcAddr   getDeviceProcAddr = nullptr ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       init( instance, getInstanceProcAddr, device, getDeviceProcAddr );
 | |
|     }
 | |
| 
 | |
|     // This interface does not require a linked vulkan library.
 | |
|     void init( VkInstance                instance,
 | |
|                PFN_vkGetInstanceProcAddr getInstanceProcAddr,
 | |
|                VkDevice                  device              = {},
 | |
|                PFN_vkGetDeviceProcAddr /*getDeviceProcAddr*/ = nullptr ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VULKAN_HPP_ASSERT( instance && getInstanceProcAddr );
 | |
|       vkGetInstanceProcAddr = getInstanceProcAddr;
 | |
|       init( VULKAN_HPP_NAMESPACE::Instance( instance ) );
 | |
|       if ( device )
 | |
|       {
 | |
|         init( VULKAN_HPP_NAMESPACE::Device( device ) );
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     void init( VULKAN_HPP_NAMESPACE::Instance instanceCpp ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VkInstance instance = static_cast<VkInstance>( instanceCpp );
 | |
| 
 | |
|       //=== VK_VERSION_1_0 ===
 | |
|       vkDestroyInstance = PFN_vkDestroyInstance( vkGetInstanceProcAddr( instance, "vkDestroyInstance" ) );
 | |
|       vkEnumeratePhysicalDevices =
 | |
|         PFN_vkEnumeratePhysicalDevices( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDevices" ) );
 | |
|       vkGetPhysicalDeviceFeatures =
 | |
|         PFN_vkGetPhysicalDeviceFeatures( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures" ) );
 | |
|       vkGetPhysicalDeviceFormatProperties = PFN_vkGetPhysicalDeviceFormatProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties" ) );
 | |
|       vkGetPhysicalDeviceImageFormatProperties = PFN_vkGetPhysicalDeviceImageFormatProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties" ) );
 | |
|       vkGetPhysicalDeviceProperties =
 | |
|         PFN_vkGetPhysicalDeviceProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties" ) );
 | |
|       vkGetPhysicalDeviceQueueFamilyProperties = PFN_vkGetPhysicalDeviceQueueFamilyProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties" ) );
 | |
|       vkGetPhysicalDeviceMemoryProperties = PFN_vkGetPhysicalDeviceMemoryProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties" ) );
 | |
|       vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetInstanceProcAddr( instance, "vkGetDeviceProcAddr" ) );
 | |
|       vkCreateDevice      = PFN_vkCreateDevice( vkGetInstanceProcAddr( instance, "vkCreateDevice" ) );
 | |
|       vkDestroyDevice     = PFN_vkDestroyDevice( vkGetInstanceProcAddr( instance, "vkDestroyDevice" ) );
 | |
|       vkEnumerateDeviceExtensionProperties = PFN_vkEnumerateDeviceExtensionProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkEnumerateDeviceExtensionProperties" ) );
 | |
|       vkEnumerateDeviceLayerProperties =
 | |
|         PFN_vkEnumerateDeviceLayerProperties( vkGetInstanceProcAddr( instance, "vkEnumerateDeviceLayerProperties" ) );
 | |
|       vkGetDeviceQueue = PFN_vkGetDeviceQueue( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue" ) );
 | |
|       vkQueueSubmit    = PFN_vkQueueSubmit( vkGetInstanceProcAddr( instance, "vkQueueSubmit" ) );
 | |
|       vkQueueWaitIdle  = PFN_vkQueueWaitIdle( vkGetInstanceProcAddr( instance, "vkQueueWaitIdle" ) );
 | |
|       vkDeviceWaitIdle = PFN_vkDeviceWaitIdle( vkGetInstanceProcAddr( instance, "vkDeviceWaitIdle" ) );
 | |
|       vkAllocateMemory = PFN_vkAllocateMemory( vkGetInstanceProcAddr( instance, "vkAllocateMemory" ) );
 | |
|       vkFreeMemory     = PFN_vkFreeMemory( vkGetInstanceProcAddr( instance, "vkFreeMemory" ) );
 | |
|       vkMapMemory      = PFN_vkMapMemory( vkGetInstanceProcAddr( instance, "vkMapMemory" ) );
 | |
|       vkUnmapMemory    = PFN_vkUnmapMemory( vkGetInstanceProcAddr( instance, "vkUnmapMemory" ) );
 | |
|       vkFlushMappedMemoryRanges =
 | |
|         PFN_vkFlushMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkFlushMappedMemoryRanges" ) );
 | |
|       vkInvalidateMappedMemoryRanges =
 | |
|         PFN_vkInvalidateMappedMemoryRanges( vkGetInstanceProcAddr( instance, "vkInvalidateMappedMemoryRanges" ) );
 | |
|       vkGetDeviceMemoryCommitment =
 | |
|         PFN_vkGetDeviceMemoryCommitment( vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryCommitment" ) );
 | |
|       vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetInstanceProcAddr( instance, "vkBindBufferMemory" ) );
 | |
|       vkBindImageMemory  = PFN_vkBindImageMemory( vkGetInstanceProcAddr( instance, "vkBindImageMemory" ) );
 | |
|       vkGetBufferMemoryRequirements =
 | |
|         PFN_vkGetBufferMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements" ) );
 | |
|       vkGetImageMemoryRequirements =
 | |
|         PFN_vkGetImageMemoryRequirements( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements" ) );
 | |
|       vkGetImageSparseMemoryRequirements = PFN_vkGetImageSparseMemoryRequirements(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements" ) );
 | |
|       vkGetPhysicalDeviceSparseImageFormatProperties = PFN_vkGetPhysicalDeviceSparseImageFormatProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties" ) );
 | |
|       vkQueueBindSparse     = PFN_vkQueueBindSparse( vkGetInstanceProcAddr( instance, "vkQueueBindSparse" ) );
 | |
|       vkCreateFence         = PFN_vkCreateFence( vkGetInstanceProcAddr( instance, "vkCreateFence" ) );
 | |
|       vkDestroyFence        = PFN_vkDestroyFence( vkGetInstanceProcAddr( instance, "vkDestroyFence" ) );
 | |
|       vkResetFences         = PFN_vkResetFences( vkGetInstanceProcAddr( instance, "vkResetFences" ) );
 | |
|       vkGetFenceStatus      = PFN_vkGetFenceStatus( vkGetInstanceProcAddr( instance, "vkGetFenceStatus" ) );
 | |
|       vkWaitForFences       = PFN_vkWaitForFences( vkGetInstanceProcAddr( instance, "vkWaitForFences" ) );
 | |
|       vkCreateSemaphore     = PFN_vkCreateSemaphore( vkGetInstanceProcAddr( instance, "vkCreateSemaphore" ) );
 | |
|       vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetInstanceProcAddr( instance, "vkDestroySemaphore" ) );
 | |
|       vkCreateEvent         = PFN_vkCreateEvent( vkGetInstanceProcAddr( instance, "vkCreateEvent" ) );
 | |
|       vkDestroyEvent        = PFN_vkDestroyEvent( vkGetInstanceProcAddr( instance, "vkDestroyEvent" ) );
 | |
|       vkGetEventStatus      = PFN_vkGetEventStatus( vkGetInstanceProcAddr( instance, "vkGetEventStatus" ) );
 | |
|       vkSetEvent            = PFN_vkSetEvent( vkGetInstanceProcAddr( instance, "vkSetEvent" ) );
 | |
|       vkResetEvent          = PFN_vkResetEvent( vkGetInstanceProcAddr( instance, "vkResetEvent" ) );
 | |
|       vkCreateQueryPool     = PFN_vkCreateQueryPool( vkGetInstanceProcAddr( instance, "vkCreateQueryPool" ) );
 | |
|       vkDestroyQueryPool    = PFN_vkDestroyQueryPool( vkGetInstanceProcAddr( instance, "vkDestroyQueryPool" ) );
 | |
|       vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetInstanceProcAddr( instance, "vkGetQueryPoolResults" ) );
 | |
|       vkCreateBuffer        = PFN_vkCreateBuffer( vkGetInstanceProcAddr( instance, "vkCreateBuffer" ) );
 | |
|       vkDestroyBuffer       = PFN_vkDestroyBuffer( vkGetInstanceProcAddr( instance, "vkDestroyBuffer" ) );
 | |
|       vkCreateBufferView    = PFN_vkCreateBufferView( vkGetInstanceProcAddr( instance, "vkCreateBufferView" ) );
 | |
|       vkDestroyBufferView   = PFN_vkDestroyBufferView( vkGetInstanceProcAddr( instance, "vkDestroyBufferView" ) );
 | |
|       vkCreateImage         = PFN_vkCreateImage( vkGetInstanceProcAddr( instance, "vkCreateImage" ) );
 | |
|       vkDestroyImage        = PFN_vkDestroyImage( vkGetInstanceProcAddr( instance, "vkDestroyImage" ) );
 | |
|       vkGetImageSubresourceLayout =
 | |
|         PFN_vkGetImageSubresourceLayout( vkGetInstanceProcAddr( instance, "vkGetImageSubresourceLayout" ) );
 | |
|       vkCreateImageView     = PFN_vkCreateImageView( vkGetInstanceProcAddr( instance, "vkCreateImageView" ) );
 | |
|       vkDestroyImageView    = PFN_vkDestroyImageView( vkGetInstanceProcAddr( instance, "vkDestroyImageView" ) );
 | |
|       vkCreateShaderModule  = PFN_vkCreateShaderModule( vkGetInstanceProcAddr( instance, "vkCreateShaderModule" ) );
 | |
|       vkDestroyShaderModule = PFN_vkDestroyShaderModule( vkGetInstanceProcAddr( instance, "vkDestroyShaderModule" ) );
 | |
|       vkCreatePipelineCache = PFN_vkCreatePipelineCache( vkGetInstanceProcAddr( instance, "vkCreatePipelineCache" ) );
 | |
|       vkDestroyPipelineCache =
 | |
|         PFN_vkDestroyPipelineCache( vkGetInstanceProcAddr( instance, "vkDestroyPipelineCache" ) );
 | |
|       vkGetPipelineCacheData =
 | |
|         PFN_vkGetPipelineCacheData( vkGetInstanceProcAddr( instance, "vkGetPipelineCacheData" ) );
 | |
|       vkMergePipelineCaches = PFN_vkMergePipelineCaches( vkGetInstanceProcAddr( instance, "vkMergePipelineCaches" ) );
 | |
|       vkCreateGraphicsPipelines =
 | |
|         PFN_vkCreateGraphicsPipelines( vkGetInstanceProcAddr( instance, "vkCreateGraphicsPipelines" ) );
 | |
|       vkCreateComputePipelines =
 | |
|         PFN_vkCreateComputePipelines( vkGetInstanceProcAddr( instance, "vkCreateComputePipelines" ) );
 | |
|       vkDestroyPipeline = PFN_vkDestroyPipeline( vkGetInstanceProcAddr( instance, "vkDestroyPipeline" ) );
 | |
|       vkCreatePipelineLayout =
 | |
|         PFN_vkCreatePipelineLayout( vkGetInstanceProcAddr( instance, "vkCreatePipelineLayout" ) );
 | |
|       vkDestroyPipelineLayout =
 | |
|         PFN_vkDestroyPipelineLayout( vkGetInstanceProcAddr( instance, "vkDestroyPipelineLayout" ) );
 | |
|       vkCreateSampler  = PFN_vkCreateSampler( vkGetInstanceProcAddr( instance, "vkCreateSampler" ) );
 | |
|       vkDestroySampler = PFN_vkDestroySampler( vkGetInstanceProcAddr( instance, "vkDestroySampler" ) );
 | |
|       vkCreateDescriptorSetLayout =
 | |
|         PFN_vkCreateDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkCreateDescriptorSetLayout" ) );
 | |
|       vkDestroyDescriptorSetLayout =
 | |
|         PFN_vkDestroyDescriptorSetLayout( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorSetLayout" ) );
 | |
|       vkCreateDescriptorPool =
 | |
|         PFN_vkCreateDescriptorPool( vkGetInstanceProcAddr( instance, "vkCreateDescriptorPool" ) );
 | |
|       vkDestroyDescriptorPool =
 | |
|         PFN_vkDestroyDescriptorPool( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorPool" ) );
 | |
|       vkResetDescriptorPool = PFN_vkResetDescriptorPool( vkGetInstanceProcAddr( instance, "vkResetDescriptorPool" ) );
 | |
|       vkAllocateDescriptorSets =
 | |
|         PFN_vkAllocateDescriptorSets( vkGetInstanceProcAddr( instance, "vkAllocateDescriptorSets" ) );
 | |
|       vkFreeDescriptorSets = PFN_vkFreeDescriptorSets( vkGetInstanceProcAddr( instance, "vkFreeDescriptorSets" ) );
 | |
|       vkUpdateDescriptorSets =
 | |
|         PFN_vkUpdateDescriptorSets( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSets" ) );
 | |
|       vkCreateFramebuffer  = PFN_vkCreateFramebuffer( vkGetInstanceProcAddr( instance, "vkCreateFramebuffer" ) );
 | |
|       vkDestroyFramebuffer = PFN_vkDestroyFramebuffer( vkGetInstanceProcAddr( instance, "vkDestroyFramebuffer" ) );
 | |
|       vkCreateRenderPass   = PFN_vkCreateRenderPass( vkGetInstanceProcAddr( instance, "vkCreateRenderPass" ) );
 | |
|       vkDestroyRenderPass  = PFN_vkDestroyRenderPass( vkGetInstanceProcAddr( instance, "vkDestroyRenderPass" ) );
 | |
|       vkGetRenderAreaGranularity =
 | |
|         PFN_vkGetRenderAreaGranularity( vkGetInstanceProcAddr( instance, "vkGetRenderAreaGranularity" ) );
 | |
|       vkCreateCommandPool  = PFN_vkCreateCommandPool( vkGetInstanceProcAddr( instance, "vkCreateCommandPool" ) );
 | |
|       vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetInstanceProcAddr( instance, "vkDestroyCommandPool" ) );
 | |
|       vkResetCommandPool   = PFN_vkResetCommandPool( vkGetInstanceProcAddr( instance, "vkResetCommandPool" ) );
 | |
|       vkAllocateCommandBuffers =
 | |
|         PFN_vkAllocateCommandBuffers( vkGetInstanceProcAddr( instance, "vkAllocateCommandBuffers" ) );
 | |
|       vkFreeCommandBuffers = PFN_vkFreeCommandBuffers( vkGetInstanceProcAddr( instance, "vkFreeCommandBuffers" ) );
 | |
|       vkBeginCommandBuffer = PFN_vkBeginCommandBuffer( vkGetInstanceProcAddr( instance, "vkBeginCommandBuffer" ) );
 | |
|       vkEndCommandBuffer   = PFN_vkEndCommandBuffer( vkGetInstanceProcAddr( instance, "vkEndCommandBuffer" ) );
 | |
|       vkResetCommandBuffer = PFN_vkResetCommandBuffer( vkGetInstanceProcAddr( instance, "vkResetCommandBuffer" ) );
 | |
|       vkCmdBindPipeline    = PFN_vkCmdBindPipeline( vkGetInstanceProcAddr( instance, "vkCmdBindPipeline" ) );
 | |
|       vkCmdSetViewport     = PFN_vkCmdSetViewport( vkGetInstanceProcAddr( instance, "vkCmdSetViewport" ) );
 | |
|       vkCmdSetScissor      = PFN_vkCmdSetScissor( vkGetInstanceProcAddr( instance, "vkCmdSetScissor" ) );
 | |
|       vkCmdSetLineWidth    = PFN_vkCmdSetLineWidth( vkGetInstanceProcAddr( instance, "vkCmdSetLineWidth" ) );
 | |
|       vkCmdSetDepthBias    = PFN_vkCmdSetDepthBias( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBias" ) );
 | |
|       vkCmdSetBlendConstants =
 | |
|         PFN_vkCmdSetBlendConstants( vkGetInstanceProcAddr( instance, "vkCmdSetBlendConstants" ) );
 | |
|       vkCmdSetDepthBounds = PFN_vkCmdSetDepthBounds( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBounds" ) );
 | |
|       vkCmdSetStencilCompareMask =
 | |
|         PFN_vkCmdSetStencilCompareMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilCompareMask" ) );
 | |
|       vkCmdSetStencilWriteMask =
 | |
|         PFN_vkCmdSetStencilWriteMask( vkGetInstanceProcAddr( instance, "vkCmdSetStencilWriteMask" ) );
 | |
|       vkCmdSetStencilReference =
 | |
|         PFN_vkCmdSetStencilReference( vkGetInstanceProcAddr( instance, "vkCmdSetStencilReference" ) );
 | |
|       vkCmdBindDescriptorSets =
 | |
|         PFN_vkCmdBindDescriptorSets( vkGetInstanceProcAddr( instance, "vkCmdBindDescriptorSets" ) );
 | |
|       vkCmdBindIndexBuffer = PFN_vkCmdBindIndexBuffer( vkGetInstanceProcAddr( instance, "vkCmdBindIndexBuffer" ) );
 | |
|       vkCmdBindVertexBuffers =
 | |
|         PFN_vkCmdBindVertexBuffers( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers" ) );
 | |
|       vkCmdDraw         = PFN_vkCmdDraw( vkGetInstanceProcAddr( instance, "vkCmdDraw" ) );
 | |
|       vkCmdDrawIndexed  = PFN_vkCmdDrawIndexed( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexed" ) );
 | |
|       vkCmdDrawIndirect = PFN_vkCmdDrawIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirect" ) );
 | |
|       vkCmdDrawIndexedIndirect =
 | |
|         PFN_vkCmdDrawIndexedIndirect( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirect" ) );
 | |
|       vkCmdDispatch         = PFN_vkCmdDispatch( vkGetInstanceProcAddr( instance, "vkCmdDispatch" ) );
 | |
|       vkCmdDispatchIndirect = PFN_vkCmdDispatchIndirect( vkGetInstanceProcAddr( instance, "vkCmdDispatchIndirect" ) );
 | |
|       vkCmdCopyBuffer       = PFN_vkCmdCopyBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer" ) );
 | |
|       vkCmdCopyImage        = PFN_vkCmdCopyImage( vkGetInstanceProcAddr( instance, "vkCmdCopyImage" ) );
 | |
|       vkCmdBlitImage        = PFN_vkCmdBlitImage( vkGetInstanceProcAddr( instance, "vkCmdBlitImage" ) );
 | |
|       vkCmdCopyBufferToImage =
 | |
|         PFN_vkCmdCopyBufferToImage( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage" ) );
 | |
|       vkCmdCopyImageToBuffer =
 | |
|         PFN_vkCmdCopyImageToBuffer( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer" ) );
 | |
|       vkCmdUpdateBuffer    = PFN_vkCmdUpdateBuffer( vkGetInstanceProcAddr( instance, "vkCmdUpdateBuffer" ) );
 | |
|       vkCmdFillBuffer      = PFN_vkCmdFillBuffer( vkGetInstanceProcAddr( instance, "vkCmdFillBuffer" ) );
 | |
|       vkCmdClearColorImage = PFN_vkCmdClearColorImage( vkGetInstanceProcAddr( instance, "vkCmdClearColorImage" ) );
 | |
|       vkCmdClearDepthStencilImage =
 | |
|         PFN_vkCmdClearDepthStencilImage( vkGetInstanceProcAddr( instance, "vkCmdClearDepthStencilImage" ) );
 | |
|       vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetInstanceProcAddr( instance, "vkCmdClearAttachments" ) );
 | |
|       vkCmdResolveImage     = PFN_vkCmdResolveImage( vkGetInstanceProcAddr( instance, "vkCmdResolveImage" ) );
 | |
|       vkCmdSetEvent         = PFN_vkCmdSetEvent( vkGetInstanceProcAddr( instance, "vkCmdSetEvent" ) );
 | |
|       vkCmdResetEvent       = PFN_vkCmdResetEvent( vkGetInstanceProcAddr( instance, "vkCmdResetEvent" ) );
 | |
|       vkCmdWaitEvents       = PFN_vkCmdWaitEvents( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents" ) );
 | |
|       vkCmdPipelineBarrier  = PFN_vkCmdPipelineBarrier( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier" ) );
 | |
|       vkCmdBeginQuery       = PFN_vkCmdBeginQuery( vkGetInstanceProcAddr( instance, "vkCmdBeginQuery" ) );
 | |
|       vkCmdEndQuery         = PFN_vkCmdEndQuery( vkGetInstanceProcAddr( instance, "vkCmdEndQuery" ) );
 | |
|       vkCmdResetQueryPool   = PFN_vkCmdResetQueryPool( vkGetInstanceProcAddr( instance, "vkCmdResetQueryPool" ) );
 | |
|       vkCmdWriteTimestamp   = PFN_vkCmdWriteTimestamp( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp" ) );
 | |
|       vkCmdCopyQueryPoolResults =
 | |
|         PFN_vkCmdCopyQueryPoolResults( vkGetInstanceProcAddr( instance, "vkCmdCopyQueryPoolResults" ) );
 | |
|       vkCmdPushConstants   = PFN_vkCmdPushConstants( vkGetInstanceProcAddr( instance, "vkCmdPushConstants" ) );
 | |
|       vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass" ) );
 | |
|       vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass" ) );
 | |
|       vkCmdEndRenderPass   = PFN_vkCmdEndRenderPass( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass" ) );
 | |
|       vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetInstanceProcAddr( instance, "vkCmdExecuteCommands" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_1 ===
 | |
|       vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2" ) );
 | |
|       vkBindImageMemory2  = PFN_vkBindImageMemory2( vkGetInstanceProcAddr( instance, "vkBindImageMemory2" ) );
 | |
|       vkGetDeviceGroupPeerMemoryFeatures = PFN_vkGetDeviceGroupPeerMemoryFeatures(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeatures" ) );
 | |
|       vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMask" ) );
 | |
|       vkCmdDispatchBase  = PFN_vkCmdDispatchBase( vkGetInstanceProcAddr( instance, "vkCmdDispatchBase" ) );
 | |
|       vkEnumeratePhysicalDeviceGroups =
 | |
|         PFN_vkEnumeratePhysicalDeviceGroups( vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroups" ) );
 | |
|       vkGetImageMemoryRequirements2 =
 | |
|         PFN_vkGetImageMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2" ) );
 | |
|       vkGetBufferMemoryRequirements2 =
 | |
|         PFN_vkGetBufferMemoryRequirements2( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2" ) );
 | |
|       vkGetImageSparseMemoryRequirements2 = PFN_vkGetImageSparseMemoryRequirements2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2" ) );
 | |
|       vkGetPhysicalDeviceFeatures2 =
 | |
|         PFN_vkGetPhysicalDeviceFeatures2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2" ) );
 | |
|       vkGetPhysicalDeviceProperties2 =
 | |
|         PFN_vkGetPhysicalDeviceProperties2( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2" ) );
 | |
|       vkGetPhysicalDeviceFormatProperties2 = PFN_vkGetPhysicalDeviceFormatProperties2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2" ) );
 | |
|       vkGetPhysicalDeviceImageFormatProperties2 = PFN_vkGetPhysicalDeviceImageFormatProperties2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2" ) );
 | |
|       vkGetPhysicalDeviceQueueFamilyProperties2 = PFN_vkGetPhysicalDeviceQueueFamilyProperties2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2" ) );
 | |
|       vkGetPhysicalDeviceMemoryProperties2 = PFN_vkGetPhysicalDeviceMemoryProperties2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2" ) );
 | |
|       vkGetPhysicalDeviceSparseImageFormatProperties2 = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2" ) );
 | |
|       vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetInstanceProcAddr( instance, "vkTrimCommandPool" ) );
 | |
|       vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetInstanceProcAddr( instance, "vkGetDeviceQueue2" ) );
 | |
|       vkCreateSamplerYcbcrConversion =
 | |
|         PFN_vkCreateSamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversion" ) );
 | |
|       vkDestroySamplerYcbcrConversion =
 | |
|         PFN_vkDestroySamplerYcbcrConversion( vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversion" ) );
 | |
|       vkCreateDescriptorUpdateTemplate =
 | |
|         PFN_vkCreateDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplate" ) );
 | |
|       vkDestroyDescriptorUpdateTemplate =
 | |
|         PFN_vkDestroyDescriptorUpdateTemplate( vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplate" ) );
 | |
|       vkUpdateDescriptorSetWithTemplate =
 | |
|         PFN_vkUpdateDescriptorSetWithTemplate( vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplate" ) );
 | |
|       vkGetPhysicalDeviceExternalBufferProperties = PFN_vkGetPhysicalDeviceExternalBufferProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferProperties" ) );
 | |
|       vkGetPhysicalDeviceExternalFenceProperties = PFN_vkGetPhysicalDeviceExternalFenceProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFenceProperties" ) );
 | |
|       vkGetPhysicalDeviceExternalSemaphoreProperties = PFN_vkGetPhysicalDeviceExternalSemaphoreProperties(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphoreProperties" ) );
 | |
|       vkGetDescriptorSetLayoutSupport =
 | |
|         PFN_vkGetDescriptorSetLayoutSupport( vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupport" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_2 ===
 | |
|       vkCmdDrawIndirectCount =
 | |
|         PFN_vkCmdDrawIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCount" ) );
 | |
|       vkCmdDrawIndexedIndirectCount =
 | |
|         PFN_vkCmdDrawIndexedIndirectCount( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCount" ) );
 | |
|       vkCreateRenderPass2   = PFN_vkCreateRenderPass2( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2" ) );
 | |
|       vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2" ) );
 | |
|       vkCmdNextSubpass2     = PFN_vkCmdNextSubpass2( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2" ) );
 | |
|       vkCmdEndRenderPass2   = PFN_vkCmdEndRenderPass2( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2" ) );
 | |
|       vkResetQueryPool      = PFN_vkResetQueryPool( vkGetInstanceProcAddr( instance, "vkResetQueryPool" ) );
 | |
|       vkGetSemaphoreCounterValue =
 | |
|         PFN_vkGetSemaphoreCounterValue( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValue" ) );
 | |
|       vkWaitSemaphores  = PFN_vkWaitSemaphores( vkGetInstanceProcAddr( instance, "vkWaitSemaphores" ) );
 | |
|       vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetInstanceProcAddr( instance, "vkSignalSemaphore" ) );
 | |
|       vkGetBufferDeviceAddress =
 | |
|         PFN_vkGetBufferDeviceAddress( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddress" ) );
 | |
|       vkGetBufferOpaqueCaptureAddress =
 | |
|         PFN_vkGetBufferOpaqueCaptureAddress( vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddress" ) );
 | |
|       vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_3 ===
 | |
|       vkGetPhysicalDeviceToolProperties =
 | |
|         PFN_vkGetPhysicalDeviceToolProperties( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolProperties" ) );
 | |
|       vkCreatePrivateDataSlot =
 | |
|         PFN_vkCreatePrivateDataSlot( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlot" ) );
 | |
|       vkDestroyPrivateDataSlot =
 | |
|         PFN_vkDestroyPrivateDataSlot( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlot" ) );
 | |
|       vkSetPrivateData      = PFN_vkSetPrivateData( vkGetInstanceProcAddr( instance, "vkSetPrivateData" ) );
 | |
|       vkGetPrivateData      = PFN_vkGetPrivateData( vkGetInstanceProcAddr( instance, "vkGetPrivateData" ) );
 | |
|       vkCmdSetEvent2        = PFN_vkCmdSetEvent2( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2" ) );
 | |
|       vkCmdResetEvent2      = PFN_vkCmdResetEvent2( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2" ) );
 | |
|       vkCmdWaitEvents2      = PFN_vkCmdWaitEvents2( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2" ) );
 | |
|       vkCmdPipelineBarrier2 = PFN_vkCmdPipelineBarrier2( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2" ) );
 | |
|       vkCmdWriteTimestamp2  = PFN_vkCmdWriteTimestamp2( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2" ) );
 | |
|       vkQueueSubmit2        = PFN_vkQueueSubmit2( vkGetInstanceProcAddr( instance, "vkQueueSubmit2" ) );
 | |
|       vkCmdCopyBuffer2      = PFN_vkCmdCopyBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2" ) );
 | |
|       vkCmdCopyImage2       = PFN_vkCmdCopyImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2" ) );
 | |
|       vkCmdCopyBufferToImage2 =
 | |
|         PFN_vkCmdCopyBufferToImage2( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2" ) );
 | |
|       vkCmdCopyImageToBuffer2 =
 | |
|         PFN_vkCmdCopyImageToBuffer2( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2" ) );
 | |
|       vkCmdBlitImage2     = PFN_vkCmdBlitImage2( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2" ) );
 | |
|       vkCmdResolveImage2  = PFN_vkCmdResolveImage2( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2" ) );
 | |
|       vkCmdBeginRendering = PFN_vkCmdBeginRendering( vkGetInstanceProcAddr( instance, "vkCmdBeginRendering" ) );
 | |
|       vkCmdEndRendering   = PFN_vkCmdEndRendering( vkGetInstanceProcAddr( instance, "vkCmdEndRendering" ) );
 | |
|       vkCmdSetCullMode    = PFN_vkCmdSetCullMode( vkGetInstanceProcAddr( instance, "vkCmdSetCullMode" ) );
 | |
|       vkCmdSetFrontFace   = PFN_vkCmdSetFrontFace( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFace" ) );
 | |
|       vkCmdSetPrimitiveTopology =
 | |
|         PFN_vkCmdSetPrimitiveTopology( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopology" ) );
 | |
|       vkCmdSetViewportWithCount =
 | |
|         PFN_vkCmdSetViewportWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCount" ) );
 | |
|       vkCmdSetScissorWithCount =
 | |
|         PFN_vkCmdSetScissorWithCount( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCount" ) );
 | |
|       vkCmdBindVertexBuffers2 =
 | |
|         PFN_vkCmdBindVertexBuffers2( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2" ) );
 | |
|       vkCmdSetDepthTestEnable =
 | |
|         PFN_vkCmdSetDepthTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnable" ) );
 | |
|       vkCmdSetDepthWriteEnable =
 | |
|         PFN_vkCmdSetDepthWriteEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnable" ) );
 | |
|       vkCmdSetDepthCompareOp =
 | |
|         PFN_vkCmdSetDepthCompareOp( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOp" ) );
 | |
|       vkCmdSetDepthBoundsTestEnable =
 | |
|         PFN_vkCmdSetDepthBoundsTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnable" ) );
 | |
|       vkCmdSetStencilTestEnable =
 | |
|         PFN_vkCmdSetStencilTestEnable( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnable" ) );
 | |
|       vkCmdSetStencilOp = PFN_vkCmdSetStencilOp( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOp" ) );
 | |
|       vkCmdSetRasterizerDiscardEnable =
 | |
|         PFN_vkCmdSetRasterizerDiscardEnable( vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnable" ) );
 | |
|       vkCmdSetDepthBiasEnable =
 | |
|         PFN_vkCmdSetDepthBiasEnable( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnable" ) );
 | |
|       vkCmdSetPrimitiveRestartEnable =
 | |
|         PFN_vkCmdSetPrimitiveRestartEnable( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnable" ) );
 | |
|       vkGetDeviceBufferMemoryRequirements = PFN_vkGetDeviceBufferMemoryRequirements(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirements" ) );
 | |
|       vkGetDeviceImageMemoryRequirements = PFN_vkGetDeviceImageMemoryRequirements(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirements" ) );
 | |
|       vkGetDeviceImageSparseMemoryRequirements = PFN_vkGetDeviceImageSparseMemoryRequirements(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirements" ) );
 | |
| 
 | |
|       //=== VK_KHR_surface ===
 | |
|       vkDestroySurfaceKHR = PFN_vkDestroySurfaceKHR( vkGetInstanceProcAddr( instance, "vkDestroySurfaceKHR" ) );
 | |
|       vkGetPhysicalDeviceSurfaceSupportKHR = PFN_vkGetPhysicalDeviceSurfaceSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceSupportKHR" ) );
 | |
|       vkGetPhysicalDeviceSurfaceCapabilitiesKHR = PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR" ) );
 | |
|       vkGetPhysicalDeviceSurfaceFormatsKHR = PFN_vkGetPhysicalDeviceSurfaceFormatsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormatsKHR" ) );
 | |
|       vkGetPhysicalDeviceSurfacePresentModesKHR = PFN_vkGetPhysicalDeviceSurfacePresentModesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModesKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_swapchain ===
 | |
|       vkCreateSwapchainKHR  = PFN_vkCreateSwapchainKHR( vkGetInstanceProcAddr( instance, "vkCreateSwapchainKHR" ) );
 | |
|       vkDestroySwapchainKHR = PFN_vkDestroySwapchainKHR( vkGetInstanceProcAddr( instance, "vkDestroySwapchainKHR" ) );
 | |
|       vkGetSwapchainImagesKHR =
 | |
|         PFN_vkGetSwapchainImagesKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainImagesKHR" ) );
 | |
|       vkAcquireNextImageKHR = PFN_vkAcquireNextImageKHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImageKHR" ) );
 | |
|       vkQueuePresentKHR     = PFN_vkQueuePresentKHR( vkGetInstanceProcAddr( instance, "vkQueuePresentKHR" ) );
 | |
|       vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
 | |
|       vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
 | |
|       vkGetPhysicalDevicePresentRectanglesKHR = PFN_vkGetPhysicalDevicePresentRectanglesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDevicePresentRectanglesKHR" ) );
 | |
|       vkAcquireNextImage2KHR =
 | |
|         PFN_vkAcquireNextImage2KHR( vkGetInstanceProcAddr( instance, "vkAcquireNextImage2KHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_display ===
 | |
|       vkGetPhysicalDeviceDisplayPropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPropertiesKHR" ) );
 | |
|       vkGetPhysicalDeviceDisplayPlanePropertiesKHR = PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR" ) );
 | |
|       vkGetDisplayPlaneSupportedDisplaysKHR = PFN_vkGetDisplayPlaneSupportedDisplaysKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneSupportedDisplaysKHR" ) );
 | |
|       vkGetDisplayModePropertiesKHR =
 | |
|         PFN_vkGetDisplayModePropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModePropertiesKHR" ) );
 | |
|       vkCreateDisplayModeKHR =
 | |
|         PFN_vkCreateDisplayModeKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayModeKHR" ) );
 | |
|       vkGetDisplayPlaneCapabilitiesKHR =
 | |
|         PFN_vkGetDisplayPlaneCapabilitiesKHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilitiesKHR" ) );
 | |
|       vkCreateDisplayPlaneSurfaceKHR =
 | |
|         PFN_vkCreateDisplayPlaneSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateDisplayPlaneSurfaceKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_display_swapchain ===
 | |
|       vkCreateSharedSwapchainsKHR =
 | |
|         PFN_vkCreateSharedSwapchainsKHR( vkGetInstanceProcAddr( instance, "vkCreateSharedSwapchainsKHR" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XLIB_KHR )
 | |
|       //=== VK_KHR_xlib_surface ===
 | |
|       vkCreateXlibSurfaceKHR =
 | |
|         PFN_vkCreateXlibSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXlibSurfaceKHR" ) );
 | |
|       vkGetPhysicalDeviceXlibPresentationSupportKHR = PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXlibPresentationSupportKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_XLIB_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XCB_KHR )
 | |
|       //=== VK_KHR_xcb_surface ===
 | |
|       vkCreateXcbSurfaceKHR = PFN_vkCreateXcbSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateXcbSurfaceKHR" ) );
 | |
|       vkGetPhysicalDeviceXcbPresentationSupportKHR = PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_XCB_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WAYLAND_KHR )
 | |
|       //=== VK_KHR_wayland_surface ===
 | |
|       vkCreateWaylandSurfaceKHR =
 | |
|         PFN_vkCreateWaylandSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWaylandSurfaceKHR" ) );
 | |
|       vkGetPhysicalDeviceWaylandPresentationSupportKHR = PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWaylandPresentationSupportKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WAYLAND_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|       //=== VK_KHR_android_surface ===
 | |
|       vkCreateAndroidSurfaceKHR =
 | |
|         PFN_vkCreateAndroidSurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateAndroidSurfaceKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_win32_surface ===
 | |
|       vkCreateWin32SurfaceKHR =
 | |
|         PFN_vkCreateWin32SurfaceKHR( vkGetInstanceProcAddr( instance, "vkCreateWin32SurfaceKHR" ) );
 | |
|       vkGetPhysicalDeviceWin32PresentationSupportKHR = PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_EXT_debug_report ===
 | |
|       vkCreateDebugReportCallbackEXT =
 | |
|         PFN_vkCreateDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugReportCallbackEXT" ) );
 | |
|       vkDestroyDebugReportCallbackEXT =
 | |
|         PFN_vkDestroyDebugReportCallbackEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugReportCallbackEXT" ) );
 | |
|       vkDebugReportMessageEXT =
 | |
|         PFN_vkDebugReportMessageEXT( vkGetInstanceProcAddr( instance, "vkDebugReportMessageEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_debug_marker ===
 | |
|       vkDebugMarkerSetObjectTagEXT =
 | |
|         PFN_vkDebugMarkerSetObjectTagEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectTagEXT" ) );
 | |
|       vkDebugMarkerSetObjectNameEXT =
 | |
|         PFN_vkDebugMarkerSetObjectNameEXT( vkGetInstanceProcAddr( instance, "vkDebugMarkerSetObjectNameEXT" ) );
 | |
|       vkCmdDebugMarkerBeginEXT =
 | |
|         PFN_vkCmdDebugMarkerBeginEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerBeginEXT" ) );
 | |
|       vkCmdDebugMarkerEndEXT =
 | |
|         PFN_vkCmdDebugMarkerEndEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerEndEXT" ) );
 | |
|       vkCmdDebugMarkerInsertEXT =
 | |
|         PFN_vkCmdDebugMarkerInsertEXT( vkGetInstanceProcAddr( instance, "vkCmdDebugMarkerInsertEXT" ) );
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_queue ===
 | |
|       vkGetPhysicalDeviceVideoCapabilitiesKHR = PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoCapabilitiesKHR" ) );
 | |
|       vkGetPhysicalDeviceVideoFormatPropertiesKHR = PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceVideoFormatPropertiesKHR" ) );
 | |
|       vkCreateVideoSessionKHR =
 | |
|         PFN_vkCreateVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionKHR" ) );
 | |
|       vkDestroyVideoSessionKHR =
 | |
|         PFN_vkDestroyVideoSessionKHR( vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionKHR" ) );
 | |
|       vkGetVideoSessionMemoryRequirementsKHR = PFN_vkGetVideoSessionMemoryRequirementsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetVideoSessionMemoryRequirementsKHR" ) );
 | |
|       vkBindVideoSessionMemoryKHR =
 | |
|         PFN_vkBindVideoSessionMemoryKHR( vkGetInstanceProcAddr( instance, "vkBindVideoSessionMemoryKHR" ) );
 | |
|       vkCreateVideoSessionParametersKHR =
 | |
|         PFN_vkCreateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkCreateVideoSessionParametersKHR" ) );
 | |
|       vkUpdateVideoSessionParametersKHR =
 | |
|         PFN_vkUpdateVideoSessionParametersKHR( vkGetInstanceProcAddr( instance, "vkUpdateVideoSessionParametersKHR" ) );
 | |
|       vkDestroyVideoSessionParametersKHR = PFN_vkDestroyVideoSessionParametersKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkDestroyVideoSessionParametersKHR" ) );
 | |
|       vkCmdBeginVideoCodingKHR =
 | |
|         PFN_vkCmdBeginVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginVideoCodingKHR" ) );
 | |
|       vkCmdEndVideoCodingKHR =
 | |
|         PFN_vkCmdEndVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndVideoCodingKHR" ) );
 | |
|       vkCmdControlVideoCodingKHR =
 | |
|         PFN_vkCmdControlVideoCodingKHR( vkGetInstanceProcAddr( instance, "vkCmdControlVideoCodingKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_decode_queue ===
 | |
|       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdDecodeVideoKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|       //=== VK_EXT_transform_feedback ===
 | |
|       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdBindTransformFeedbackBuffersEXT" ) );
 | |
|       vkCmdBeginTransformFeedbackEXT =
 | |
|         PFN_vkCmdBeginTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginTransformFeedbackEXT" ) );
 | |
|       vkCmdEndTransformFeedbackEXT =
 | |
|         PFN_vkCmdEndTransformFeedbackEXT( vkGetInstanceProcAddr( instance, "vkCmdEndTransformFeedbackEXT" ) );
 | |
|       vkCmdBeginQueryIndexedEXT =
 | |
|         PFN_vkCmdBeginQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginQueryIndexedEXT" ) );
 | |
|       vkCmdEndQueryIndexedEXT =
 | |
|         PFN_vkCmdEndQueryIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdEndQueryIndexedEXT" ) );
 | |
|       vkCmdDrawIndirectByteCountEXT =
 | |
|         PFN_vkCmdDrawIndirectByteCountEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectByteCountEXT" ) );
 | |
| 
 | |
|       //=== VK_NVX_binary_import ===
 | |
|       vkCreateCuModuleNVX   = PFN_vkCreateCuModuleNVX( vkGetInstanceProcAddr( instance, "vkCreateCuModuleNVX" ) );
 | |
|       vkCreateCuFunctionNVX = PFN_vkCreateCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkCreateCuFunctionNVX" ) );
 | |
|       vkDestroyCuModuleNVX  = PFN_vkDestroyCuModuleNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuModuleNVX" ) );
 | |
|       vkDestroyCuFunctionNVX =
 | |
|         PFN_vkDestroyCuFunctionNVX( vkGetInstanceProcAddr( instance, "vkDestroyCuFunctionNVX" ) );
 | |
|       vkCmdCuLaunchKernelNVX =
 | |
|         PFN_vkCmdCuLaunchKernelNVX( vkGetInstanceProcAddr( instance, "vkCmdCuLaunchKernelNVX" ) );
 | |
| 
 | |
|       //=== VK_NVX_image_view_handle ===
 | |
|       vkGetImageViewHandleNVX =
 | |
|         PFN_vkGetImageViewHandleNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewHandleNVX" ) );
 | |
|       vkGetImageViewAddressNVX =
 | |
|         PFN_vkGetImageViewAddressNVX( vkGetInstanceProcAddr( instance, "vkGetImageViewAddressNVX" ) );
 | |
| 
 | |
|       //=== VK_AMD_draw_indirect_count ===
 | |
|       vkCmdDrawIndirectCountAMD =
 | |
|         PFN_vkCmdDrawIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountAMD" ) );
 | |
|       if ( !vkCmdDrawIndirectCount )
 | |
|         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
 | |
|       vkCmdDrawIndexedIndirectCountAMD =
 | |
|         PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountAMD" ) );
 | |
|       if ( !vkCmdDrawIndexedIndirectCount )
 | |
|         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
 | |
| 
 | |
|       //=== VK_AMD_shader_info ===
 | |
|       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetInstanceProcAddr( instance, "vkGetShaderInfoAMD" ) );
 | |
| 
 | |
|       //=== VK_KHR_dynamic_rendering ===
 | |
|       vkCmdBeginRenderingKHR =
 | |
|         PFN_vkCmdBeginRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderingKHR" ) );
 | |
|       if ( !vkCmdBeginRendering )
 | |
|         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
 | |
|       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderingKHR" ) );
 | |
|       if ( !vkCmdEndRendering )
 | |
|         vkCmdEndRendering = vkCmdEndRenderingKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_GGP )
 | |
|       //=== VK_GGP_stream_descriptor_surface ===
 | |
|       vkCreateStreamDescriptorSurfaceGGP = PFN_vkCreateStreamDescriptorSurfaceGGP(
 | |
|         vkGetInstanceProcAddr( instance, "vkCreateStreamDescriptorSurfaceGGP" ) );
 | |
| #endif /*VK_USE_PLATFORM_GGP*/
 | |
| 
 | |
|       //=== VK_NV_external_memory_capabilities ===
 | |
|       vkGetPhysicalDeviceExternalImageFormatPropertiesNV = PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_NV_external_memory_win32 ===
 | |
|       vkGetMemoryWin32HandleNV =
 | |
|         PFN_vkGetMemoryWin32HandleNV( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleNV" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_get_physical_device_properties2 ===
 | |
|       vkGetPhysicalDeviceFeatures2KHR =
 | |
|         PFN_vkGetPhysicalDeviceFeatures2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFeatures2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceFeatures2 )
 | |
|         vkGetPhysicalDeviceFeatures2 = vkGetPhysicalDeviceFeatures2KHR;
 | |
|       vkGetPhysicalDeviceProperties2KHR =
 | |
|         PFN_vkGetPhysicalDeviceProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceProperties2 )
 | |
|         vkGetPhysicalDeviceProperties2 = vkGetPhysicalDeviceProperties2KHR;
 | |
|       vkGetPhysicalDeviceFormatProperties2KHR = PFN_vkGetPhysicalDeviceFormatProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFormatProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceFormatProperties2 )
 | |
|         vkGetPhysicalDeviceFormatProperties2 = vkGetPhysicalDeviceFormatProperties2KHR;
 | |
|       vkGetPhysicalDeviceImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceImageFormatProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceImageFormatProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceImageFormatProperties2 )
 | |
|         vkGetPhysicalDeviceImageFormatProperties2 = vkGetPhysicalDeviceImageFormatProperties2KHR;
 | |
|       vkGetPhysicalDeviceQueueFamilyProperties2KHR = PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceQueueFamilyProperties2 )
 | |
|         vkGetPhysicalDeviceQueueFamilyProperties2 = vkGetPhysicalDeviceQueueFamilyProperties2KHR;
 | |
|       vkGetPhysicalDeviceMemoryProperties2KHR = PFN_vkGetPhysicalDeviceMemoryProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMemoryProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceMemoryProperties2 )
 | |
|         vkGetPhysicalDeviceMemoryProperties2 = vkGetPhysicalDeviceMemoryProperties2KHR;
 | |
|       vkGetPhysicalDeviceSparseImageFormatProperties2KHR = PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceSparseImageFormatProperties2 )
 | |
|         vkGetPhysicalDeviceSparseImageFormatProperties2 = vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
 | |
| 
 | |
|       //=== VK_KHR_device_group ===
 | |
|       vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
 | |
|       if ( !vkGetDeviceGroupPeerMemoryFeatures )
 | |
|         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
 | |
|       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetInstanceProcAddr( instance, "vkCmdSetDeviceMaskKHR" ) );
 | |
|       if ( !vkCmdSetDeviceMask )
 | |
|         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
 | |
|       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetInstanceProcAddr( instance, "vkCmdDispatchBaseKHR" ) );
 | |
|       if ( !vkCmdDispatchBase )
 | |
|         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_VI_NN )
 | |
|       //=== VK_NN_vi_surface ===
 | |
|       vkCreateViSurfaceNN = PFN_vkCreateViSurfaceNN( vkGetInstanceProcAddr( instance, "vkCreateViSurfaceNN" ) );
 | |
| #endif /*VK_USE_PLATFORM_VI_NN*/
 | |
| 
 | |
|       //=== VK_KHR_maintenance1 ===
 | |
|       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetInstanceProcAddr( instance, "vkTrimCommandPoolKHR" ) );
 | |
|       if ( !vkTrimCommandPool )
 | |
|         vkTrimCommandPool = vkTrimCommandPoolKHR;
 | |
| 
 | |
|       //=== VK_KHR_device_group_creation ===
 | |
|       vkEnumeratePhysicalDeviceGroupsKHR = PFN_vkEnumeratePhysicalDeviceGroupsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceGroupsKHR" ) );
 | |
|       if ( !vkEnumeratePhysicalDeviceGroups )
 | |
|         vkEnumeratePhysicalDeviceGroups = vkEnumeratePhysicalDeviceGroupsKHR;
 | |
| 
 | |
|       //=== VK_KHR_external_memory_capabilities ===
 | |
|       vkGetPhysicalDeviceExternalBufferPropertiesKHR = PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceExternalBufferProperties )
 | |
|         vkGetPhysicalDeviceExternalBufferProperties = vkGetPhysicalDeviceExternalBufferPropertiesKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_memory_win32 ===
 | |
|       vkGetMemoryWin32HandleKHR =
 | |
|         PFN_vkGetMemoryWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandleKHR" ) );
 | |
|       vkGetMemoryWin32HandlePropertiesKHR = PFN_vkGetMemoryWin32HandlePropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetMemoryWin32HandlePropertiesKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_memory_fd ===
 | |
|       vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdKHR" ) );
 | |
|       vkGetMemoryFdPropertiesKHR =
 | |
|         PFN_vkGetMemoryFdPropertiesKHR( vkGetInstanceProcAddr( instance, "vkGetMemoryFdPropertiesKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_external_semaphore_capabilities ===
 | |
|       vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceExternalSemaphoreProperties )
 | |
|         vkGetPhysicalDeviceExternalSemaphoreProperties = vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_semaphore_win32 ===
 | |
|       vkImportSemaphoreWin32HandleKHR =
 | |
|         PFN_vkImportSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreWin32HandleKHR" ) );
 | |
|       vkGetSemaphoreWin32HandleKHR =
 | |
|         PFN_vkGetSemaphoreWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreWin32HandleKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_semaphore_fd ===
 | |
|       vkImportSemaphoreFdKHR =
 | |
|         PFN_vkImportSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkImportSemaphoreFdKHR" ) );
 | |
|       vkGetSemaphoreFdKHR = PFN_vkGetSemaphoreFdKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreFdKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_push_descriptor ===
 | |
|       vkCmdPushDescriptorSetKHR =
 | |
|         PFN_vkCmdPushDescriptorSetKHR( vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetKHR" ) );
 | |
|       vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_conditional_rendering ===
 | |
|       vkCmdBeginConditionalRenderingEXT =
 | |
|         PFN_vkCmdBeginConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginConditionalRenderingEXT" ) );
 | |
|       vkCmdEndConditionalRenderingEXT =
 | |
|         PFN_vkCmdEndConditionalRenderingEXT( vkGetInstanceProcAddr( instance, "vkCmdEndConditionalRenderingEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_descriptor_update_template ===
 | |
|       vkCreateDescriptorUpdateTemplateKHR = PFN_vkCreateDescriptorUpdateTemplateKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCreateDescriptorUpdateTemplateKHR" ) );
 | |
|       if ( !vkCreateDescriptorUpdateTemplate )
 | |
|         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
 | |
|       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkDestroyDescriptorUpdateTemplateKHR" ) );
 | |
|       if ( !vkDestroyDescriptorUpdateTemplate )
 | |
|         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
 | |
|       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkUpdateDescriptorSetWithTemplateKHR" ) );
 | |
|       if ( !vkUpdateDescriptorSetWithTemplate )
 | |
|         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
 | |
| 
 | |
|       //=== VK_NV_clip_space_w_scaling ===
 | |
|       vkCmdSetViewportWScalingNV =
 | |
|         PFN_vkCmdSetViewportWScalingNV( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWScalingNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_direct_mode_display ===
 | |
|       vkReleaseDisplayEXT = PFN_vkReleaseDisplayEXT( vkGetInstanceProcAddr( instance, "vkReleaseDisplayEXT" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_XLIB_XRANDR_EXT )
 | |
|       //=== VK_EXT_acquire_xlib_display ===
 | |
|       vkAcquireXlibDisplayEXT =
 | |
|         PFN_vkAcquireXlibDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireXlibDisplayEXT" ) );
 | |
|       vkGetRandROutputDisplayEXT =
 | |
|         PFN_vkGetRandROutputDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetRandROutputDisplayEXT" ) );
 | |
| #endif /*VK_USE_PLATFORM_XLIB_XRANDR_EXT*/
 | |
| 
 | |
|       //=== VK_EXT_display_surface_counter ===
 | |
|       vkGetPhysicalDeviceSurfaceCapabilities2EXT = PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2EXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_display_control ===
 | |
|       vkDisplayPowerControlEXT =
 | |
|         PFN_vkDisplayPowerControlEXT( vkGetInstanceProcAddr( instance, "vkDisplayPowerControlEXT" ) );
 | |
|       vkRegisterDeviceEventEXT =
 | |
|         PFN_vkRegisterDeviceEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDeviceEventEXT" ) );
 | |
|       vkRegisterDisplayEventEXT =
 | |
|         PFN_vkRegisterDisplayEventEXT( vkGetInstanceProcAddr( instance, "vkRegisterDisplayEventEXT" ) );
 | |
|       vkGetSwapchainCounterEXT =
 | |
|         PFN_vkGetSwapchainCounterEXT( vkGetInstanceProcAddr( instance, "vkGetSwapchainCounterEXT" ) );
 | |
| 
 | |
|       //=== VK_GOOGLE_display_timing ===
 | |
|       vkGetRefreshCycleDurationGOOGLE =
 | |
|         PFN_vkGetRefreshCycleDurationGOOGLE( vkGetInstanceProcAddr( instance, "vkGetRefreshCycleDurationGOOGLE" ) );
 | |
|       vkGetPastPresentationTimingGOOGLE =
 | |
|         PFN_vkGetPastPresentationTimingGOOGLE( vkGetInstanceProcAddr( instance, "vkGetPastPresentationTimingGOOGLE" ) );
 | |
| 
 | |
|       //=== VK_EXT_discard_rectangles ===
 | |
|       vkCmdSetDiscardRectangleEXT =
 | |
|         PFN_vkCmdSetDiscardRectangleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDiscardRectangleEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_hdr_metadata ===
 | |
|       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetInstanceProcAddr( instance, "vkSetHdrMetadataEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_create_renderpass2 ===
 | |
|       vkCreateRenderPass2KHR =
 | |
|         PFN_vkCreateRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCreateRenderPass2KHR" ) );
 | |
|       if ( !vkCreateRenderPass2 )
 | |
|         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
 | |
|       vkCmdBeginRenderPass2KHR =
 | |
|         PFN_vkCmdBeginRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdBeginRenderPass2KHR" ) );
 | |
|       if ( !vkCmdBeginRenderPass2 )
 | |
|         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
 | |
|       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetInstanceProcAddr( instance, "vkCmdNextSubpass2KHR" ) );
 | |
|       if ( !vkCmdNextSubpass2 )
 | |
|         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
 | |
|       vkCmdEndRenderPass2KHR =
 | |
|         PFN_vkCmdEndRenderPass2KHR( vkGetInstanceProcAddr( instance, "vkCmdEndRenderPass2KHR" ) );
 | |
|       if ( !vkCmdEndRenderPass2 )
 | |
|         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
 | |
| 
 | |
|       //=== VK_KHR_shared_presentable_image ===
 | |
|       vkGetSwapchainStatusKHR =
 | |
|         PFN_vkGetSwapchainStatusKHR( vkGetInstanceProcAddr( instance, "vkGetSwapchainStatusKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_external_fence_capabilities ===
 | |
|       vkGetPhysicalDeviceExternalFencePropertiesKHR = PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR" ) );
 | |
|       if ( !vkGetPhysicalDeviceExternalFenceProperties )
 | |
|         vkGetPhysicalDeviceExternalFenceProperties = vkGetPhysicalDeviceExternalFencePropertiesKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_fence_win32 ===
 | |
|       vkImportFenceWin32HandleKHR =
 | |
|         PFN_vkImportFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkImportFenceWin32HandleKHR" ) );
 | |
|       vkGetFenceWin32HandleKHR =
 | |
|         PFN_vkGetFenceWin32HandleKHR( vkGetInstanceProcAddr( instance, "vkGetFenceWin32HandleKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_fence_fd ===
 | |
|       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetInstanceProcAddr( instance, "vkImportFenceFdKHR" ) );
 | |
|       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetInstanceProcAddr( instance, "vkGetFenceFdKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_performance_query ===
 | |
|       vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR =
 | |
|         PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR(
 | |
|           vkGetInstanceProcAddr( instance, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR" ) );
 | |
|       vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR =
 | |
|         PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR(
 | |
|           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR" ) );
 | |
|       vkAcquireProfilingLockKHR =
 | |
|         PFN_vkAcquireProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkAcquireProfilingLockKHR" ) );
 | |
|       vkReleaseProfilingLockKHR =
 | |
|         PFN_vkReleaseProfilingLockKHR( vkGetInstanceProcAddr( instance, "vkReleaseProfilingLockKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_get_surface_capabilities2 ===
 | |
|       vkGetPhysicalDeviceSurfaceCapabilities2KHR = PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceCapabilities2KHR" ) );
 | |
|       vkGetPhysicalDeviceSurfaceFormats2KHR = PFN_vkGetPhysicalDeviceSurfaceFormats2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfaceFormats2KHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_get_display_properties2 ===
 | |
|       vkGetPhysicalDeviceDisplayProperties2KHR = PFN_vkGetPhysicalDeviceDisplayProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayProperties2KHR" ) );
 | |
|       vkGetPhysicalDeviceDisplayPlaneProperties2KHR = PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR" ) );
 | |
|       vkGetDisplayModeProperties2KHR =
 | |
|         PFN_vkGetDisplayModeProperties2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayModeProperties2KHR" ) );
 | |
|       vkGetDisplayPlaneCapabilities2KHR =
 | |
|         PFN_vkGetDisplayPlaneCapabilities2KHR( vkGetInstanceProcAddr( instance, "vkGetDisplayPlaneCapabilities2KHR" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_IOS_MVK )
 | |
|       //=== VK_MVK_ios_surface ===
 | |
|       vkCreateIOSSurfaceMVK = PFN_vkCreateIOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateIOSSurfaceMVK" ) );
 | |
| #endif /*VK_USE_PLATFORM_IOS_MVK*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_MACOS_MVK )
 | |
|       //=== VK_MVK_macos_surface ===
 | |
|       vkCreateMacOSSurfaceMVK =
 | |
|         PFN_vkCreateMacOSSurfaceMVK( vkGetInstanceProcAddr( instance, "vkCreateMacOSSurfaceMVK" ) );
 | |
| #endif /*VK_USE_PLATFORM_MACOS_MVK*/
 | |
| 
 | |
|       //=== VK_EXT_debug_utils ===
 | |
|       vkSetDebugUtilsObjectNameEXT =
 | |
|         PFN_vkSetDebugUtilsObjectNameEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectNameEXT" ) );
 | |
|       vkSetDebugUtilsObjectTagEXT =
 | |
|         PFN_vkSetDebugUtilsObjectTagEXT( vkGetInstanceProcAddr( instance, "vkSetDebugUtilsObjectTagEXT" ) );
 | |
|       vkQueueBeginDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueBeginDebugUtilsLabelEXT" ) );
 | |
|       vkQueueEndDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueEndDebugUtilsLabelEXT" ) );
 | |
|       vkQueueInsertDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkQueueInsertDebugUtilsLabelEXT" ) );
 | |
|       vkCmdBeginDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdBeginDebugUtilsLabelEXT" ) );
 | |
|       vkCmdEndDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdEndDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdEndDebugUtilsLabelEXT" ) );
 | |
|       vkCmdInsertDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetInstanceProcAddr( instance, "vkCmdInsertDebugUtilsLabelEXT" ) );
 | |
|       vkCreateDebugUtilsMessengerEXT =
 | |
|         PFN_vkCreateDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkCreateDebugUtilsMessengerEXT" ) );
 | |
|       vkDestroyDebugUtilsMessengerEXT =
 | |
|         PFN_vkDestroyDebugUtilsMessengerEXT( vkGetInstanceProcAddr( instance, "vkDestroyDebugUtilsMessengerEXT" ) );
 | |
|       vkSubmitDebugUtilsMessageEXT =
 | |
|         PFN_vkSubmitDebugUtilsMessageEXT( vkGetInstanceProcAddr( instance, "vkSubmitDebugUtilsMessageEXT" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 | |
|       vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
 | |
|       vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
|       //=== VK_EXT_sample_locations ===
 | |
|       vkCmdSetSampleLocationsEXT =
 | |
|         PFN_vkCmdSetSampleLocationsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetSampleLocationsEXT" ) );
 | |
|       vkGetPhysicalDeviceMultisamplePropertiesEXT = PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceMultisamplePropertiesEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_get_memory_requirements2 ===
 | |
|       vkGetImageMemoryRequirements2KHR =
 | |
|         PFN_vkGetImageMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetImageMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetImageMemoryRequirements2 )
 | |
|         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
 | |
|       vkGetBufferMemoryRequirements2KHR =
 | |
|         PFN_vkGetBufferMemoryRequirements2KHR( vkGetInstanceProcAddr( instance, "vkGetBufferMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetBufferMemoryRequirements2 )
 | |
|         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
 | |
|       vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetImageSparseMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetImageSparseMemoryRequirements2 )
 | |
|         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
 | |
| 
 | |
|       //=== VK_KHR_acceleration_structure ===
 | |
|       vkCreateAccelerationStructureKHR =
 | |
|         PFN_vkCreateAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureKHR" ) );
 | |
|       vkDestroyAccelerationStructureKHR =
 | |
|         PFN_vkDestroyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureKHR" ) );
 | |
|       vkCmdBuildAccelerationStructuresKHR = PFN_vkCmdBuildAccelerationStructuresKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresKHR" ) );
 | |
|       vkCmdBuildAccelerationStructuresIndirectKHR = PFN_vkCmdBuildAccelerationStructuresIndirectKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
 | |
|       vkBuildAccelerationStructuresKHR =
 | |
|         PFN_vkBuildAccelerationStructuresKHR( vkGetInstanceProcAddr( instance, "vkBuildAccelerationStructuresKHR" ) );
 | |
|       vkCopyAccelerationStructureKHR =
 | |
|         PFN_vkCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureKHR" ) );
 | |
|       vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCopyAccelerationStructureToMemoryKHR" ) );
 | |
|       vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCopyMemoryToAccelerationStructureKHR" ) );
 | |
|       vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkWriteAccelerationStructuresPropertiesKHR" ) );
 | |
|       vkCmdCopyAccelerationStructureKHR =
 | |
|         PFN_vkCmdCopyAccelerationStructureKHR( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureKHR" ) );
 | |
|       vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
 | |
|       vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
 | |
|       vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureDeviceAddressKHR" ) );
 | |
|       vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
 | |
|       vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
 | |
|       vkGetAccelerationStructureBuildSizesKHR = PFN_vkGetAccelerationStructureBuildSizesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureBuildSizesKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_sampler_ycbcr_conversion ===
 | |
|       vkCreateSamplerYcbcrConversionKHR =
 | |
|         PFN_vkCreateSamplerYcbcrConversionKHR( vkGetInstanceProcAddr( instance, "vkCreateSamplerYcbcrConversionKHR" ) );
 | |
|       if ( !vkCreateSamplerYcbcrConversion )
 | |
|         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
 | |
|       vkDestroySamplerYcbcrConversionKHR = PFN_vkDestroySamplerYcbcrConversionKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkDestroySamplerYcbcrConversionKHR" ) );
 | |
|       if ( !vkDestroySamplerYcbcrConversion )
 | |
|         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
 | |
| 
 | |
|       //=== VK_KHR_bind_memory2 ===
 | |
|       vkBindBufferMemory2KHR =
 | |
|         PFN_vkBindBufferMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindBufferMemory2KHR" ) );
 | |
|       if ( !vkBindBufferMemory2 )
 | |
|         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
 | |
|       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetInstanceProcAddr( instance, "vkBindImageMemory2KHR" ) );
 | |
|       if ( !vkBindImageMemory2 )
 | |
|         vkBindImageMemory2 = vkBindImageMemory2KHR;
 | |
| 
 | |
|       //=== VK_EXT_image_drm_format_modifier ===
 | |
|       vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_validation_cache ===
 | |
|       vkCreateValidationCacheEXT =
 | |
|         PFN_vkCreateValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkCreateValidationCacheEXT" ) );
 | |
|       vkDestroyValidationCacheEXT =
 | |
|         PFN_vkDestroyValidationCacheEXT( vkGetInstanceProcAddr( instance, "vkDestroyValidationCacheEXT" ) );
 | |
|       vkMergeValidationCachesEXT =
 | |
|         PFN_vkMergeValidationCachesEXT( vkGetInstanceProcAddr( instance, "vkMergeValidationCachesEXT" ) );
 | |
|       vkGetValidationCacheDataEXT =
 | |
|         PFN_vkGetValidationCacheDataEXT( vkGetInstanceProcAddr( instance, "vkGetValidationCacheDataEXT" ) );
 | |
| 
 | |
|       //=== VK_NV_shading_rate_image ===
 | |
|       vkCmdBindShadingRateImageNV =
 | |
|         PFN_vkCmdBindShadingRateImageNV( vkGetInstanceProcAddr( instance, "vkCmdBindShadingRateImageNV" ) );
 | |
|       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdSetViewportShadingRatePaletteNV" ) );
 | |
|       vkCmdSetCoarseSampleOrderNV =
 | |
|         PFN_vkCmdSetCoarseSampleOrderNV( vkGetInstanceProcAddr( instance, "vkCmdSetCoarseSampleOrderNV" ) );
 | |
| 
 | |
|       //=== VK_NV_ray_tracing ===
 | |
|       vkCreateAccelerationStructureNV =
 | |
|         PFN_vkCreateAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCreateAccelerationStructureNV" ) );
 | |
|       vkDestroyAccelerationStructureNV =
 | |
|         PFN_vkDestroyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkDestroyAccelerationStructureNV" ) );
 | |
|       vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
 | |
|       vkBindAccelerationStructureMemoryNV = PFN_vkBindAccelerationStructureMemoryNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkBindAccelerationStructureMemoryNV" ) );
 | |
|       vkCmdBuildAccelerationStructureNV =
 | |
|         PFN_vkCmdBuildAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdBuildAccelerationStructureNV" ) );
 | |
|       vkCmdCopyAccelerationStructureNV =
 | |
|         PFN_vkCmdCopyAccelerationStructureNV( vkGetInstanceProcAddr( instance, "vkCmdCopyAccelerationStructureNV" ) );
 | |
|       vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysNV" ) );
 | |
|       vkCreateRayTracingPipelinesNV =
 | |
|         PFN_vkCreateRayTracingPipelinesNV( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesNV" ) );
 | |
|       vkGetRayTracingShaderGroupHandlesNV = PFN_vkGetRayTracingShaderGroupHandlesNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesNV" ) );
 | |
|       if ( !vkGetRayTracingShaderGroupHandlesKHR )
 | |
|         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
 | |
|       vkGetAccelerationStructureHandleNV = PFN_vkGetAccelerationStructureHandleNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetAccelerationStructureHandleNV" ) );
 | |
|       vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
 | |
|       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetInstanceProcAddr( instance, "vkCompileDeferredNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_maintenance3 ===
 | |
|       vkGetDescriptorSetLayoutSupportKHR = PFN_vkGetDescriptorSetLayoutSupportKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDescriptorSetLayoutSupportKHR" ) );
 | |
|       if ( !vkGetDescriptorSetLayoutSupport )
 | |
|         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
 | |
| 
 | |
|       //=== VK_KHR_draw_indirect_count ===
 | |
|       vkCmdDrawIndirectCountKHR =
 | |
|         PFN_vkCmdDrawIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndirectCountKHR" ) );
 | |
|       if ( !vkCmdDrawIndirectCount )
 | |
|         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
 | |
|       vkCmdDrawIndexedIndirectCountKHR =
 | |
|         PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetInstanceProcAddr( instance, "vkCmdDrawIndexedIndirectCountKHR" ) );
 | |
|       if ( !vkCmdDrawIndexedIndirectCount )
 | |
|         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
 | |
| 
 | |
|       //=== VK_EXT_external_memory_host ===
 | |
|       vkGetMemoryHostPointerPropertiesEXT = PFN_vkGetMemoryHostPointerPropertiesEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetMemoryHostPointerPropertiesEXT" ) );
 | |
| 
 | |
|       //=== VK_AMD_buffer_marker ===
 | |
|       vkCmdWriteBufferMarkerAMD =
 | |
|         PFN_vkCmdWriteBufferMarkerAMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarkerAMD" ) );
 | |
| 
 | |
|       //=== VK_EXT_calibrated_timestamps ===
 | |
|       vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT" ) );
 | |
|       vkGetCalibratedTimestampsEXT =
 | |
|         PFN_vkGetCalibratedTimestampsEXT( vkGetInstanceProcAddr( instance, "vkGetCalibratedTimestampsEXT" ) );
 | |
| 
 | |
|       //=== VK_NV_mesh_shader ===
 | |
|       vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksNV" ) );
 | |
|       vkCmdDrawMeshTasksIndirectNV =
 | |
|         PFN_vkCmdDrawMeshTasksIndirectNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectNV" ) );
 | |
|       vkCmdDrawMeshTasksIndirectCountNV =
 | |
|         PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetInstanceProcAddr( instance, "vkCmdDrawMeshTasksIndirectCountNV" ) );
 | |
| 
 | |
|       //=== VK_NV_scissor_exclusive ===
 | |
|       vkCmdSetExclusiveScissorNV =
 | |
|         PFN_vkCmdSetExclusiveScissorNV( vkGetInstanceProcAddr( instance, "vkCmdSetExclusiveScissorNV" ) );
 | |
| 
 | |
|       //=== VK_NV_device_diagnostic_checkpoints ===
 | |
|       vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetInstanceProcAddr( instance, "vkCmdSetCheckpointNV" ) );
 | |
|       vkGetQueueCheckpointDataNV =
 | |
|         PFN_vkGetQueueCheckpointDataNV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointDataNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_timeline_semaphore ===
 | |
|       vkGetSemaphoreCounterValueKHR =
 | |
|         PFN_vkGetSemaphoreCounterValueKHR( vkGetInstanceProcAddr( instance, "vkGetSemaphoreCounterValueKHR" ) );
 | |
|       if ( !vkGetSemaphoreCounterValue )
 | |
|         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
 | |
|       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetInstanceProcAddr( instance, "vkWaitSemaphoresKHR" ) );
 | |
|       if ( !vkWaitSemaphores )
 | |
|         vkWaitSemaphores = vkWaitSemaphoresKHR;
 | |
|       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetInstanceProcAddr( instance, "vkSignalSemaphoreKHR" ) );
 | |
|       if ( !vkSignalSemaphore )
 | |
|         vkSignalSemaphore = vkSignalSemaphoreKHR;
 | |
| 
 | |
|       //=== VK_INTEL_performance_query ===
 | |
|       vkInitializePerformanceApiINTEL =
 | |
|         PFN_vkInitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkInitializePerformanceApiINTEL" ) );
 | |
|       vkUninitializePerformanceApiINTEL =
 | |
|         PFN_vkUninitializePerformanceApiINTEL( vkGetInstanceProcAddr( instance, "vkUninitializePerformanceApiINTEL" ) );
 | |
|       vkCmdSetPerformanceMarkerINTEL =
 | |
|         PFN_vkCmdSetPerformanceMarkerINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceMarkerINTEL" ) );
 | |
|       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
 | |
|       vkCmdSetPerformanceOverrideINTEL =
 | |
|         PFN_vkCmdSetPerformanceOverrideINTEL( vkGetInstanceProcAddr( instance, "vkCmdSetPerformanceOverrideINTEL" ) );
 | |
|       vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
 | |
|         vkGetInstanceProcAddr( instance, "vkAcquirePerformanceConfigurationINTEL" ) );
 | |
|       vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
 | |
|         vkGetInstanceProcAddr( instance, "vkReleasePerformanceConfigurationINTEL" ) );
 | |
|       vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
 | |
|         vkGetInstanceProcAddr( instance, "vkQueueSetPerformanceConfigurationINTEL" ) );
 | |
|       vkGetPerformanceParameterINTEL =
 | |
|         PFN_vkGetPerformanceParameterINTEL( vkGetInstanceProcAddr( instance, "vkGetPerformanceParameterINTEL" ) );
 | |
| 
 | |
|       //=== VK_AMD_display_native_hdr ===
 | |
|       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetInstanceProcAddr( instance, "vkSetLocalDimmingAMD" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_imagepipe_surface ===
 | |
|       vkCreateImagePipeSurfaceFUCHSIA =
 | |
|         PFN_vkCreateImagePipeSurfaceFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateImagePipeSurfaceFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_METAL_EXT )
 | |
|       //=== VK_EXT_metal_surface ===
 | |
|       vkCreateMetalSurfaceEXT =
 | |
|         PFN_vkCreateMetalSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateMetalSurfaceEXT" ) );
 | |
| #endif /*VK_USE_PLATFORM_METAL_EXT*/
 | |
| 
 | |
|       //=== VK_KHR_fragment_shading_rate ===
 | |
|       vkGetPhysicalDeviceFragmentShadingRatesKHR = PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceFragmentShadingRatesKHR" ) );
 | |
|       vkCmdSetFragmentShadingRateKHR =
 | |
|         PFN_vkCmdSetFragmentShadingRateKHR( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_buffer_device_address ===
 | |
|       vkGetBufferDeviceAddressEXT =
 | |
|         PFN_vkGetBufferDeviceAddressEXT( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressEXT" ) );
 | |
|       if ( !vkGetBufferDeviceAddress )
 | |
|         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
 | |
| 
 | |
|       //=== VK_EXT_tooling_info ===
 | |
|       vkGetPhysicalDeviceToolPropertiesEXT = PFN_vkGetPhysicalDeviceToolPropertiesEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceToolPropertiesEXT" ) );
 | |
|       if ( !vkGetPhysicalDeviceToolProperties )
 | |
|         vkGetPhysicalDeviceToolProperties = vkGetPhysicalDeviceToolPropertiesEXT;
 | |
| 
 | |
|       //=== VK_KHR_present_wait ===
 | |
|       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetInstanceProcAddr( instance, "vkWaitForPresentKHR" ) );
 | |
| 
 | |
|       //=== VK_NV_cooperative_matrix ===
 | |
|       vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV" ) );
 | |
| 
 | |
|       //=== VK_NV_coverage_reduction_mode ===
 | |
|       vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV =
 | |
|         PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV(
 | |
|           vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_EXT_full_screen_exclusive ===
 | |
|       vkGetPhysicalDeviceSurfacePresentModes2EXT = PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceSurfacePresentModes2EXT" ) );
 | |
|       vkAcquireFullScreenExclusiveModeEXT = PFN_vkAcquireFullScreenExclusiveModeEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkAcquireFullScreenExclusiveModeEXT" ) );
 | |
|       vkReleaseFullScreenExclusiveModeEXT = PFN_vkReleaseFullScreenExclusiveModeEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkReleaseFullScreenExclusiveModeEXT" ) );
 | |
|       vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_EXT_headless_surface ===
 | |
|       vkCreateHeadlessSurfaceEXT =
 | |
|         PFN_vkCreateHeadlessSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateHeadlessSurfaceEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_buffer_device_address ===
 | |
|       vkGetBufferDeviceAddressKHR =
 | |
|         PFN_vkGetBufferDeviceAddressKHR( vkGetInstanceProcAddr( instance, "vkGetBufferDeviceAddressKHR" ) );
 | |
|       if ( !vkGetBufferDeviceAddress )
 | |
|         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
 | |
|       vkGetBufferOpaqueCaptureAddressKHR = PFN_vkGetBufferOpaqueCaptureAddressKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetBufferOpaqueCaptureAddressKHR" ) );
 | |
|       if ( !vkGetBufferOpaqueCaptureAddress )
 | |
|         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
 | |
|       vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
 | |
|       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
 | |
|         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
 | |
| 
 | |
|       //=== VK_EXT_line_rasterization ===
 | |
|       vkCmdSetLineStippleEXT =
 | |
|         PFN_vkCmdSetLineStippleEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLineStippleEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_host_query_reset ===
 | |
|       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetInstanceProcAddr( instance, "vkResetQueryPoolEXT" ) );
 | |
|       if ( !vkResetQueryPool )
 | |
|         vkResetQueryPool = vkResetQueryPoolEXT;
 | |
| 
 | |
|       //=== VK_EXT_extended_dynamic_state ===
 | |
|       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetInstanceProcAddr( instance, "vkCmdSetCullModeEXT" ) );
 | |
|       if ( !vkCmdSetCullMode )
 | |
|         vkCmdSetCullMode = vkCmdSetCullModeEXT;
 | |
|       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetInstanceProcAddr( instance, "vkCmdSetFrontFaceEXT" ) );
 | |
|       if ( !vkCmdSetFrontFace )
 | |
|         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
 | |
|       vkCmdSetPrimitiveTopologyEXT =
 | |
|         PFN_vkCmdSetPrimitiveTopologyEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveTopologyEXT" ) );
 | |
|       if ( !vkCmdSetPrimitiveTopology )
 | |
|         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
 | |
|       vkCmdSetViewportWithCountEXT =
 | |
|         PFN_vkCmdSetViewportWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetViewportWithCountEXT" ) );
 | |
|       if ( !vkCmdSetViewportWithCount )
 | |
|         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
 | |
|       vkCmdSetScissorWithCountEXT =
 | |
|         PFN_vkCmdSetScissorWithCountEXT( vkGetInstanceProcAddr( instance, "vkCmdSetScissorWithCountEXT" ) );
 | |
|       if ( !vkCmdSetScissorWithCount )
 | |
|         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
 | |
|       vkCmdBindVertexBuffers2EXT =
 | |
|         PFN_vkCmdBindVertexBuffers2EXT( vkGetInstanceProcAddr( instance, "vkCmdBindVertexBuffers2EXT" ) );
 | |
|       if ( !vkCmdBindVertexBuffers2 )
 | |
|         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
 | |
|       vkCmdSetDepthTestEnableEXT =
 | |
|         PFN_vkCmdSetDepthTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthTestEnable )
 | |
|         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
 | |
|       vkCmdSetDepthWriteEnableEXT =
 | |
|         PFN_vkCmdSetDepthWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthWriteEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthWriteEnable )
 | |
|         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
 | |
|       vkCmdSetDepthCompareOpEXT =
 | |
|         PFN_vkCmdSetDepthCompareOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthCompareOpEXT" ) );
 | |
|       if ( !vkCmdSetDepthCompareOp )
 | |
|         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
 | |
|       vkCmdSetDepthBoundsTestEnableEXT =
 | |
|         PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBoundsTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthBoundsTestEnable )
 | |
|         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
 | |
|       vkCmdSetStencilTestEnableEXT =
 | |
|         PFN_vkCmdSetStencilTestEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetStencilTestEnable )
 | |
|         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
 | |
|       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetStencilOpEXT" ) );
 | |
|       if ( !vkCmdSetStencilOp )
 | |
|         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
 | |
| 
 | |
|       //=== VK_KHR_deferred_host_operations ===
 | |
|       vkCreateDeferredOperationKHR =
 | |
|         PFN_vkCreateDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkCreateDeferredOperationKHR" ) );
 | |
|       vkDestroyDeferredOperationKHR =
 | |
|         PFN_vkDestroyDeferredOperationKHR( vkGetInstanceProcAddr( instance, "vkDestroyDeferredOperationKHR" ) );
 | |
|       vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
 | |
|       vkGetDeferredOperationResultKHR =
 | |
|         PFN_vkGetDeferredOperationResultKHR( vkGetInstanceProcAddr( instance, "vkGetDeferredOperationResultKHR" ) );
 | |
|       vkDeferredOperationJoinKHR =
 | |
|         PFN_vkDeferredOperationJoinKHR( vkGetInstanceProcAddr( instance, "vkDeferredOperationJoinKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_pipeline_executable_properties ===
 | |
|       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutablePropertiesKHR" ) );
 | |
|       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableStatisticsKHR" ) );
 | |
|       vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
 | |
| 
 | |
|       //=== VK_NV_device_generated_commands ===
 | |
|       vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
 | |
|       vkCmdPreprocessGeneratedCommandsNV = PFN_vkCmdPreprocessGeneratedCommandsNV(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdPreprocessGeneratedCommandsNV" ) );
 | |
|       vkCmdExecuteGeneratedCommandsNV =
 | |
|         PFN_vkCmdExecuteGeneratedCommandsNV( vkGetInstanceProcAddr( instance, "vkCmdExecuteGeneratedCommandsNV" ) );
 | |
|       vkCmdBindPipelineShaderGroupNV =
 | |
|         PFN_vkCmdBindPipelineShaderGroupNV( vkGetInstanceProcAddr( instance, "vkCmdBindPipelineShaderGroupNV" ) );
 | |
|       vkCreateIndirectCommandsLayoutNV =
 | |
|         PFN_vkCreateIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkCreateIndirectCommandsLayoutNV" ) );
 | |
|       vkDestroyIndirectCommandsLayoutNV =
 | |
|         PFN_vkDestroyIndirectCommandsLayoutNV( vkGetInstanceProcAddr( instance, "vkDestroyIndirectCommandsLayoutNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_acquire_drm_display ===
 | |
|       vkAcquireDrmDisplayEXT =
 | |
|         PFN_vkAcquireDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkAcquireDrmDisplayEXT" ) );
 | |
|       vkGetDrmDisplayEXT = PFN_vkGetDrmDisplayEXT( vkGetInstanceProcAddr( instance, "vkGetDrmDisplayEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_private_data ===
 | |
|       vkCreatePrivateDataSlotEXT =
 | |
|         PFN_vkCreatePrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkCreatePrivateDataSlotEXT" ) );
 | |
|       if ( !vkCreatePrivateDataSlot )
 | |
|         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
 | |
|       vkDestroyPrivateDataSlotEXT =
 | |
|         PFN_vkDestroyPrivateDataSlotEXT( vkGetInstanceProcAddr( instance, "vkDestroyPrivateDataSlotEXT" ) );
 | |
|       if ( !vkDestroyPrivateDataSlot )
 | |
|         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
 | |
|       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkSetPrivateDataEXT" ) );
 | |
|       if ( !vkSetPrivateData )
 | |
|         vkSetPrivateData = vkSetPrivateDataEXT;
 | |
|       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetInstanceProcAddr( instance, "vkGetPrivateDataEXT" ) );
 | |
|       if ( !vkGetPrivateData )
 | |
|         vkGetPrivateData = vkGetPrivateDataEXT;
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_encode_queue ===
 | |
|       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetInstanceProcAddr( instance, "vkCmdEncodeVideoKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|       //=== VK_KHR_synchronization2 ===
 | |
|       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdSetEvent2KHR" ) );
 | |
|       if ( !vkCmdSetEvent2 )
 | |
|         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
 | |
|       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetInstanceProcAddr( instance, "vkCmdResetEvent2KHR" ) );
 | |
|       if ( !vkCmdResetEvent2 )
 | |
|         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
 | |
|       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetInstanceProcAddr( instance, "vkCmdWaitEvents2KHR" ) );
 | |
|       if ( !vkCmdWaitEvents2 )
 | |
|         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
 | |
|       vkCmdPipelineBarrier2KHR =
 | |
|         PFN_vkCmdPipelineBarrier2KHR( vkGetInstanceProcAddr( instance, "vkCmdPipelineBarrier2KHR" ) );
 | |
|       if ( !vkCmdPipelineBarrier2 )
 | |
|         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
 | |
|       vkCmdWriteTimestamp2KHR =
 | |
|         PFN_vkCmdWriteTimestamp2KHR( vkGetInstanceProcAddr( instance, "vkCmdWriteTimestamp2KHR" ) );
 | |
|       if ( !vkCmdWriteTimestamp2 )
 | |
|         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
 | |
|       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetInstanceProcAddr( instance, "vkQueueSubmit2KHR" ) );
 | |
|       if ( !vkQueueSubmit2 )
 | |
|         vkQueueSubmit2 = vkQueueSubmit2KHR;
 | |
|       vkCmdWriteBufferMarker2AMD =
 | |
|         PFN_vkCmdWriteBufferMarker2AMD( vkGetInstanceProcAddr( instance, "vkCmdWriteBufferMarker2AMD" ) );
 | |
|       vkGetQueueCheckpointData2NV =
 | |
|         PFN_vkGetQueueCheckpointData2NV( vkGetInstanceProcAddr( instance, "vkGetQueueCheckpointData2NV" ) );
 | |
| 
 | |
|       //=== VK_NV_fragment_shading_rate_enums ===
 | |
|       vkCmdSetFragmentShadingRateEnumNV =
 | |
|         PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetInstanceProcAddr( instance, "vkCmdSetFragmentShadingRateEnumNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_copy_commands2 ===
 | |
|       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBuffer2KHR" ) );
 | |
|       if ( !vkCmdCopyBuffer2 )
 | |
|         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
 | |
|       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImage2KHR" ) );
 | |
|       if ( !vkCmdCopyImage2 )
 | |
|         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
 | |
|       vkCmdCopyBufferToImage2KHR =
 | |
|         PFN_vkCmdCopyBufferToImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyBufferToImage2KHR" ) );
 | |
|       if ( !vkCmdCopyBufferToImage2 )
 | |
|         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
 | |
|       vkCmdCopyImageToBuffer2KHR =
 | |
|         PFN_vkCmdCopyImageToBuffer2KHR( vkGetInstanceProcAddr( instance, "vkCmdCopyImageToBuffer2KHR" ) );
 | |
|       if ( !vkCmdCopyImageToBuffer2 )
 | |
|         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
 | |
|       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdBlitImage2KHR" ) );
 | |
|       if ( !vkCmdBlitImage2 )
 | |
|         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
 | |
|       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetInstanceProcAddr( instance, "vkCmdResolveImage2KHR" ) );
 | |
|       if ( !vkCmdResolveImage2 )
 | |
|         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_NV_acquire_winrt_display ===
 | |
|       vkAcquireWinrtDisplayNV =
 | |
|         PFN_vkAcquireWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkAcquireWinrtDisplayNV" ) );
 | |
|       vkGetWinrtDisplayNV = PFN_vkGetWinrtDisplayNV( vkGetInstanceProcAddr( instance, "vkGetWinrtDisplayNV" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_DIRECTFB_EXT )
 | |
|       //=== VK_EXT_directfb_surface ===
 | |
|       vkCreateDirectFBSurfaceEXT =
 | |
|         PFN_vkCreateDirectFBSurfaceEXT( vkGetInstanceProcAddr( instance, "vkCreateDirectFBSurfaceEXT" ) );
 | |
|       vkGetPhysicalDeviceDirectFBPresentationSupportEXT = PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT" ) );
 | |
| #endif /*VK_USE_PLATFORM_DIRECTFB_EXT*/
 | |
| 
 | |
|       //=== VK_KHR_ray_tracing_pipeline ===
 | |
|       vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysKHR" ) );
 | |
|       vkCreateRayTracingPipelinesKHR =
 | |
|         PFN_vkCreateRayTracingPipelinesKHR( vkGetInstanceProcAddr( instance, "vkCreateRayTracingPipelinesKHR" ) );
 | |
|       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupHandlesKHR" ) );
 | |
|       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
 | |
|       vkCmdTraceRaysIndirectKHR =
 | |
|         PFN_vkCmdTraceRaysIndirectKHR( vkGetInstanceProcAddr( instance, "vkCmdTraceRaysIndirectKHR" ) );
 | |
|       vkGetRayTracingShaderGroupStackSizeKHR = PFN_vkGetRayTracingShaderGroupStackSizeKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
 | |
|       vkCmdSetRayTracingPipelineStackSizeKHR = PFN_vkCmdSetRayTracingPipelineStackSizeKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_vertex_input_dynamic_state ===
 | |
|       vkCmdSetVertexInputEXT =
 | |
|         PFN_vkCmdSetVertexInputEXT( vkGetInstanceProcAddr( instance, "vkCmdSetVertexInputEXT" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_external_memory ===
 | |
|       vkGetMemoryZirconHandleFUCHSIA =
 | |
|         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandleFUCHSIA" ) );
 | |
|       vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_external_semaphore ===
 | |
|       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
 | |
|         vkGetInstanceProcAddr( instance, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
 | |
|       vkGetSemaphoreZirconHandleFUCHSIA =
 | |
|         PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetInstanceProcAddr( instance, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_buffer_collection ===
 | |
|       vkCreateBufferCollectionFUCHSIA =
 | |
|         PFN_vkCreateBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkCreateBufferCollectionFUCHSIA" ) );
 | |
|       vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
 | |
|         vkGetInstanceProcAddr( instance, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
 | |
|       vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
 | |
|         vkGetInstanceProcAddr( instance, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
 | |
|       vkDestroyBufferCollectionFUCHSIA =
 | |
|         PFN_vkDestroyBufferCollectionFUCHSIA( vkGetInstanceProcAddr( instance, "vkDestroyBufferCollectionFUCHSIA" ) );
 | |
|       vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
|       //=== VK_HUAWEI_subpass_shading ===
 | |
|       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
 | |
|       vkCmdSubpassShadingHUAWEI =
 | |
|         PFN_vkCmdSubpassShadingHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdSubpassShadingHUAWEI" ) );
 | |
| 
 | |
|       //=== VK_HUAWEI_invocation_mask ===
 | |
|       vkCmdBindInvocationMaskHUAWEI =
 | |
|         PFN_vkCmdBindInvocationMaskHUAWEI( vkGetInstanceProcAddr( instance, "vkCmdBindInvocationMaskHUAWEI" ) );
 | |
| 
 | |
|       //=== VK_NV_external_memory_rdma ===
 | |
|       vkGetMemoryRemoteAddressNV =
 | |
|         PFN_vkGetMemoryRemoteAddressNV( vkGetInstanceProcAddr( instance, "vkGetMemoryRemoteAddressNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_extended_dynamic_state2 ===
 | |
|       vkCmdSetPatchControlPointsEXT =
 | |
|         PFN_vkCmdSetPatchControlPointsEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPatchControlPointsEXT" ) );
 | |
|       vkCmdSetRasterizerDiscardEnableEXT = PFN_vkCmdSetRasterizerDiscardEnableEXT(
 | |
|         vkGetInstanceProcAddr( instance, "vkCmdSetRasterizerDiscardEnableEXT" ) );
 | |
|       if ( !vkCmdSetRasterizerDiscardEnable )
 | |
|         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
 | |
|       vkCmdSetDepthBiasEnableEXT =
 | |
|         PFN_vkCmdSetDepthBiasEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetDepthBiasEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthBiasEnable )
 | |
|         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
 | |
|       vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetInstanceProcAddr( instance, "vkCmdSetLogicOpEXT" ) );
 | |
|       vkCmdSetPrimitiveRestartEnableEXT =
 | |
|         PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetPrimitiveRestartEnableEXT" ) );
 | |
|       if ( !vkCmdSetPrimitiveRestartEnable )
 | |
|         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_SCREEN_QNX )
 | |
|       //=== VK_QNX_screen_surface ===
 | |
|       vkCreateScreenSurfaceQNX =
 | |
|         PFN_vkCreateScreenSurfaceQNX( vkGetInstanceProcAddr( instance, "vkCreateScreenSurfaceQNX" ) );
 | |
|       vkGetPhysicalDeviceScreenPresentationSupportQNX = PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetPhysicalDeviceScreenPresentationSupportQNX" ) );
 | |
| #endif /*VK_USE_PLATFORM_SCREEN_QNX*/
 | |
| 
 | |
|       //=== VK_EXT_color_write_enable ===
 | |
|       vkCmdSetColorWriteEnableEXT =
 | |
|         PFN_vkCmdSetColorWriteEnableEXT( vkGetInstanceProcAddr( instance, "vkCmdSetColorWriteEnableEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_multi_draw ===
 | |
|       vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiEXT" ) );
 | |
|       vkCmdDrawMultiIndexedEXT =
 | |
|         PFN_vkCmdDrawMultiIndexedEXT( vkGetInstanceProcAddr( instance, "vkCmdDrawMultiIndexedEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_pageable_device_local_memory ===
 | |
|       vkSetDeviceMemoryPriorityEXT =
 | |
|         PFN_vkSetDeviceMemoryPriorityEXT( vkGetInstanceProcAddr( instance, "vkSetDeviceMemoryPriorityEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_maintenance4 ===
 | |
|       vkGetDeviceBufferMemoryRequirementsKHR = PFN_vkGetDeviceBufferMemoryRequirementsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceBufferMemoryRequirements )
 | |
|         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
 | |
|       vkGetDeviceImageMemoryRequirementsKHR = PFN_vkGetDeviceImageMemoryRequirementsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceImageMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceImageMemoryRequirements )
 | |
|         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
 | |
|       vkGetDeviceImageSparseMemoryRequirementsKHR = PFN_vkGetDeviceImageSparseMemoryRequirementsKHR(
 | |
|         vkGetInstanceProcAddr( instance, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceImageSparseMemoryRequirements )
 | |
|         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
 | |
|     }
 | |
| 
 | |
|     void init( VULKAN_HPP_NAMESPACE::Device deviceCpp ) VULKAN_HPP_NOEXCEPT
 | |
|     {
 | |
|       VkDevice device = static_cast<VkDevice>( deviceCpp );
 | |
| 
 | |
|       //=== VK_VERSION_1_0 ===
 | |
|       vkGetDeviceProcAddr = PFN_vkGetDeviceProcAddr( vkGetDeviceProcAddr( device, "vkGetDeviceProcAddr" ) );
 | |
|       vkDestroyDevice     = PFN_vkDestroyDevice( vkGetDeviceProcAddr( device, "vkDestroyDevice" ) );
 | |
|       vkGetDeviceQueue    = PFN_vkGetDeviceQueue( vkGetDeviceProcAddr( device, "vkGetDeviceQueue" ) );
 | |
|       vkQueueSubmit       = PFN_vkQueueSubmit( vkGetDeviceProcAddr( device, "vkQueueSubmit" ) );
 | |
|       vkQueueWaitIdle     = PFN_vkQueueWaitIdle( vkGetDeviceProcAddr( device, "vkQueueWaitIdle" ) );
 | |
|       vkDeviceWaitIdle    = PFN_vkDeviceWaitIdle( vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" ) );
 | |
|       vkAllocateMemory    = PFN_vkAllocateMemory( vkGetDeviceProcAddr( device, "vkAllocateMemory" ) );
 | |
|       vkFreeMemory        = PFN_vkFreeMemory( vkGetDeviceProcAddr( device, "vkFreeMemory" ) );
 | |
|       vkMapMemory         = PFN_vkMapMemory( vkGetDeviceProcAddr( device, "vkMapMemory" ) );
 | |
|       vkUnmapMemory       = PFN_vkUnmapMemory( vkGetDeviceProcAddr( device, "vkUnmapMemory" ) );
 | |
|       vkFlushMappedMemoryRanges =
 | |
|         PFN_vkFlushMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" ) );
 | |
|       vkInvalidateMappedMemoryRanges =
 | |
|         PFN_vkInvalidateMappedMemoryRanges( vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" ) );
 | |
|       vkGetDeviceMemoryCommitment =
 | |
|         PFN_vkGetDeviceMemoryCommitment( vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" ) );
 | |
|       vkBindBufferMemory = PFN_vkBindBufferMemory( vkGetDeviceProcAddr( device, "vkBindBufferMemory" ) );
 | |
|       vkBindImageMemory  = PFN_vkBindImageMemory( vkGetDeviceProcAddr( device, "vkBindImageMemory" ) );
 | |
|       vkGetBufferMemoryRequirements =
 | |
|         PFN_vkGetBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" ) );
 | |
|       vkGetImageMemoryRequirements =
 | |
|         PFN_vkGetImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" ) );
 | |
|       vkGetImageSparseMemoryRequirements =
 | |
|         PFN_vkGetImageSparseMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" ) );
 | |
|       vkQueueBindSparse     = PFN_vkQueueBindSparse( vkGetDeviceProcAddr( device, "vkQueueBindSparse" ) );
 | |
|       vkCreateFence         = PFN_vkCreateFence( vkGetDeviceProcAddr( device, "vkCreateFence" ) );
 | |
|       vkDestroyFence        = PFN_vkDestroyFence( vkGetDeviceProcAddr( device, "vkDestroyFence" ) );
 | |
|       vkResetFences         = PFN_vkResetFences( vkGetDeviceProcAddr( device, "vkResetFences" ) );
 | |
|       vkGetFenceStatus      = PFN_vkGetFenceStatus( vkGetDeviceProcAddr( device, "vkGetFenceStatus" ) );
 | |
|       vkWaitForFences       = PFN_vkWaitForFences( vkGetDeviceProcAddr( device, "vkWaitForFences" ) );
 | |
|       vkCreateSemaphore     = PFN_vkCreateSemaphore( vkGetDeviceProcAddr( device, "vkCreateSemaphore" ) );
 | |
|       vkDestroySemaphore    = PFN_vkDestroySemaphore( vkGetDeviceProcAddr( device, "vkDestroySemaphore" ) );
 | |
|       vkCreateEvent         = PFN_vkCreateEvent( vkGetDeviceProcAddr( device, "vkCreateEvent" ) );
 | |
|       vkDestroyEvent        = PFN_vkDestroyEvent( vkGetDeviceProcAddr( device, "vkDestroyEvent" ) );
 | |
|       vkGetEventStatus      = PFN_vkGetEventStatus( vkGetDeviceProcAddr( device, "vkGetEventStatus" ) );
 | |
|       vkSetEvent            = PFN_vkSetEvent( vkGetDeviceProcAddr( device, "vkSetEvent" ) );
 | |
|       vkResetEvent          = PFN_vkResetEvent( vkGetDeviceProcAddr( device, "vkResetEvent" ) );
 | |
|       vkCreateQueryPool     = PFN_vkCreateQueryPool( vkGetDeviceProcAddr( device, "vkCreateQueryPool" ) );
 | |
|       vkDestroyQueryPool    = PFN_vkDestroyQueryPool( vkGetDeviceProcAddr( device, "vkDestroyQueryPool" ) );
 | |
|       vkGetQueryPoolResults = PFN_vkGetQueryPoolResults( vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" ) );
 | |
|       vkCreateBuffer        = PFN_vkCreateBuffer( vkGetDeviceProcAddr( device, "vkCreateBuffer" ) );
 | |
|       vkDestroyBuffer       = PFN_vkDestroyBuffer( vkGetDeviceProcAddr( device, "vkDestroyBuffer" ) );
 | |
|       vkCreateBufferView    = PFN_vkCreateBufferView( vkGetDeviceProcAddr( device, "vkCreateBufferView" ) );
 | |
|       vkDestroyBufferView   = PFN_vkDestroyBufferView( vkGetDeviceProcAddr( device, "vkDestroyBufferView" ) );
 | |
|       vkCreateImage         = PFN_vkCreateImage( vkGetDeviceProcAddr( device, "vkCreateImage" ) );
 | |
|       vkDestroyImage        = PFN_vkDestroyImage( vkGetDeviceProcAddr( device, "vkDestroyImage" ) );
 | |
|       vkGetImageSubresourceLayout =
 | |
|         PFN_vkGetImageSubresourceLayout( vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" ) );
 | |
|       vkCreateImageView      = PFN_vkCreateImageView( vkGetDeviceProcAddr( device, "vkCreateImageView" ) );
 | |
|       vkDestroyImageView     = PFN_vkDestroyImageView( vkGetDeviceProcAddr( device, "vkDestroyImageView" ) );
 | |
|       vkCreateShaderModule   = PFN_vkCreateShaderModule( vkGetDeviceProcAddr( device, "vkCreateShaderModule" ) );
 | |
|       vkDestroyShaderModule  = PFN_vkDestroyShaderModule( vkGetDeviceProcAddr( device, "vkDestroyShaderModule" ) );
 | |
|       vkCreatePipelineCache  = PFN_vkCreatePipelineCache( vkGetDeviceProcAddr( device, "vkCreatePipelineCache" ) );
 | |
|       vkDestroyPipelineCache = PFN_vkDestroyPipelineCache( vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" ) );
 | |
|       vkGetPipelineCacheData = PFN_vkGetPipelineCacheData( vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" ) );
 | |
|       vkMergePipelineCaches  = PFN_vkMergePipelineCaches( vkGetDeviceProcAddr( device, "vkMergePipelineCaches" ) );
 | |
|       vkCreateGraphicsPipelines =
 | |
|         PFN_vkCreateGraphicsPipelines( vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" ) );
 | |
|       vkCreateComputePipelines =
 | |
|         PFN_vkCreateComputePipelines( vkGetDeviceProcAddr( device, "vkCreateComputePipelines" ) );
 | |
|       vkDestroyPipeline       = PFN_vkDestroyPipeline( vkGetDeviceProcAddr( device, "vkDestroyPipeline" ) );
 | |
|       vkCreatePipelineLayout  = PFN_vkCreatePipelineLayout( vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" ) );
 | |
|       vkDestroyPipelineLayout = PFN_vkDestroyPipelineLayout( vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" ) );
 | |
|       vkCreateSampler         = PFN_vkCreateSampler( vkGetDeviceProcAddr( device, "vkCreateSampler" ) );
 | |
|       vkDestroySampler        = PFN_vkDestroySampler( vkGetDeviceProcAddr( device, "vkDestroySampler" ) );
 | |
|       vkCreateDescriptorSetLayout =
 | |
|         PFN_vkCreateDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" ) );
 | |
|       vkDestroyDescriptorSetLayout =
 | |
|         PFN_vkDestroyDescriptorSetLayout( vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" ) );
 | |
|       vkCreateDescriptorPool  = PFN_vkCreateDescriptorPool( vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" ) );
 | |
|       vkDestroyDescriptorPool = PFN_vkDestroyDescriptorPool( vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" ) );
 | |
|       vkResetDescriptorPool   = PFN_vkResetDescriptorPool( vkGetDeviceProcAddr( device, "vkResetDescriptorPool" ) );
 | |
|       vkAllocateDescriptorSets =
 | |
|         PFN_vkAllocateDescriptorSets( vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" ) );
 | |
|       vkFreeDescriptorSets   = PFN_vkFreeDescriptorSets( vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" ) );
 | |
|       vkUpdateDescriptorSets = PFN_vkUpdateDescriptorSets( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" ) );
 | |
|       vkCreateFramebuffer    = PFN_vkCreateFramebuffer( vkGetDeviceProcAddr( device, "vkCreateFramebuffer" ) );
 | |
|       vkDestroyFramebuffer   = PFN_vkDestroyFramebuffer( vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" ) );
 | |
|       vkCreateRenderPass     = PFN_vkCreateRenderPass( vkGetDeviceProcAddr( device, "vkCreateRenderPass" ) );
 | |
|       vkDestroyRenderPass    = PFN_vkDestroyRenderPass( vkGetDeviceProcAddr( device, "vkDestroyRenderPass" ) );
 | |
|       vkGetRenderAreaGranularity =
 | |
|         PFN_vkGetRenderAreaGranularity( vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" ) );
 | |
|       vkCreateCommandPool  = PFN_vkCreateCommandPool( vkGetDeviceProcAddr( device, "vkCreateCommandPool" ) );
 | |
|       vkDestroyCommandPool = PFN_vkDestroyCommandPool( vkGetDeviceProcAddr( device, "vkDestroyCommandPool" ) );
 | |
|       vkResetCommandPool   = PFN_vkResetCommandPool( vkGetDeviceProcAddr( device, "vkResetCommandPool" ) );
 | |
|       vkAllocateCommandBuffers =
 | |
|         PFN_vkAllocateCommandBuffers( vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" ) );
 | |
|       vkFreeCommandBuffers   = PFN_vkFreeCommandBuffers( vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" ) );
 | |
|       vkBeginCommandBuffer   = PFN_vkBeginCommandBuffer( vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" ) );
 | |
|       vkEndCommandBuffer     = PFN_vkEndCommandBuffer( vkGetDeviceProcAddr( device, "vkEndCommandBuffer" ) );
 | |
|       vkResetCommandBuffer   = PFN_vkResetCommandBuffer( vkGetDeviceProcAddr( device, "vkResetCommandBuffer" ) );
 | |
|       vkCmdBindPipeline      = PFN_vkCmdBindPipeline( vkGetDeviceProcAddr( device, "vkCmdBindPipeline" ) );
 | |
|       vkCmdSetViewport       = PFN_vkCmdSetViewport( vkGetDeviceProcAddr( device, "vkCmdSetViewport" ) );
 | |
|       vkCmdSetScissor        = PFN_vkCmdSetScissor( vkGetDeviceProcAddr( device, "vkCmdSetScissor" ) );
 | |
|       vkCmdSetLineWidth      = PFN_vkCmdSetLineWidth( vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" ) );
 | |
|       vkCmdSetDepthBias      = PFN_vkCmdSetDepthBias( vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" ) );
 | |
|       vkCmdSetBlendConstants = PFN_vkCmdSetBlendConstants( vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" ) );
 | |
|       vkCmdSetDepthBounds    = PFN_vkCmdSetDepthBounds( vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" ) );
 | |
|       vkCmdSetStencilCompareMask =
 | |
|         PFN_vkCmdSetStencilCompareMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" ) );
 | |
|       vkCmdSetStencilWriteMask =
 | |
|         PFN_vkCmdSetStencilWriteMask( vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" ) );
 | |
|       vkCmdSetStencilReference =
 | |
|         PFN_vkCmdSetStencilReference( vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" ) );
 | |
|       vkCmdBindDescriptorSets = PFN_vkCmdBindDescriptorSets( vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" ) );
 | |
|       vkCmdBindIndexBuffer    = PFN_vkCmdBindIndexBuffer( vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" ) );
 | |
|       vkCmdBindVertexBuffers  = PFN_vkCmdBindVertexBuffers( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" ) );
 | |
|       vkCmdDraw               = PFN_vkCmdDraw( vkGetDeviceProcAddr( device, "vkCmdDraw" ) );
 | |
|       vkCmdDrawIndexed        = PFN_vkCmdDrawIndexed( vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" ) );
 | |
|       vkCmdDrawIndirect       = PFN_vkCmdDrawIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" ) );
 | |
|       vkCmdDrawIndexedIndirect =
 | |
|         PFN_vkCmdDrawIndexedIndirect( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" ) );
 | |
|       vkCmdDispatch          = PFN_vkCmdDispatch( vkGetDeviceProcAddr( device, "vkCmdDispatch" ) );
 | |
|       vkCmdDispatchIndirect  = PFN_vkCmdDispatchIndirect( vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" ) );
 | |
|       vkCmdCopyBuffer        = PFN_vkCmdCopyBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" ) );
 | |
|       vkCmdCopyImage         = PFN_vkCmdCopyImage( vkGetDeviceProcAddr( device, "vkCmdCopyImage" ) );
 | |
|       vkCmdBlitImage         = PFN_vkCmdBlitImage( vkGetDeviceProcAddr( device, "vkCmdBlitImage" ) );
 | |
|       vkCmdCopyBufferToImage = PFN_vkCmdCopyBufferToImage( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" ) );
 | |
|       vkCmdCopyImageToBuffer = PFN_vkCmdCopyImageToBuffer( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" ) );
 | |
|       vkCmdUpdateBuffer      = PFN_vkCmdUpdateBuffer( vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" ) );
 | |
|       vkCmdFillBuffer        = PFN_vkCmdFillBuffer( vkGetDeviceProcAddr( device, "vkCmdFillBuffer" ) );
 | |
|       vkCmdClearColorImage   = PFN_vkCmdClearColorImage( vkGetDeviceProcAddr( device, "vkCmdClearColorImage" ) );
 | |
|       vkCmdClearDepthStencilImage =
 | |
|         PFN_vkCmdClearDepthStencilImage( vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" ) );
 | |
|       vkCmdClearAttachments = PFN_vkCmdClearAttachments( vkGetDeviceProcAddr( device, "vkCmdClearAttachments" ) );
 | |
|       vkCmdResolveImage     = PFN_vkCmdResolveImage( vkGetDeviceProcAddr( device, "vkCmdResolveImage" ) );
 | |
|       vkCmdSetEvent         = PFN_vkCmdSetEvent( vkGetDeviceProcAddr( device, "vkCmdSetEvent" ) );
 | |
|       vkCmdResetEvent       = PFN_vkCmdResetEvent( vkGetDeviceProcAddr( device, "vkCmdResetEvent" ) );
 | |
|       vkCmdWaitEvents       = PFN_vkCmdWaitEvents( vkGetDeviceProcAddr( device, "vkCmdWaitEvents" ) );
 | |
|       vkCmdPipelineBarrier  = PFN_vkCmdPipelineBarrier( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" ) );
 | |
|       vkCmdBeginQuery       = PFN_vkCmdBeginQuery( vkGetDeviceProcAddr( device, "vkCmdBeginQuery" ) );
 | |
|       vkCmdEndQuery         = PFN_vkCmdEndQuery( vkGetDeviceProcAddr( device, "vkCmdEndQuery" ) );
 | |
|       vkCmdResetQueryPool   = PFN_vkCmdResetQueryPool( vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" ) );
 | |
|       vkCmdWriteTimestamp   = PFN_vkCmdWriteTimestamp( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" ) );
 | |
|       vkCmdCopyQueryPoolResults =
 | |
|         PFN_vkCmdCopyQueryPoolResults( vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" ) );
 | |
|       vkCmdPushConstants   = PFN_vkCmdPushConstants( vkGetDeviceProcAddr( device, "vkCmdPushConstants" ) );
 | |
|       vkCmdBeginRenderPass = PFN_vkCmdBeginRenderPass( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" ) );
 | |
|       vkCmdNextSubpass     = PFN_vkCmdNextSubpass( vkGetDeviceProcAddr( device, "vkCmdNextSubpass" ) );
 | |
|       vkCmdEndRenderPass   = PFN_vkCmdEndRenderPass( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" ) );
 | |
|       vkCmdExecuteCommands = PFN_vkCmdExecuteCommands( vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_1 ===
 | |
|       vkBindBufferMemory2 = PFN_vkBindBufferMemory2( vkGetDeviceProcAddr( device, "vkBindBufferMemory2" ) );
 | |
|       vkBindImageMemory2  = PFN_vkBindImageMemory2( vkGetDeviceProcAddr( device, "vkBindImageMemory2" ) );
 | |
|       vkGetDeviceGroupPeerMemoryFeatures =
 | |
|         PFN_vkGetDeviceGroupPeerMemoryFeatures( vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" ) );
 | |
|       vkCmdSetDeviceMask = PFN_vkCmdSetDeviceMask( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" ) );
 | |
|       vkCmdDispatchBase  = PFN_vkCmdDispatchBase( vkGetDeviceProcAddr( device, "vkCmdDispatchBase" ) );
 | |
|       vkGetImageMemoryRequirements2 =
 | |
|         PFN_vkGetImageMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" ) );
 | |
|       vkGetBufferMemoryRequirements2 =
 | |
|         PFN_vkGetBufferMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" ) );
 | |
|       vkGetImageSparseMemoryRequirements2 =
 | |
|         PFN_vkGetImageSparseMemoryRequirements2( vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" ) );
 | |
|       vkTrimCommandPool = PFN_vkTrimCommandPool( vkGetDeviceProcAddr( device, "vkTrimCommandPool" ) );
 | |
|       vkGetDeviceQueue2 = PFN_vkGetDeviceQueue2( vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" ) );
 | |
|       vkCreateSamplerYcbcrConversion =
 | |
|         PFN_vkCreateSamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" ) );
 | |
|       vkDestroySamplerYcbcrConversion =
 | |
|         PFN_vkDestroySamplerYcbcrConversion( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" ) );
 | |
|       vkCreateDescriptorUpdateTemplate =
 | |
|         PFN_vkCreateDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" ) );
 | |
|       vkDestroyDescriptorUpdateTemplate =
 | |
|         PFN_vkDestroyDescriptorUpdateTemplate( vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" ) );
 | |
|       vkUpdateDescriptorSetWithTemplate =
 | |
|         PFN_vkUpdateDescriptorSetWithTemplate( vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" ) );
 | |
|       vkGetDescriptorSetLayoutSupport =
 | |
|         PFN_vkGetDescriptorSetLayoutSupport( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_2 ===
 | |
|       vkCmdDrawIndirectCount = PFN_vkCmdDrawIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" ) );
 | |
|       vkCmdDrawIndexedIndirectCount =
 | |
|         PFN_vkCmdDrawIndexedIndirectCount( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" ) );
 | |
|       vkCreateRenderPass2   = PFN_vkCreateRenderPass2( vkGetDeviceProcAddr( device, "vkCreateRenderPass2" ) );
 | |
|       vkCmdBeginRenderPass2 = PFN_vkCmdBeginRenderPass2( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" ) );
 | |
|       vkCmdNextSubpass2     = PFN_vkCmdNextSubpass2( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" ) );
 | |
|       vkCmdEndRenderPass2   = PFN_vkCmdEndRenderPass2( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" ) );
 | |
|       vkResetQueryPool      = PFN_vkResetQueryPool( vkGetDeviceProcAddr( device, "vkResetQueryPool" ) );
 | |
|       vkGetSemaphoreCounterValue =
 | |
|         PFN_vkGetSemaphoreCounterValue( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" ) );
 | |
|       vkWaitSemaphores  = PFN_vkWaitSemaphores( vkGetDeviceProcAddr( device, "vkWaitSemaphores" ) );
 | |
|       vkSignalSemaphore = PFN_vkSignalSemaphore( vkGetDeviceProcAddr( device, "vkSignalSemaphore" ) );
 | |
|       vkGetBufferDeviceAddress =
 | |
|         PFN_vkGetBufferDeviceAddress( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" ) );
 | |
|       vkGetBufferOpaqueCaptureAddress =
 | |
|         PFN_vkGetBufferOpaqueCaptureAddress( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" ) );
 | |
|       vkGetDeviceMemoryOpaqueCaptureAddress = PFN_vkGetDeviceMemoryOpaqueCaptureAddress(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" ) );
 | |
| 
 | |
|       //=== VK_VERSION_1_3 ===
 | |
|       vkCreatePrivateDataSlot = PFN_vkCreatePrivateDataSlot( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" ) );
 | |
|       vkDestroyPrivateDataSlot =
 | |
|         PFN_vkDestroyPrivateDataSlot( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" ) );
 | |
|       vkSetPrivateData        = PFN_vkSetPrivateData( vkGetDeviceProcAddr( device, "vkSetPrivateData" ) );
 | |
|       vkGetPrivateData        = PFN_vkGetPrivateData( vkGetDeviceProcAddr( device, "vkGetPrivateData" ) );
 | |
|       vkCmdSetEvent2          = PFN_vkCmdSetEvent2( vkGetDeviceProcAddr( device, "vkCmdSetEvent2" ) );
 | |
|       vkCmdResetEvent2        = PFN_vkCmdResetEvent2( vkGetDeviceProcAddr( device, "vkCmdResetEvent2" ) );
 | |
|       vkCmdWaitEvents2        = PFN_vkCmdWaitEvents2( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" ) );
 | |
|       vkCmdPipelineBarrier2   = PFN_vkCmdPipelineBarrier2( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" ) );
 | |
|       vkCmdWriteTimestamp2    = PFN_vkCmdWriteTimestamp2( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" ) );
 | |
|       vkQueueSubmit2          = PFN_vkQueueSubmit2( vkGetDeviceProcAddr( device, "vkQueueSubmit2" ) );
 | |
|       vkCmdCopyBuffer2        = PFN_vkCmdCopyBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" ) );
 | |
|       vkCmdCopyImage2         = PFN_vkCmdCopyImage2( vkGetDeviceProcAddr( device, "vkCmdCopyImage2" ) );
 | |
|       vkCmdCopyBufferToImage2 = PFN_vkCmdCopyBufferToImage2( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" ) );
 | |
|       vkCmdCopyImageToBuffer2 = PFN_vkCmdCopyImageToBuffer2( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" ) );
 | |
|       vkCmdBlitImage2         = PFN_vkCmdBlitImage2( vkGetDeviceProcAddr( device, "vkCmdBlitImage2" ) );
 | |
|       vkCmdResolveImage2      = PFN_vkCmdResolveImage2( vkGetDeviceProcAddr( device, "vkCmdResolveImage2" ) );
 | |
|       vkCmdBeginRendering     = PFN_vkCmdBeginRendering( vkGetDeviceProcAddr( device, "vkCmdBeginRendering" ) );
 | |
|       vkCmdEndRendering       = PFN_vkCmdEndRendering( vkGetDeviceProcAddr( device, "vkCmdEndRendering" ) );
 | |
|       vkCmdSetCullMode        = PFN_vkCmdSetCullMode( vkGetDeviceProcAddr( device, "vkCmdSetCullMode" ) );
 | |
|       vkCmdSetFrontFace       = PFN_vkCmdSetFrontFace( vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" ) );
 | |
|       vkCmdSetPrimitiveTopology =
 | |
|         PFN_vkCmdSetPrimitiveTopology( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" ) );
 | |
|       vkCmdSetViewportWithCount =
 | |
|         PFN_vkCmdSetViewportWithCount( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" ) );
 | |
|       vkCmdSetScissorWithCount =
 | |
|         PFN_vkCmdSetScissorWithCount( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" ) );
 | |
|       vkCmdBindVertexBuffers2 = PFN_vkCmdBindVertexBuffers2( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" ) );
 | |
|       vkCmdSetDepthTestEnable = PFN_vkCmdSetDepthTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" ) );
 | |
|       vkCmdSetDepthWriteEnable =
 | |
|         PFN_vkCmdSetDepthWriteEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" ) );
 | |
|       vkCmdSetDepthCompareOp = PFN_vkCmdSetDepthCompareOp( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" ) );
 | |
|       vkCmdSetDepthBoundsTestEnable =
 | |
|         PFN_vkCmdSetDepthBoundsTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" ) );
 | |
|       vkCmdSetStencilTestEnable =
 | |
|         PFN_vkCmdSetStencilTestEnable( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" ) );
 | |
|       vkCmdSetStencilOp = PFN_vkCmdSetStencilOp( vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" ) );
 | |
|       vkCmdSetRasterizerDiscardEnable =
 | |
|         PFN_vkCmdSetRasterizerDiscardEnable( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" ) );
 | |
|       vkCmdSetDepthBiasEnable = PFN_vkCmdSetDepthBiasEnable( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" ) );
 | |
|       vkCmdSetPrimitiveRestartEnable =
 | |
|         PFN_vkCmdSetPrimitiveRestartEnable( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" ) );
 | |
|       vkGetDeviceBufferMemoryRequirements =
 | |
|         PFN_vkGetDeviceBufferMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" ) );
 | |
|       vkGetDeviceImageMemoryRequirements =
 | |
|         PFN_vkGetDeviceImageMemoryRequirements( vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" ) );
 | |
|       vkGetDeviceImageSparseMemoryRequirements = PFN_vkGetDeviceImageSparseMemoryRequirements(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" ) );
 | |
| 
 | |
|       //=== VK_KHR_swapchain ===
 | |
|       vkCreateSwapchainKHR    = PFN_vkCreateSwapchainKHR( vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" ) );
 | |
|       vkDestroySwapchainKHR   = PFN_vkDestroySwapchainKHR( vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" ) );
 | |
|       vkGetSwapchainImagesKHR = PFN_vkGetSwapchainImagesKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" ) );
 | |
|       vkAcquireNextImageKHR   = PFN_vkAcquireNextImageKHR( vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" ) );
 | |
|       vkQueuePresentKHR       = PFN_vkQueuePresentKHR( vkGetDeviceProcAddr( device, "vkQueuePresentKHR" ) );
 | |
|       vkGetDeviceGroupPresentCapabilitiesKHR = PFN_vkGetDeviceGroupPresentCapabilitiesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" ) );
 | |
|       vkGetDeviceGroupSurfacePresentModesKHR = PFN_vkGetDeviceGroupSurfacePresentModesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" ) );
 | |
|       vkAcquireNextImage2KHR = PFN_vkAcquireNextImage2KHR( vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_display_swapchain ===
 | |
|       vkCreateSharedSwapchainsKHR =
 | |
|         PFN_vkCreateSharedSwapchainsKHR( vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_debug_marker ===
 | |
|       vkDebugMarkerSetObjectTagEXT =
 | |
|         PFN_vkDebugMarkerSetObjectTagEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" ) );
 | |
|       vkDebugMarkerSetObjectNameEXT =
 | |
|         PFN_vkDebugMarkerSetObjectNameEXT( vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" ) );
 | |
|       vkCmdDebugMarkerBeginEXT =
 | |
|         PFN_vkCmdDebugMarkerBeginEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" ) );
 | |
|       vkCmdDebugMarkerEndEXT = PFN_vkCmdDebugMarkerEndEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" ) );
 | |
|       vkCmdDebugMarkerInsertEXT =
 | |
|         PFN_vkCmdDebugMarkerInsertEXT( vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" ) );
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_queue ===
 | |
|       vkCreateVideoSessionKHR = PFN_vkCreateVideoSessionKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" ) );
 | |
|       vkDestroyVideoSessionKHR =
 | |
|         PFN_vkDestroyVideoSessionKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" ) );
 | |
|       vkGetVideoSessionMemoryRequirementsKHR = PFN_vkGetVideoSessionMemoryRequirementsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" ) );
 | |
|       vkBindVideoSessionMemoryKHR =
 | |
|         PFN_vkBindVideoSessionMemoryKHR( vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" ) );
 | |
|       vkCreateVideoSessionParametersKHR =
 | |
|         PFN_vkCreateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" ) );
 | |
|       vkUpdateVideoSessionParametersKHR =
 | |
|         PFN_vkUpdateVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" ) );
 | |
|       vkDestroyVideoSessionParametersKHR =
 | |
|         PFN_vkDestroyVideoSessionParametersKHR( vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" ) );
 | |
|       vkCmdBeginVideoCodingKHR =
 | |
|         PFN_vkCmdBeginVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" ) );
 | |
|       vkCmdEndVideoCodingKHR = PFN_vkCmdEndVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" ) );
 | |
|       vkCmdControlVideoCodingKHR =
 | |
|         PFN_vkCmdControlVideoCodingKHR( vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_decode_queue ===
 | |
|       vkCmdDecodeVideoKHR = PFN_vkCmdDecodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|       //=== VK_EXT_transform_feedback ===
 | |
|       vkCmdBindTransformFeedbackBuffersEXT = PFN_vkCmdBindTransformFeedbackBuffersEXT(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" ) );
 | |
|       vkCmdBeginTransformFeedbackEXT =
 | |
|         PFN_vkCmdBeginTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" ) );
 | |
|       vkCmdEndTransformFeedbackEXT =
 | |
|         PFN_vkCmdEndTransformFeedbackEXT( vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" ) );
 | |
|       vkCmdBeginQueryIndexedEXT =
 | |
|         PFN_vkCmdBeginQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" ) );
 | |
|       vkCmdEndQueryIndexedEXT = PFN_vkCmdEndQueryIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" ) );
 | |
|       vkCmdDrawIndirectByteCountEXT =
 | |
|         PFN_vkCmdDrawIndirectByteCountEXT( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" ) );
 | |
| 
 | |
|       //=== VK_NVX_binary_import ===
 | |
|       vkCreateCuModuleNVX    = PFN_vkCreateCuModuleNVX( vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" ) );
 | |
|       vkCreateCuFunctionNVX  = PFN_vkCreateCuFunctionNVX( vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" ) );
 | |
|       vkDestroyCuModuleNVX   = PFN_vkDestroyCuModuleNVX( vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" ) );
 | |
|       vkDestroyCuFunctionNVX = PFN_vkDestroyCuFunctionNVX( vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" ) );
 | |
|       vkCmdCuLaunchKernelNVX = PFN_vkCmdCuLaunchKernelNVX( vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" ) );
 | |
| 
 | |
|       //=== VK_NVX_image_view_handle ===
 | |
|       vkGetImageViewHandleNVX = PFN_vkGetImageViewHandleNVX( vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" ) );
 | |
|       vkGetImageViewAddressNVX =
 | |
|         PFN_vkGetImageViewAddressNVX( vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" ) );
 | |
| 
 | |
|       //=== VK_AMD_draw_indirect_count ===
 | |
|       vkCmdDrawIndirectCountAMD =
 | |
|         PFN_vkCmdDrawIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountAMD" ) );
 | |
|       if ( !vkCmdDrawIndirectCount )
 | |
|         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountAMD;
 | |
|       vkCmdDrawIndexedIndirectCountAMD =
 | |
|         PFN_vkCmdDrawIndexedIndirectCountAMD( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountAMD" ) );
 | |
|       if ( !vkCmdDrawIndexedIndirectCount )
 | |
|         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountAMD;
 | |
| 
 | |
|       //=== VK_AMD_shader_info ===
 | |
|       vkGetShaderInfoAMD = PFN_vkGetShaderInfoAMD( vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" ) );
 | |
| 
 | |
|       //=== VK_KHR_dynamic_rendering ===
 | |
|       vkCmdBeginRenderingKHR = PFN_vkCmdBeginRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderingKHR" ) );
 | |
|       if ( !vkCmdBeginRendering )
 | |
|         vkCmdBeginRendering = vkCmdBeginRenderingKHR;
 | |
|       vkCmdEndRenderingKHR = PFN_vkCmdEndRenderingKHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderingKHR" ) );
 | |
|       if ( !vkCmdEndRendering )
 | |
|         vkCmdEndRendering = vkCmdEndRenderingKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_NV_external_memory_win32 ===
 | |
|       vkGetMemoryWin32HandleNV =
 | |
|         PFN_vkGetMemoryWin32HandleNV( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleNV" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_device_group ===
 | |
|       vkGetDeviceGroupPeerMemoryFeaturesKHR = PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeaturesKHR" ) );
 | |
|       if ( !vkGetDeviceGroupPeerMemoryFeatures )
 | |
|         vkGetDeviceGroupPeerMemoryFeatures = vkGetDeviceGroupPeerMemoryFeaturesKHR;
 | |
|       vkCmdSetDeviceMaskKHR = PFN_vkCmdSetDeviceMaskKHR( vkGetDeviceProcAddr( device, "vkCmdSetDeviceMaskKHR" ) );
 | |
|       if ( !vkCmdSetDeviceMask )
 | |
|         vkCmdSetDeviceMask = vkCmdSetDeviceMaskKHR;
 | |
|       vkCmdDispatchBaseKHR = PFN_vkCmdDispatchBaseKHR( vkGetDeviceProcAddr( device, "vkCmdDispatchBaseKHR" ) );
 | |
|       if ( !vkCmdDispatchBase )
 | |
|         vkCmdDispatchBase = vkCmdDispatchBaseKHR;
 | |
| 
 | |
|       //=== VK_KHR_maintenance1 ===
 | |
|       vkTrimCommandPoolKHR = PFN_vkTrimCommandPoolKHR( vkGetDeviceProcAddr( device, "vkTrimCommandPoolKHR" ) );
 | |
|       if ( !vkTrimCommandPool )
 | |
|         vkTrimCommandPool = vkTrimCommandPoolKHR;
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_memory_win32 ===
 | |
|       vkGetMemoryWin32HandleKHR =
 | |
|         PFN_vkGetMemoryWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandleKHR" ) );
 | |
|       vkGetMemoryWin32HandlePropertiesKHR =
 | |
|         PFN_vkGetMemoryWin32HandlePropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryWin32HandlePropertiesKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_memory_fd ===
 | |
|       vkGetMemoryFdKHR = PFN_vkGetMemoryFdKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" ) );
 | |
|       vkGetMemoryFdPropertiesKHR =
 | |
|         PFN_vkGetMemoryFdPropertiesKHR( vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_semaphore_win32 ===
 | |
|       vkImportSemaphoreWin32HandleKHR =
 | |
|         PFN_vkImportSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreWin32HandleKHR" ) );
 | |
|       vkGetSemaphoreWin32HandleKHR =
 | |
|         PFN_vkGetSemaphoreWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreWin32HandleKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_semaphore_fd ===
 | |
|       vkImportSemaphoreFdKHR = PFN_vkImportSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" ) );
 | |
|       vkGetSemaphoreFdKHR    = PFN_vkGetSemaphoreFdKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_push_descriptor ===
 | |
|       vkCmdPushDescriptorSetKHR =
 | |
|         PFN_vkCmdPushDescriptorSetKHR( vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" ) );
 | |
|       vkCmdPushDescriptorSetWithTemplateKHR = PFN_vkCmdPushDescriptorSetWithTemplateKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_conditional_rendering ===
 | |
|       vkCmdBeginConditionalRenderingEXT =
 | |
|         PFN_vkCmdBeginConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" ) );
 | |
|       vkCmdEndConditionalRenderingEXT =
 | |
|         PFN_vkCmdEndConditionalRenderingEXT( vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_descriptor_update_template ===
 | |
|       vkCreateDescriptorUpdateTemplateKHR =
 | |
|         PFN_vkCreateDescriptorUpdateTemplateKHR( vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplateKHR" ) );
 | |
|       if ( !vkCreateDescriptorUpdateTemplate )
 | |
|         vkCreateDescriptorUpdateTemplate = vkCreateDescriptorUpdateTemplateKHR;
 | |
|       vkDestroyDescriptorUpdateTemplateKHR = PFN_vkDestroyDescriptorUpdateTemplateKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplateKHR" ) );
 | |
|       if ( !vkDestroyDescriptorUpdateTemplate )
 | |
|         vkDestroyDescriptorUpdateTemplate = vkDestroyDescriptorUpdateTemplateKHR;
 | |
|       vkUpdateDescriptorSetWithTemplateKHR = PFN_vkUpdateDescriptorSetWithTemplateKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplateKHR" ) );
 | |
|       if ( !vkUpdateDescriptorSetWithTemplate )
 | |
|         vkUpdateDescriptorSetWithTemplate = vkUpdateDescriptorSetWithTemplateKHR;
 | |
| 
 | |
|       //=== VK_NV_clip_space_w_scaling ===
 | |
|       vkCmdSetViewportWScalingNV =
 | |
|         PFN_vkCmdSetViewportWScalingNV( vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_display_control ===
 | |
|       vkDisplayPowerControlEXT =
 | |
|         PFN_vkDisplayPowerControlEXT( vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" ) );
 | |
|       vkRegisterDeviceEventEXT =
 | |
|         PFN_vkRegisterDeviceEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" ) );
 | |
|       vkRegisterDisplayEventEXT =
 | |
|         PFN_vkRegisterDisplayEventEXT( vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" ) );
 | |
|       vkGetSwapchainCounterEXT =
 | |
|         PFN_vkGetSwapchainCounterEXT( vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" ) );
 | |
| 
 | |
|       //=== VK_GOOGLE_display_timing ===
 | |
|       vkGetRefreshCycleDurationGOOGLE =
 | |
|         PFN_vkGetRefreshCycleDurationGOOGLE( vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" ) );
 | |
|       vkGetPastPresentationTimingGOOGLE =
 | |
|         PFN_vkGetPastPresentationTimingGOOGLE( vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" ) );
 | |
| 
 | |
|       //=== VK_EXT_discard_rectangles ===
 | |
|       vkCmdSetDiscardRectangleEXT =
 | |
|         PFN_vkCmdSetDiscardRectangleEXT( vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_hdr_metadata ===
 | |
|       vkSetHdrMetadataEXT = PFN_vkSetHdrMetadataEXT( vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_create_renderpass2 ===
 | |
|       vkCreateRenderPass2KHR = PFN_vkCreateRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCreateRenderPass2KHR" ) );
 | |
|       if ( !vkCreateRenderPass2 )
 | |
|         vkCreateRenderPass2 = vkCreateRenderPass2KHR;
 | |
|       vkCmdBeginRenderPass2KHR =
 | |
|         PFN_vkCmdBeginRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2KHR" ) );
 | |
|       if ( !vkCmdBeginRenderPass2 )
 | |
|         vkCmdBeginRenderPass2 = vkCmdBeginRenderPass2KHR;
 | |
|       vkCmdNextSubpass2KHR = PFN_vkCmdNextSubpass2KHR( vkGetDeviceProcAddr( device, "vkCmdNextSubpass2KHR" ) );
 | |
|       if ( !vkCmdNextSubpass2 )
 | |
|         vkCmdNextSubpass2 = vkCmdNextSubpass2KHR;
 | |
|       vkCmdEndRenderPass2KHR = PFN_vkCmdEndRenderPass2KHR( vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2KHR" ) );
 | |
|       if ( !vkCmdEndRenderPass2 )
 | |
|         vkCmdEndRenderPass2 = vkCmdEndRenderPass2KHR;
 | |
| 
 | |
|       //=== VK_KHR_shared_presentable_image ===
 | |
|       vkGetSwapchainStatusKHR = PFN_vkGetSwapchainStatusKHR( vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_KHR_external_fence_win32 ===
 | |
|       vkImportFenceWin32HandleKHR =
 | |
|         PFN_vkImportFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkImportFenceWin32HandleKHR" ) );
 | |
|       vkGetFenceWin32HandleKHR =
 | |
|         PFN_vkGetFenceWin32HandleKHR( vkGetDeviceProcAddr( device, "vkGetFenceWin32HandleKHR" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_external_fence_fd ===
 | |
|       vkImportFenceFdKHR = PFN_vkImportFenceFdKHR( vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" ) );
 | |
|       vkGetFenceFdKHR    = PFN_vkGetFenceFdKHR( vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_performance_query ===
 | |
|       vkAcquireProfilingLockKHR =
 | |
|         PFN_vkAcquireProfilingLockKHR( vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" ) );
 | |
|       vkReleaseProfilingLockKHR =
 | |
|         PFN_vkReleaseProfilingLockKHR( vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_debug_utils ===
 | |
|       vkSetDebugUtilsObjectNameEXT =
 | |
|         PFN_vkSetDebugUtilsObjectNameEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" ) );
 | |
|       vkSetDebugUtilsObjectTagEXT =
 | |
|         PFN_vkSetDebugUtilsObjectTagEXT( vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" ) );
 | |
|       vkQueueBeginDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" ) );
 | |
|       vkQueueEndDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" ) );
 | |
|       vkQueueInsertDebugUtilsLabelEXT =
 | |
|         PFN_vkQueueInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" ) );
 | |
|       vkCmdBeginDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdBeginDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" ) );
 | |
|       vkCmdEndDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdEndDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" ) );
 | |
|       vkCmdInsertDebugUtilsLabelEXT =
 | |
|         PFN_vkCmdInsertDebugUtilsLabelEXT( vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_ANDROID_KHR )
 | |
|       //=== VK_ANDROID_external_memory_android_hardware_buffer ===
 | |
|       vkGetAndroidHardwareBufferPropertiesANDROID = PFN_vkGetAndroidHardwareBufferPropertiesANDROID(
 | |
|         vkGetDeviceProcAddr( device, "vkGetAndroidHardwareBufferPropertiesANDROID" ) );
 | |
|       vkGetMemoryAndroidHardwareBufferANDROID = PFN_vkGetMemoryAndroidHardwareBufferANDROID(
 | |
|         vkGetDeviceProcAddr( device, "vkGetMemoryAndroidHardwareBufferANDROID" ) );
 | |
| #endif /*VK_USE_PLATFORM_ANDROID_KHR*/
 | |
| 
 | |
|       //=== VK_EXT_sample_locations ===
 | |
|       vkCmdSetSampleLocationsEXT =
 | |
|         PFN_vkCmdSetSampleLocationsEXT( vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_get_memory_requirements2 ===
 | |
|       vkGetImageMemoryRequirements2KHR =
 | |
|         PFN_vkGetImageMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetImageMemoryRequirements2 )
 | |
|         vkGetImageMemoryRequirements2 = vkGetImageMemoryRequirements2KHR;
 | |
|       vkGetBufferMemoryRequirements2KHR =
 | |
|         PFN_vkGetBufferMemoryRequirements2KHR( vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetBufferMemoryRequirements2 )
 | |
|         vkGetBufferMemoryRequirements2 = vkGetBufferMemoryRequirements2KHR;
 | |
|       vkGetImageSparseMemoryRequirements2KHR = PFN_vkGetImageSparseMemoryRequirements2KHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2KHR" ) );
 | |
|       if ( !vkGetImageSparseMemoryRequirements2 )
 | |
|         vkGetImageSparseMemoryRequirements2 = vkGetImageSparseMemoryRequirements2KHR;
 | |
| 
 | |
|       //=== VK_KHR_acceleration_structure ===
 | |
|       vkCreateAccelerationStructureKHR =
 | |
|         PFN_vkCreateAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" ) );
 | |
|       vkDestroyAccelerationStructureKHR =
 | |
|         PFN_vkDestroyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" ) );
 | |
|       vkCmdBuildAccelerationStructuresKHR =
 | |
|         PFN_vkCmdBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" ) );
 | |
|       vkCmdBuildAccelerationStructuresIndirectKHR = PFN_vkCmdBuildAccelerationStructuresIndirectKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" ) );
 | |
|       vkBuildAccelerationStructuresKHR =
 | |
|         PFN_vkBuildAccelerationStructuresKHR( vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" ) );
 | |
|       vkCopyAccelerationStructureKHR =
 | |
|         PFN_vkCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" ) );
 | |
|       vkCopyAccelerationStructureToMemoryKHR = PFN_vkCopyAccelerationStructureToMemoryKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" ) );
 | |
|       vkCopyMemoryToAccelerationStructureKHR = PFN_vkCopyMemoryToAccelerationStructureKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" ) );
 | |
|       vkWriteAccelerationStructuresPropertiesKHR = PFN_vkWriteAccelerationStructuresPropertiesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" ) );
 | |
|       vkCmdCopyAccelerationStructureKHR =
 | |
|         PFN_vkCmdCopyAccelerationStructureKHR( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" ) );
 | |
|       vkCmdCopyAccelerationStructureToMemoryKHR = PFN_vkCmdCopyAccelerationStructureToMemoryKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" ) );
 | |
|       vkCmdCopyMemoryToAccelerationStructureKHR = PFN_vkCmdCopyMemoryToAccelerationStructureKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" ) );
 | |
|       vkGetAccelerationStructureDeviceAddressKHR = PFN_vkGetAccelerationStructureDeviceAddressKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" ) );
 | |
|       vkCmdWriteAccelerationStructuresPropertiesKHR = PFN_vkCmdWriteAccelerationStructuresPropertiesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" ) );
 | |
|       vkGetDeviceAccelerationStructureCompatibilityKHR = PFN_vkGetDeviceAccelerationStructureCompatibilityKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" ) );
 | |
|       vkGetAccelerationStructureBuildSizesKHR = PFN_vkGetAccelerationStructureBuildSizesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_sampler_ycbcr_conversion ===
 | |
|       vkCreateSamplerYcbcrConversionKHR =
 | |
|         PFN_vkCreateSamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversionKHR" ) );
 | |
|       if ( !vkCreateSamplerYcbcrConversion )
 | |
|         vkCreateSamplerYcbcrConversion = vkCreateSamplerYcbcrConversionKHR;
 | |
|       vkDestroySamplerYcbcrConversionKHR =
 | |
|         PFN_vkDestroySamplerYcbcrConversionKHR( vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversionKHR" ) );
 | |
|       if ( !vkDestroySamplerYcbcrConversion )
 | |
|         vkDestroySamplerYcbcrConversion = vkDestroySamplerYcbcrConversionKHR;
 | |
| 
 | |
|       //=== VK_KHR_bind_memory2 ===
 | |
|       vkBindBufferMemory2KHR = PFN_vkBindBufferMemory2KHR( vkGetDeviceProcAddr( device, "vkBindBufferMemory2KHR" ) );
 | |
|       if ( !vkBindBufferMemory2 )
 | |
|         vkBindBufferMemory2 = vkBindBufferMemory2KHR;
 | |
|       vkBindImageMemory2KHR = PFN_vkBindImageMemory2KHR( vkGetDeviceProcAddr( device, "vkBindImageMemory2KHR" ) );
 | |
|       if ( !vkBindImageMemory2 )
 | |
|         vkBindImageMemory2 = vkBindImageMemory2KHR;
 | |
| 
 | |
|       //=== VK_EXT_image_drm_format_modifier ===
 | |
|       vkGetImageDrmFormatModifierPropertiesEXT = PFN_vkGetImageDrmFormatModifierPropertiesEXT(
 | |
|         vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_validation_cache ===
 | |
|       vkCreateValidationCacheEXT =
 | |
|         PFN_vkCreateValidationCacheEXT( vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" ) );
 | |
|       vkDestroyValidationCacheEXT =
 | |
|         PFN_vkDestroyValidationCacheEXT( vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" ) );
 | |
|       vkMergeValidationCachesEXT =
 | |
|         PFN_vkMergeValidationCachesEXT( vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" ) );
 | |
|       vkGetValidationCacheDataEXT =
 | |
|         PFN_vkGetValidationCacheDataEXT( vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" ) );
 | |
| 
 | |
|       //=== VK_NV_shading_rate_image ===
 | |
|       vkCmdBindShadingRateImageNV =
 | |
|         PFN_vkCmdBindShadingRateImageNV( vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" ) );
 | |
|       vkCmdSetViewportShadingRatePaletteNV = PFN_vkCmdSetViewportShadingRatePaletteNV(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" ) );
 | |
|       vkCmdSetCoarseSampleOrderNV =
 | |
|         PFN_vkCmdSetCoarseSampleOrderNV( vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" ) );
 | |
| 
 | |
|       //=== VK_NV_ray_tracing ===
 | |
|       vkCreateAccelerationStructureNV =
 | |
|         PFN_vkCreateAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" ) );
 | |
|       vkDestroyAccelerationStructureNV =
 | |
|         PFN_vkDestroyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" ) );
 | |
|       vkGetAccelerationStructureMemoryRequirementsNV = PFN_vkGetAccelerationStructureMemoryRequirementsNV(
 | |
|         vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" ) );
 | |
|       vkBindAccelerationStructureMemoryNV =
 | |
|         PFN_vkBindAccelerationStructureMemoryNV( vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" ) );
 | |
|       vkCmdBuildAccelerationStructureNV =
 | |
|         PFN_vkCmdBuildAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" ) );
 | |
|       vkCmdCopyAccelerationStructureNV =
 | |
|         PFN_vkCmdCopyAccelerationStructureNV( vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" ) );
 | |
|       vkCmdTraceRaysNV = PFN_vkCmdTraceRaysNV( vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" ) );
 | |
|       vkCreateRayTracingPipelinesNV =
 | |
|         PFN_vkCreateRayTracingPipelinesNV( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" ) );
 | |
|       vkGetRayTracingShaderGroupHandlesNV =
 | |
|         PFN_vkGetRayTracingShaderGroupHandlesNV( vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesNV" ) );
 | |
|       if ( !vkGetRayTracingShaderGroupHandlesKHR )
 | |
|         vkGetRayTracingShaderGroupHandlesKHR = vkGetRayTracingShaderGroupHandlesNV;
 | |
|       vkGetAccelerationStructureHandleNV =
 | |
|         PFN_vkGetAccelerationStructureHandleNV( vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" ) );
 | |
|       vkCmdWriteAccelerationStructuresPropertiesNV = PFN_vkCmdWriteAccelerationStructuresPropertiesNV(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" ) );
 | |
|       vkCompileDeferredNV = PFN_vkCompileDeferredNV( vkGetDeviceProcAddr( device, "vkCompileDeferredNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_maintenance3 ===
 | |
|       vkGetDescriptorSetLayoutSupportKHR =
 | |
|         PFN_vkGetDescriptorSetLayoutSupportKHR( vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupportKHR" ) );
 | |
|       if ( !vkGetDescriptorSetLayoutSupport )
 | |
|         vkGetDescriptorSetLayoutSupport = vkGetDescriptorSetLayoutSupportKHR;
 | |
| 
 | |
|       //=== VK_KHR_draw_indirect_count ===
 | |
|       vkCmdDrawIndirectCountKHR =
 | |
|         PFN_vkCmdDrawIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCountKHR" ) );
 | |
|       if ( !vkCmdDrawIndirectCount )
 | |
|         vkCmdDrawIndirectCount = vkCmdDrawIndirectCountKHR;
 | |
|       vkCmdDrawIndexedIndirectCountKHR =
 | |
|         PFN_vkCmdDrawIndexedIndirectCountKHR( vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCountKHR" ) );
 | |
|       if ( !vkCmdDrawIndexedIndirectCount )
 | |
|         vkCmdDrawIndexedIndirectCount = vkCmdDrawIndexedIndirectCountKHR;
 | |
| 
 | |
|       //=== VK_EXT_external_memory_host ===
 | |
|       vkGetMemoryHostPointerPropertiesEXT =
 | |
|         PFN_vkGetMemoryHostPointerPropertiesEXT( vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" ) );
 | |
| 
 | |
|       //=== VK_AMD_buffer_marker ===
 | |
|       vkCmdWriteBufferMarkerAMD =
 | |
|         PFN_vkCmdWriteBufferMarkerAMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" ) );
 | |
| 
 | |
|       //=== VK_EXT_calibrated_timestamps ===
 | |
|       vkGetCalibratedTimestampsEXT =
 | |
|         PFN_vkGetCalibratedTimestampsEXT( vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" ) );
 | |
| 
 | |
|       //=== VK_NV_mesh_shader ===
 | |
|       vkCmdDrawMeshTasksNV = PFN_vkCmdDrawMeshTasksNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" ) );
 | |
|       vkCmdDrawMeshTasksIndirectNV =
 | |
|         PFN_vkCmdDrawMeshTasksIndirectNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" ) );
 | |
|       vkCmdDrawMeshTasksIndirectCountNV =
 | |
|         PFN_vkCmdDrawMeshTasksIndirectCountNV( vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" ) );
 | |
| 
 | |
|       //=== VK_NV_scissor_exclusive ===
 | |
|       vkCmdSetExclusiveScissorNV =
 | |
|         PFN_vkCmdSetExclusiveScissorNV( vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" ) );
 | |
| 
 | |
|       //=== VK_NV_device_diagnostic_checkpoints ===
 | |
|       vkCmdSetCheckpointNV = PFN_vkCmdSetCheckpointNV( vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" ) );
 | |
|       vkGetQueueCheckpointDataNV =
 | |
|         PFN_vkGetQueueCheckpointDataNV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_timeline_semaphore ===
 | |
|       vkGetSemaphoreCounterValueKHR =
 | |
|         PFN_vkGetSemaphoreCounterValueKHR( vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValueKHR" ) );
 | |
|       if ( !vkGetSemaphoreCounterValue )
 | |
|         vkGetSemaphoreCounterValue = vkGetSemaphoreCounterValueKHR;
 | |
|       vkWaitSemaphoresKHR = PFN_vkWaitSemaphoresKHR( vkGetDeviceProcAddr( device, "vkWaitSemaphoresKHR" ) );
 | |
|       if ( !vkWaitSemaphores )
 | |
|         vkWaitSemaphores = vkWaitSemaphoresKHR;
 | |
|       vkSignalSemaphoreKHR = PFN_vkSignalSemaphoreKHR( vkGetDeviceProcAddr( device, "vkSignalSemaphoreKHR" ) );
 | |
|       if ( !vkSignalSemaphore )
 | |
|         vkSignalSemaphore = vkSignalSemaphoreKHR;
 | |
| 
 | |
|       //=== VK_INTEL_performance_query ===
 | |
|       vkInitializePerformanceApiINTEL =
 | |
|         PFN_vkInitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" ) );
 | |
|       vkUninitializePerformanceApiINTEL =
 | |
|         PFN_vkUninitializePerformanceApiINTEL( vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" ) );
 | |
|       vkCmdSetPerformanceMarkerINTEL =
 | |
|         PFN_vkCmdSetPerformanceMarkerINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" ) );
 | |
|       vkCmdSetPerformanceStreamMarkerINTEL = PFN_vkCmdSetPerformanceStreamMarkerINTEL(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" ) );
 | |
|       vkCmdSetPerformanceOverrideINTEL =
 | |
|         PFN_vkCmdSetPerformanceOverrideINTEL( vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" ) );
 | |
|       vkAcquirePerformanceConfigurationINTEL = PFN_vkAcquirePerformanceConfigurationINTEL(
 | |
|         vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" ) );
 | |
|       vkReleasePerformanceConfigurationINTEL = PFN_vkReleasePerformanceConfigurationINTEL(
 | |
|         vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" ) );
 | |
|       vkQueueSetPerformanceConfigurationINTEL = PFN_vkQueueSetPerformanceConfigurationINTEL(
 | |
|         vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" ) );
 | |
|       vkGetPerformanceParameterINTEL =
 | |
|         PFN_vkGetPerformanceParameterINTEL( vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" ) );
 | |
| 
 | |
|       //=== VK_AMD_display_native_hdr ===
 | |
|       vkSetLocalDimmingAMD = PFN_vkSetLocalDimmingAMD( vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" ) );
 | |
| 
 | |
|       //=== VK_KHR_fragment_shading_rate ===
 | |
|       vkCmdSetFragmentShadingRateKHR =
 | |
|         PFN_vkCmdSetFragmentShadingRateKHR( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_buffer_device_address ===
 | |
|       vkGetBufferDeviceAddressEXT =
 | |
|         PFN_vkGetBufferDeviceAddressEXT( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressEXT" ) );
 | |
|       if ( !vkGetBufferDeviceAddress )
 | |
|         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressEXT;
 | |
| 
 | |
|       //=== VK_KHR_present_wait ===
 | |
|       vkWaitForPresentKHR = PFN_vkWaitForPresentKHR( vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_WIN32_KHR )
 | |
|       //=== VK_EXT_full_screen_exclusive ===
 | |
|       vkAcquireFullScreenExclusiveModeEXT =
 | |
|         PFN_vkAcquireFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkAcquireFullScreenExclusiveModeEXT" ) );
 | |
|       vkReleaseFullScreenExclusiveModeEXT =
 | |
|         PFN_vkReleaseFullScreenExclusiveModeEXT( vkGetDeviceProcAddr( device, "vkReleaseFullScreenExclusiveModeEXT" ) );
 | |
|       vkGetDeviceGroupSurfacePresentModes2EXT = PFN_vkGetDeviceGroupSurfacePresentModes2EXT(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModes2EXT" ) );
 | |
| #endif /*VK_USE_PLATFORM_WIN32_KHR*/
 | |
| 
 | |
|       //=== VK_KHR_buffer_device_address ===
 | |
|       vkGetBufferDeviceAddressKHR =
 | |
|         PFN_vkGetBufferDeviceAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddressKHR" ) );
 | |
|       if ( !vkGetBufferDeviceAddress )
 | |
|         vkGetBufferDeviceAddress = vkGetBufferDeviceAddressKHR;
 | |
|       vkGetBufferOpaqueCaptureAddressKHR =
 | |
|         PFN_vkGetBufferOpaqueCaptureAddressKHR( vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddressKHR" ) );
 | |
|       if ( !vkGetBufferOpaqueCaptureAddress )
 | |
|         vkGetBufferOpaqueCaptureAddress = vkGetBufferOpaqueCaptureAddressKHR;
 | |
|       vkGetDeviceMemoryOpaqueCaptureAddressKHR = PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR" ) );
 | |
|       if ( !vkGetDeviceMemoryOpaqueCaptureAddress )
 | |
|         vkGetDeviceMemoryOpaqueCaptureAddress = vkGetDeviceMemoryOpaqueCaptureAddressKHR;
 | |
| 
 | |
|       //=== VK_EXT_line_rasterization ===
 | |
|       vkCmdSetLineStippleEXT = PFN_vkCmdSetLineStippleEXT( vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_host_query_reset ===
 | |
|       vkResetQueryPoolEXT = PFN_vkResetQueryPoolEXT( vkGetDeviceProcAddr( device, "vkResetQueryPoolEXT" ) );
 | |
|       if ( !vkResetQueryPool )
 | |
|         vkResetQueryPool = vkResetQueryPoolEXT;
 | |
| 
 | |
|       //=== VK_EXT_extended_dynamic_state ===
 | |
|       vkCmdSetCullModeEXT = PFN_vkCmdSetCullModeEXT( vkGetDeviceProcAddr( device, "vkCmdSetCullModeEXT" ) );
 | |
|       if ( !vkCmdSetCullMode )
 | |
|         vkCmdSetCullMode = vkCmdSetCullModeEXT;
 | |
|       vkCmdSetFrontFaceEXT = PFN_vkCmdSetFrontFaceEXT( vkGetDeviceProcAddr( device, "vkCmdSetFrontFaceEXT" ) );
 | |
|       if ( !vkCmdSetFrontFace )
 | |
|         vkCmdSetFrontFace = vkCmdSetFrontFaceEXT;
 | |
|       vkCmdSetPrimitiveTopologyEXT =
 | |
|         PFN_vkCmdSetPrimitiveTopologyEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopologyEXT" ) );
 | |
|       if ( !vkCmdSetPrimitiveTopology )
 | |
|         vkCmdSetPrimitiveTopology = vkCmdSetPrimitiveTopologyEXT;
 | |
|       vkCmdSetViewportWithCountEXT =
 | |
|         PFN_vkCmdSetViewportWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCountEXT" ) );
 | |
|       if ( !vkCmdSetViewportWithCount )
 | |
|         vkCmdSetViewportWithCount = vkCmdSetViewportWithCountEXT;
 | |
|       vkCmdSetScissorWithCountEXT =
 | |
|         PFN_vkCmdSetScissorWithCountEXT( vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCountEXT" ) );
 | |
|       if ( !vkCmdSetScissorWithCount )
 | |
|         vkCmdSetScissorWithCount = vkCmdSetScissorWithCountEXT;
 | |
|       vkCmdBindVertexBuffers2EXT =
 | |
|         PFN_vkCmdBindVertexBuffers2EXT( vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2EXT" ) );
 | |
|       if ( !vkCmdBindVertexBuffers2 )
 | |
|         vkCmdBindVertexBuffers2 = vkCmdBindVertexBuffers2EXT;
 | |
|       vkCmdSetDepthTestEnableEXT =
 | |
|         PFN_vkCmdSetDepthTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthTestEnable )
 | |
|         vkCmdSetDepthTestEnable = vkCmdSetDepthTestEnableEXT;
 | |
|       vkCmdSetDepthWriteEnableEXT =
 | |
|         PFN_vkCmdSetDepthWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthWriteEnable )
 | |
|         vkCmdSetDepthWriteEnable = vkCmdSetDepthWriteEnableEXT;
 | |
|       vkCmdSetDepthCompareOpEXT =
 | |
|         PFN_vkCmdSetDepthCompareOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOpEXT" ) );
 | |
|       if ( !vkCmdSetDepthCompareOp )
 | |
|         vkCmdSetDepthCompareOp = vkCmdSetDepthCompareOpEXT;
 | |
|       vkCmdSetDepthBoundsTestEnableEXT =
 | |
|         PFN_vkCmdSetDepthBoundsTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthBoundsTestEnable )
 | |
|         vkCmdSetDepthBoundsTestEnable = vkCmdSetDepthBoundsTestEnableEXT;
 | |
|       vkCmdSetStencilTestEnableEXT =
 | |
|         PFN_vkCmdSetStencilTestEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnableEXT" ) );
 | |
|       if ( !vkCmdSetStencilTestEnable )
 | |
|         vkCmdSetStencilTestEnable = vkCmdSetStencilTestEnableEXT;
 | |
|       vkCmdSetStencilOpEXT = PFN_vkCmdSetStencilOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetStencilOpEXT" ) );
 | |
|       if ( !vkCmdSetStencilOp )
 | |
|         vkCmdSetStencilOp = vkCmdSetStencilOpEXT;
 | |
| 
 | |
|       //=== VK_KHR_deferred_host_operations ===
 | |
|       vkCreateDeferredOperationKHR =
 | |
|         PFN_vkCreateDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" ) );
 | |
|       vkDestroyDeferredOperationKHR =
 | |
|         PFN_vkDestroyDeferredOperationKHR( vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" ) );
 | |
|       vkGetDeferredOperationMaxConcurrencyKHR = PFN_vkGetDeferredOperationMaxConcurrencyKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" ) );
 | |
|       vkGetDeferredOperationResultKHR =
 | |
|         PFN_vkGetDeferredOperationResultKHR( vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" ) );
 | |
|       vkDeferredOperationJoinKHR =
 | |
|         PFN_vkDeferredOperationJoinKHR( vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" ) );
 | |
| 
 | |
|       //=== VK_KHR_pipeline_executable_properties ===
 | |
|       vkGetPipelineExecutablePropertiesKHR = PFN_vkGetPipelineExecutablePropertiesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" ) );
 | |
|       vkGetPipelineExecutableStatisticsKHR = PFN_vkGetPipelineExecutableStatisticsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" ) );
 | |
|       vkGetPipelineExecutableInternalRepresentationsKHR = PFN_vkGetPipelineExecutableInternalRepresentationsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" ) );
 | |
| 
 | |
|       //=== VK_NV_device_generated_commands ===
 | |
|       vkGetGeneratedCommandsMemoryRequirementsNV = PFN_vkGetGeneratedCommandsMemoryRequirementsNV(
 | |
|         vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" ) );
 | |
|       vkCmdPreprocessGeneratedCommandsNV =
 | |
|         PFN_vkCmdPreprocessGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" ) );
 | |
|       vkCmdExecuteGeneratedCommandsNV =
 | |
|         PFN_vkCmdExecuteGeneratedCommandsNV( vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" ) );
 | |
|       vkCmdBindPipelineShaderGroupNV =
 | |
|         PFN_vkCmdBindPipelineShaderGroupNV( vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" ) );
 | |
|       vkCreateIndirectCommandsLayoutNV =
 | |
|         PFN_vkCreateIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" ) );
 | |
|       vkDestroyIndirectCommandsLayoutNV =
 | |
|         PFN_vkDestroyIndirectCommandsLayoutNV( vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_private_data ===
 | |
|       vkCreatePrivateDataSlotEXT =
 | |
|         PFN_vkCreatePrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlotEXT" ) );
 | |
|       if ( !vkCreatePrivateDataSlot )
 | |
|         vkCreatePrivateDataSlot = vkCreatePrivateDataSlotEXT;
 | |
|       vkDestroyPrivateDataSlotEXT =
 | |
|         PFN_vkDestroyPrivateDataSlotEXT( vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlotEXT" ) );
 | |
|       if ( !vkDestroyPrivateDataSlot )
 | |
|         vkDestroyPrivateDataSlot = vkDestroyPrivateDataSlotEXT;
 | |
|       vkSetPrivateDataEXT = PFN_vkSetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkSetPrivateDataEXT" ) );
 | |
|       if ( !vkSetPrivateData )
 | |
|         vkSetPrivateData = vkSetPrivateDataEXT;
 | |
|       vkGetPrivateDataEXT = PFN_vkGetPrivateDataEXT( vkGetDeviceProcAddr( device, "vkGetPrivateDataEXT" ) );
 | |
|       if ( !vkGetPrivateData )
 | |
|         vkGetPrivateData = vkGetPrivateDataEXT;
 | |
| 
 | |
| #if defined( VK_ENABLE_BETA_EXTENSIONS )
 | |
|       //=== VK_KHR_video_encode_queue ===
 | |
|       vkCmdEncodeVideoKHR = PFN_vkCmdEncodeVideoKHR( vkGetDeviceProcAddr( device, "vkCmdEncodeVideoKHR" ) );
 | |
| #endif /*VK_ENABLE_BETA_EXTENSIONS*/
 | |
| 
 | |
|       //=== VK_KHR_synchronization2 ===
 | |
|       vkCmdSetEvent2KHR = PFN_vkCmdSetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdSetEvent2KHR" ) );
 | |
|       if ( !vkCmdSetEvent2 )
 | |
|         vkCmdSetEvent2 = vkCmdSetEvent2KHR;
 | |
|       vkCmdResetEvent2KHR = PFN_vkCmdResetEvent2KHR( vkGetDeviceProcAddr( device, "vkCmdResetEvent2KHR" ) );
 | |
|       if ( !vkCmdResetEvent2 )
 | |
|         vkCmdResetEvent2 = vkCmdResetEvent2KHR;
 | |
|       vkCmdWaitEvents2KHR = PFN_vkCmdWaitEvents2KHR( vkGetDeviceProcAddr( device, "vkCmdWaitEvents2KHR" ) );
 | |
|       if ( !vkCmdWaitEvents2 )
 | |
|         vkCmdWaitEvents2 = vkCmdWaitEvents2KHR;
 | |
|       vkCmdPipelineBarrier2KHR =
 | |
|         PFN_vkCmdPipelineBarrier2KHR( vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2KHR" ) );
 | |
|       if ( !vkCmdPipelineBarrier2 )
 | |
|         vkCmdPipelineBarrier2 = vkCmdPipelineBarrier2KHR;
 | |
|       vkCmdWriteTimestamp2KHR = PFN_vkCmdWriteTimestamp2KHR( vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2KHR" ) );
 | |
|       if ( !vkCmdWriteTimestamp2 )
 | |
|         vkCmdWriteTimestamp2 = vkCmdWriteTimestamp2KHR;
 | |
|       vkQueueSubmit2KHR = PFN_vkQueueSubmit2KHR( vkGetDeviceProcAddr( device, "vkQueueSubmit2KHR" ) );
 | |
|       if ( !vkQueueSubmit2 )
 | |
|         vkQueueSubmit2 = vkQueueSubmit2KHR;
 | |
|       vkCmdWriteBufferMarker2AMD =
 | |
|         PFN_vkCmdWriteBufferMarker2AMD( vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" ) );
 | |
|       vkGetQueueCheckpointData2NV =
 | |
|         PFN_vkGetQueueCheckpointData2NV( vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" ) );
 | |
| 
 | |
|       //=== VK_NV_fragment_shading_rate_enums ===
 | |
|       vkCmdSetFragmentShadingRateEnumNV =
 | |
|         PFN_vkCmdSetFragmentShadingRateEnumNV( vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" ) );
 | |
| 
 | |
|       //=== VK_KHR_copy_commands2 ===
 | |
|       vkCmdCopyBuffer2KHR = PFN_vkCmdCopyBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2KHR" ) );
 | |
|       if ( !vkCmdCopyBuffer2 )
 | |
|         vkCmdCopyBuffer2 = vkCmdCopyBuffer2KHR;
 | |
|       vkCmdCopyImage2KHR = PFN_vkCmdCopyImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImage2KHR" ) );
 | |
|       if ( !vkCmdCopyImage2 )
 | |
|         vkCmdCopyImage2 = vkCmdCopyImage2KHR;
 | |
|       vkCmdCopyBufferToImage2KHR =
 | |
|         PFN_vkCmdCopyBufferToImage2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2KHR" ) );
 | |
|       if ( !vkCmdCopyBufferToImage2 )
 | |
|         vkCmdCopyBufferToImage2 = vkCmdCopyBufferToImage2KHR;
 | |
|       vkCmdCopyImageToBuffer2KHR =
 | |
|         PFN_vkCmdCopyImageToBuffer2KHR( vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2KHR" ) );
 | |
|       if ( !vkCmdCopyImageToBuffer2 )
 | |
|         vkCmdCopyImageToBuffer2 = vkCmdCopyImageToBuffer2KHR;
 | |
|       vkCmdBlitImage2KHR = PFN_vkCmdBlitImage2KHR( vkGetDeviceProcAddr( device, "vkCmdBlitImage2KHR" ) );
 | |
|       if ( !vkCmdBlitImage2 )
 | |
|         vkCmdBlitImage2 = vkCmdBlitImage2KHR;
 | |
|       vkCmdResolveImage2KHR = PFN_vkCmdResolveImage2KHR( vkGetDeviceProcAddr( device, "vkCmdResolveImage2KHR" ) );
 | |
|       if ( !vkCmdResolveImage2 )
 | |
|         vkCmdResolveImage2 = vkCmdResolveImage2KHR;
 | |
| 
 | |
|       //=== VK_KHR_ray_tracing_pipeline ===
 | |
|       vkCmdTraceRaysKHR = PFN_vkCmdTraceRaysKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" ) );
 | |
|       vkCreateRayTracingPipelinesKHR =
 | |
|         PFN_vkCreateRayTracingPipelinesKHR( vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" ) );
 | |
|       vkGetRayTracingShaderGroupHandlesKHR = PFN_vkGetRayTracingShaderGroupHandlesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" ) );
 | |
|       vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" ) );
 | |
|       vkCmdTraceRaysIndirectKHR =
 | |
|         PFN_vkCmdTraceRaysIndirectKHR( vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" ) );
 | |
|       vkGetRayTracingShaderGroupStackSizeKHR = PFN_vkGetRayTracingShaderGroupStackSizeKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" ) );
 | |
|       vkCmdSetRayTracingPipelineStackSizeKHR = PFN_vkCmdSetRayTracingPipelineStackSizeKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" ) );
 | |
| 
 | |
|       //=== VK_EXT_vertex_input_dynamic_state ===
 | |
|       vkCmdSetVertexInputEXT = PFN_vkCmdSetVertexInputEXT( vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" ) );
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_external_memory ===
 | |
|       vkGetMemoryZirconHandleFUCHSIA =
 | |
|         PFN_vkGetMemoryZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandleFUCHSIA" ) );
 | |
|       vkGetMemoryZirconHandlePropertiesFUCHSIA = PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA(
 | |
|         vkGetDeviceProcAddr( device, "vkGetMemoryZirconHandlePropertiesFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_external_semaphore ===
 | |
|       vkImportSemaphoreZirconHandleFUCHSIA = PFN_vkImportSemaphoreZirconHandleFUCHSIA(
 | |
|         vkGetDeviceProcAddr( device, "vkImportSemaphoreZirconHandleFUCHSIA" ) );
 | |
|       vkGetSemaphoreZirconHandleFUCHSIA =
 | |
|         PFN_vkGetSemaphoreZirconHandleFUCHSIA( vkGetDeviceProcAddr( device, "vkGetSemaphoreZirconHandleFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
| #if defined( VK_USE_PLATFORM_FUCHSIA )
 | |
|       //=== VK_FUCHSIA_buffer_collection ===
 | |
|       vkCreateBufferCollectionFUCHSIA =
 | |
|         PFN_vkCreateBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkCreateBufferCollectionFUCHSIA" ) );
 | |
|       vkSetBufferCollectionImageConstraintsFUCHSIA = PFN_vkSetBufferCollectionImageConstraintsFUCHSIA(
 | |
|         vkGetDeviceProcAddr( device, "vkSetBufferCollectionImageConstraintsFUCHSIA" ) );
 | |
|       vkSetBufferCollectionBufferConstraintsFUCHSIA = PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA(
 | |
|         vkGetDeviceProcAddr( device, "vkSetBufferCollectionBufferConstraintsFUCHSIA" ) );
 | |
|       vkDestroyBufferCollectionFUCHSIA =
 | |
|         PFN_vkDestroyBufferCollectionFUCHSIA( vkGetDeviceProcAddr( device, "vkDestroyBufferCollectionFUCHSIA" ) );
 | |
|       vkGetBufferCollectionPropertiesFUCHSIA = PFN_vkGetBufferCollectionPropertiesFUCHSIA(
 | |
|         vkGetDeviceProcAddr( device, "vkGetBufferCollectionPropertiesFUCHSIA" ) );
 | |
| #endif /*VK_USE_PLATFORM_FUCHSIA*/
 | |
| 
 | |
|       //=== VK_HUAWEI_subpass_shading ===
 | |
|       vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" ) );
 | |
|       vkCmdSubpassShadingHUAWEI =
 | |
|         PFN_vkCmdSubpassShadingHUAWEI( vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" ) );
 | |
| 
 | |
|       //=== VK_HUAWEI_invocation_mask ===
 | |
|       vkCmdBindInvocationMaskHUAWEI =
 | |
|         PFN_vkCmdBindInvocationMaskHUAWEI( vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" ) );
 | |
| 
 | |
|       //=== VK_NV_external_memory_rdma ===
 | |
|       vkGetMemoryRemoteAddressNV =
 | |
|         PFN_vkGetMemoryRemoteAddressNV( vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" ) );
 | |
| 
 | |
|       //=== VK_EXT_extended_dynamic_state2 ===
 | |
|       vkCmdSetPatchControlPointsEXT =
 | |
|         PFN_vkCmdSetPatchControlPointsEXT( vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" ) );
 | |
|       vkCmdSetRasterizerDiscardEnableEXT =
 | |
|         PFN_vkCmdSetRasterizerDiscardEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnableEXT" ) );
 | |
|       if ( !vkCmdSetRasterizerDiscardEnable )
 | |
|         vkCmdSetRasterizerDiscardEnable = vkCmdSetRasterizerDiscardEnableEXT;
 | |
|       vkCmdSetDepthBiasEnableEXT =
 | |
|         PFN_vkCmdSetDepthBiasEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnableEXT" ) );
 | |
|       if ( !vkCmdSetDepthBiasEnable )
 | |
|         vkCmdSetDepthBiasEnable = vkCmdSetDepthBiasEnableEXT;
 | |
|       vkCmdSetLogicOpEXT = PFN_vkCmdSetLogicOpEXT( vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" ) );
 | |
|       vkCmdSetPrimitiveRestartEnableEXT =
 | |
|         PFN_vkCmdSetPrimitiveRestartEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnableEXT" ) );
 | |
|       if ( !vkCmdSetPrimitiveRestartEnable )
 | |
|         vkCmdSetPrimitiveRestartEnable = vkCmdSetPrimitiveRestartEnableEXT;
 | |
| 
 | |
|       //=== VK_EXT_color_write_enable ===
 | |
|       vkCmdSetColorWriteEnableEXT =
 | |
|         PFN_vkCmdSetColorWriteEnableEXT( vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_multi_draw ===
 | |
|       vkCmdDrawMultiEXT = PFN_vkCmdDrawMultiEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" ) );
 | |
|       vkCmdDrawMultiIndexedEXT =
 | |
|         PFN_vkCmdDrawMultiIndexedEXT( vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" ) );
 | |
| 
 | |
|       //=== VK_EXT_pageable_device_local_memory ===
 | |
|       vkSetDeviceMemoryPriorityEXT =
 | |
|         PFN_vkSetDeviceMemoryPriorityEXT( vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" ) );
 | |
| 
 | |
|       //=== VK_KHR_maintenance4 ===
 | |
|       vkGetDeviceBufferMemoryRequirementsKHR = PFN_vkGetDeviceBufferMemoryRequirementsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceBufferMemoryRequirements )
 | |
|         vkGetDeviceBufferMemoryRequirements = vkGetDeviceBufferMemoryRequirementsKHR;
 | |
|       vkGetDeviceImageMemoryRequirementsKHR = PFN_vkGetDeviceImageMemoryRequirementsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceImageMemoryRequirements )
 | |
|         vkGetDeviceImageMemoryRequirements = vkGetDeviceImageMemoryRequirementsKHR;
 | |
|       vkGetDeviceImageSparseMemoryRequirementsKHR = PFN_vkGetDeviceImageSparseMemoryRequirementsKHR(
 | |
|         vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirementsKHR" ) );
 | |
|       if ( !vkGetDeviceImageSparseMemoryRequirements )
 | |
|         vkGetDeviceImageSparseMemoryRequirements = vkGetDeviceImageSparseMemoryRequirementsKHR;
 | |
|     }
 | |
|   };
 | |
| }  // namespace VULKAN_HPP_NAMESPACE
 | |
| #endif
 |