| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270 |
- // Copyright 2015-2023 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_MACROS_HPP
- #define VULKAN_HPP_MACROS_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
- #if defined( VULKAN_HPP_DISABLE_ENHANCED_MODE )
- # if !defined( VULKAN_HPP_NO_SMART_HANDLE )
- # define VULKAN_HPP_NO_SMART_HANDLE
- # endif
- #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 )
- # 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 !defined( __has_include )
- # define __has_include( x ) false
- #endif
- #if ( 201907 <= __cpp_lib_three_way_comparison ) && __has_include( <compare> ) && !defined( VULKAN_HPP_NO_SPACESHIP_OPERATOR )
- # define VULKAN_HPP_HAS_SPACESHIP_OPERATOR
- #endif
- #if ( 201803 <= __cpp_lib_span )
- # define VULKAN_HPP_SUPPORT_SPAN
- #endif
- // 32-bit vulkan is not typesafe for non-dispatchable 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
- #if defined( __GNUC__ )
- # define GCC_VERSION ( __GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__ )
- #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__ )
- # 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 201304 <= __cpp_constexpr
- # define VULKAN_HPP_CONSTEXPR_14 constexpr
- # else
- # define VULKAN_HPP_CONSTEXPR_14
- # endif
- # if ( 201907 <= __cpp_constexpr ) && ( !defined( __GNUC__ ) || ( 110400 < GCC_VERSION ) )
- # define VULKAN_HPP_CONSTEXPR_20 constexpr
- # else
- # define VULKAN_HPP_CONSTEXPR_20
- # 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_CONSTEXPR_INLINE )
- # if 201606L <= __cpp_inline_variables
- # define VULKAN_HPP_CONSTEXPR_INLINE VULKAN_HPP_CONSTEXPR inline
- # else
- # define VULKAN_HPP_CONSTEXPR_INLINE VULKAN_HPP_CONSTEXPR
- # endif
- #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 )
- #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
- namespace VULKAN_HPP_NAMESPACE
- {
- class DispatchLoaderDynamic;
- } // namespace VULKAN_HPP_NAMESPACE
- #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 ::VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic defaultDispatchLoaderDynamic; \
- }
- namespace VULKAN_HPP_NAMESPACE
- {
- extern VULKAN_HPP_STORAGE_API VULKAN_HPP_NAMESPACE::DispatchLoaderDynamic defaultDispatchLoaderDynamic;
- } // namespace VULKAN_HPP_NAMESPACE
- # else
- # 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
- #endif
|