aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/vulkan/vulkan_hpp_macros.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/vulkan/vulkan_hpp_macros.hpp')
-rw-r--r--include/vulkan/vulkan_hpp_macros.hpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/vulkan/vulkan_hpp_macros.hpp b/include/vulkan/vulkan_hpp_macros.hpp
index b754679..0ad04dd 100644
--- a/include/vulkan/vulkan_hpp_macros.hpp
+++ b/include/vulkan/vulkan_hpp_macros.hpp
@@ -87,6 +87,19 @@
# define VULKAN_HPP_SUPPORT_SPAN
#endif
+#if defined( __cpp_lib_modules ) && !defined( VULKAN_HPP_STD_MODULE ) && defined( VULKAN_HPP_ENABLE_STD_MODULE )
+# define VULKAN_HPP_STD_MODULE std.compat
+#endif
+
+#ifndef VK_USE_64_BIT_PTR_DEFINES
+# if defined( __LP64__ ) || defined( _WIN64 ) || ( defined( __x86_64__ ) && !defined( __ILP32__ ) ) || defined( _M_X64 ) || defined( __ia64 ) || \
+ defined( _M_IA64 ) || defined( __aarch64__ ) || defined( __powerpc64__ ) || ( defined( __riscv ) && __riscv_xlen == 64 )
+# define VK_USE_64_BIT_PTR_DEFINES 1
+# else
+# define VK_USE_64_BIT_PTR_DEFINES 0
+# endif
+#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 1
// To disable this feature on 64-bit platforms please #define VULKAN_HPP_TYPESAFE_CONVERSION 0
@@ -185,6 +198,12 @@
# define VULKAN_HPP_DEPRECATED( msg )
#endif
+#if 17 <= VULKAN_HPP_CPP_VERSION
+# define VULKAN_HPP_DEPRECATED_17( msg ) [[deprecated( msg )]]
+#else
+# define VULKAN_HPP_DEPRECATED_17( 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 )
@@ -279,7 +298,9 @@ namespace VULKAN_HPP_NAMESPACE
#endif
#if !defined( VULKAN_HPP_EXPECTED ) && ( 23 <= VULKAN_HPP_CPP_VERSION ) && defined( __cpp_lib_expected )
-# include <expected>
+# if !( defined( VULKAN_HPP_ENABLE_STD_MODULE ) && defined( VULKAN_HPP_STD_MODULE ) )
+# include <expected>
+# endif
# define VULKAN_HPP_EXPECTED std::expected
# define VULKAN_HPP_UNEXPECTED std::unexpected
#endif