Compare commits

...

4 Commits

Author SHA1 Message Date
Sharadh Rajaraman dcd75d477d Use corrected module name in all tests 2025-11-11 21:29:54 +00:00
Sharadh Rajaraman f94e39b836 Add vulkan-video to main module instead of separately 2025-11-11 08:27:38 +00:00
Sharadh Rajaraman e0d143a47e Export-import video module partition
- Also rename the main module as `vulkan`
2025-11-11 08:27:15 +00:00
Sharadh Rajaraman 9324975263 Export vulkan-video as module partition of `vulkan` 2025-11-11 08:23:33 +00:00
26 changed files with 293 additions and 285 deletions

View File

@ -341,12 +341,10 @@ if( VULKAN_HPP_BUILD_CXX_MODULE )
# create targets providing VulkanHpp and VulkanVideoHpp as C++ named modules # create targets providing VulkanHpp and VulkanVideoHpp as C++ named modules
vulkan_hpp__setup_vulkan_module( NAME VulkanHppModule vulkan_hpp__setup_vulkan_module( NAME VulkanHppModule
FILE_SET_NAME vulkan_module_file FILE_SET_NAME vulkan_module_file
FILE_SET vulkan/vulkan.cppm FILE_SET
vulkan/vulkan.cppm
vulkan/vulkan_video.cppm
ALIAS Vulkan::HppModule ) # TODO: respect VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP ALIAS Vulkan::HppModule ) # TODO: respect VULKAN_HPP_BUILD_WITH_LOCAL_VULKAN_HPP
vulkan_hpp__setup_vulkan_module( NAME VulkanVideoHppModule
FILE_SET_NAME vulkan_video_module_file
FILE_SET vulkan/vulkan_video.cppm
ALIAS Vulkan::VideoHppModule )
endif() endif()
function( vulkan_hpp__setup_platform ) function( vulkan_hpp__setup_platform )

View File

@ -8,10 +8,9 @@ module;
#if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING ) #if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
# define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \ # define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \
"The Vulkan-Hpp C++ named module is experimental. " \ "\n\tThe Vulkan-Hpp C++ named module is experimental. It is subject to change without prior notice.\n" \
"It is subject to change without prior notice.\n" \ "\tTo silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n" \
"To silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n\n" \ "\tFor feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
"For feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING ) VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#endif #endif
@ -23,7 +22,8 @@ module;
#include <vulkan/${api}_raii.hpp> #include <vulkan/${api}_raii.hpp>
#include <vulkan/${api}_shared.hpp> #include <vulkan/${api}_shared.hpp>
export module ${api}_hpp; export module ${api};
export import :video;
export import std.compat; export import std.compat;
export namespace VULKAN_HPP_NAMESPACE export namespace VULKAN_HPP_NAMESPACE

View File

@ -1,20 +1,25 @@
${copyrightMessage} ${copyrightMessage}
// Note: This module is still in an experimental state.
// Any feedback is welcome on https://github.com/KhronosGroup/Vulkan-Hpp/issues.
module; module;
#define VULKAN_HPP_CXX_MODULE 1
#include <vulkan/vulkan_hpp_macros.hpp> #include <vulkan/vulkan_hpp_macros.hpp>
#if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
# define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \
"\n\tThe Vulkan-Hpp C++ named module is experimental. It is subject to change without prior notice.\n" \
"\tTo silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n" \
"\tFor feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#endif
#include <vulkan/vulkan_video.hpp> #include <vulkan/vulkan_video.hpp>
export module vulkan_video_hpp; export module vulkan:video;
export namespace VULKAN_HPP_NAMESPACE export namespace VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE
{
namespace VULKAN_HPP_VIDEO_NAMESPACE
{ {
${usings} ${usings}
} // namespace VULKAN_HPP_VIDEO_NAMESPACE } // namespace VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE
} // namespace VULKAN_HPP_NAMESPACE

View File

@ -35,7 +35,7 @@
# ifdef VULKAN_HPP_SUPPORT_SPAN # ifdef VULKAN_HPP_SUPPORT_SPAN
# include <span> # include <span>
# endif # endif
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -32,7 +32,7 @@
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
# include <vulkan/vulkan_hpp_macros.hpp> # include <vulkan/vulkan_hpp_macros.hpp>
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -25,7 +25,7 @@
#endif #endif
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -19,7 +19,7 @@
#include <string> // std::string #include <string> // std::string
#include <iostream> // std::cout #include <iostream> // std::cout
import vulkan_hpp; import vulkan;
static std::string AppName = "Cpp20Modules"; static std::string AppName = "Cpp20Modules";
static std::string EngineName = "Vulkan.cppm"; static std::string EngineName = "Vulkan.cppm";

View File

@ -16,7 +16,7 @@
// Compile test on using c++20 modules // Compile test on using c++20 modules
import std; import std;
import vulkan_hpp; import vulkan;
#if defined( _MSC_VER ) #if defined( _MSC_VER )
# pragma warning( disable : 4189 ) // local variable is initialized but not referenced # pragma warning( disable : 4189 ) // local variable is initialized but not referenced

View File

@ -20,7 +20,7 @@
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
# include <vulkan/vulkan.h> # include <vulkan/vulkan.h>
# include <vulkan/vulkan_hpp_macros.hpp> # include <vulkan/vulkan_hpp_macros.hpp>
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
# include <vulkan/vulkan_raii.hpp> # include <vulkan/vulkan_raii.hpp>

View File

@ -20,7 +20,7 @@
#include <vector> #include <vector>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
# include <vulkan/vulkan_hpp_macros.hpp> # include <vulkan/vulkan_hpp_macros.hpp>
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -33,7 +33,7 @@
#include <iostream> #include <iostream>
#include <algorithm> #include <algorithm>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -20,7 +20,7 @@
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -29,7 +29,7 @@
#endif #endif
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -29,7 +29,7 @@
#endif #endif
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan_extension_inspection.hpp> # include <vulkan/vulkan_extension_inspection.hpp>
#endif #endif

View File

@ -35,7 +35,7 @@
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
# include <compare> // necessary due to MSVC "design": https://developercommunity.visualstudio.com/t/Template-exports-requiring-importing-of-/1425979#T-N1435887 # include <compare> // necessary due to MSVC "design": https://developercommunity.visualstudio.com/t/Template-exports-requiring-importing-of-/1425979#T-N1435887
# include <vulkan/vulkan_core.h> # include <vulkan/vulkan_core.h>
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -21,7 +21,7 @@
#include <map> #include <map>
#include <set> #include <set>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan_format_traits.hpp> # include <vulkan/vulkan_format_traits.hpp>
#endif #endif

View File

@ -19,7 +19,7 @@
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
#include <vulkan/vulkan.h> #include <vulkan/vulkan.h>
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan_raii.hpp> # include <vulkan/vulkan_raii.hpp>
#endif #endif

View File

@ -15,7 +15,7 @@
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include <vulkan/vulkan.hpp> # include <vulkan/vulkan.hpp>
#endif #endif

View File

@ -32,7 +32,7 @@
#include <unordered_set> #include <unordered_set>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
#include <vulkan/vulkan_hpp_macros.hpp> #include <vulkan/vulkan_hpp_macros.hpp>
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan_hash.hpp" # include "vulkan/vulkan_hash.hpp"
#endif #endif

View File

@ -22,7 +22,7 @@
#include <iostream> #include <iostream>
#include <algorithm> #include <algorithm>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan.hpp" # include "vulkan/vulkan.hpp"
#endif #endif

View File

@ -21,7 +21,7 @@
#include <cstdint> #include <cstdint>
#include <algorithm> #include <algorithm>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan_raii.hpp" # include "vulkan/vulkan_raii.hpp"
#endif #endif

View File

@ -30,7 +30,7 @@
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
# include <vulkan/vulkan_hpp_macros.hpp> # include <vulkan/vulkan_hpp_macros.hpp>
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan.hpp" # include "vulkan/vulkan.hpp"
#endif #endif

View File

@ -30,7 +30,7 @@
#include <cassert> #include <cassert>
#include <iostream> #include <iostream>
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan.hpp" # include "vulkan/vulkan.hpp"
#endif #endif

View File

@ -18,7 +18,7 @@
#ifdef VULKAN_HPP_USE_CXX_MODULE #ifdef VULKAN_HPP_USE_CXX_MODULE
#include <vulkan/vulkan.h> #include <vulkan/vulkan.h>
import vulkan_hpp; import vulkan;
#else #else
# include "vulkan/vulkan.hpp" # include "vulkan/vulkan.hpp"
#endif #endif

View File

@ -13,10 +13,9 @@ module;
#if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING ) #if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
# define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \ # define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \
"The Vulkan-Hpp C++ named module is experimental. " \ "\n\tThe Vulkan-Hpp C++ named module is experimental. It is subject to change without prior notice.\n" \
"It is subject to change without prior notice.\n" \ "\tTo silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n" \
"To silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n\n" \ "\tFor feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
"For feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING ) VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#endif #endif
@ -28,7 +27,8 @@ VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#include <vulkan/vulkan_raii.hpp> #include <vulkan/vulkan_raii.hpp>
#include <vulkan/vulkan_shared.hpp> #include <vulkan/vulkan_shared.hpp>
export module vulkan_hpp; export module vulkan;
export import :video;
export import std.compat; export import std.compat;
export namespace VULKAN_HPP_NAMESPACE export namespace VULKAN_HPP_NAMESPACE
@ -9386,8 +9386,7 @@ export namespace std
#endif #endif
} // namespace std } // namespace std
export export {
{
// This VkFlags type is used as part of a bitfield in some structures. // This VkFlags type is used as part of a bitfield in some structures.
// As it can't be mimicked by vk-data types, we need to export just that. // As it can't be mimicked by vk-data types, we need to export just that.
using ::VkGeometryInstanceFlagsKHR; using ::VkGeometryInstanceFlagsKHR;

View File

@ -4,19 +4,26 @@
// This header is generated from the Khronos Vulkan XML API Registry. // This header is generated from the Khronos Vulkan XML API Registry.
// Note: This module is still in an experimental state.
// Any feedback is welcome on https://github.com/KhronosGroup/Vulkan-Hpp/issues.
module; module;
#define VULKAN_HPP_CXX_MODULE 1
#include <vulkan/vulkan_hpp_macros.hpp> #include <vulkan/vulkan_hpp_macros.hpp>
#if !defined( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
# define VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING \
"\n\tThe Vulkan-Hpp C++ named module is experimental. It is subject to change without prior notice.\n" \
"\tTo silence this warning, define the VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING macro.\n" \
"\tFor feedback, go to: https://github.com/KhronosGroup/Vulkan-Hpp/issues"
VULKAN_HPP_COMPILE_WARNING( VULKAN_HPP_CXX_MODULE_EXPERIMENTAL_WARNING )
#endif
#include <vulkan/vulkan_video.hpp> #include <vulkan/vulkan_video.hpp>
export module vulkan_video_hpp; export module vulkan:video;
export namespace VULKAN_HPP_NAMESPACE export namespace VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE
{
namespace VULKAN_HPP_VIDEO_NAMESPACE
{ {
//================= //=================
@ -314,5 +321,4 @@ export namespace VULKAN_HPP_NAMESPACE
using VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ReferenceInfoFlags; using VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE::EncodeAV1ReferenceInfoFlags;
#endif #endif
} // namespace VULKAN_HPP_VIDEO_NAMESPACE } // namespace VULKAN_HPP_NAMESPACE::VULKAN_HPP_VIDEO_NAMESPACE
} // namespace VULKAN_HPP_NAMESPACE