-
Notifications
You must be signed in to change notification settings - Fork 342
Merge Vulkan Video module into main module #2349
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The import name in the tests needs to be changed as well. Line 800 in 63a3afa
Line 885 in 63a3afa
|
|
How about we update the minimal example in readme for // required to access macros (otherwise, use vk::detail::DispatchLoaderDynamic directly)
#include <vulkan/vulkan_hpp_macros.hpp>
// import after all other #includes
import vulkan;
// when vulkan_hpp_macros.hpp was included
VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
auto main2(int argc, char* const argv[]) -> int
{
// initialize minimal set of function pointers
VULKAN_HPP_DEFAULT_DISPATCHER.init();
auto appInfo = vk::ApplicationInfo("My App", 1, "My Engine", 1, vk::makeApiVersion(1, 0, 0, 0));
// ...
} |
|
Thanks for the insight. I've been meaning to update the readmes for a while, including the guidance on different compilers, build systems, etc (the module requires latest everything). |
|
I'm sorry, a new test has materialized: NoDefaultDispatcher. |
dcd75d4 to
6f98917
Compare
|
@asuessenbach this is ready. @M2-TE I have made the minimum necessary edits to the readme (module name only). All other changes I intend to work in as part of #2358. |
52b17c0 to
93561ee
Compare
|
Hi! This looks good to me. I enabled individual tests like in #2292 and they worked fine with the corresponding changes in C++23 mode with CMake's experimental Would it be possible to enable at least one configuration in CI that compiles at least one test with C++ modules enabled. It does not need to be all of #2292. We could also rebase #2292 on this to have a CI for these changes. Is C++ modules support bound to C++23 We also would need to update a C++20 modules test in the Vulkan-Header repository after merging this change. |
|
Hi @theHamsta! Long time, no see.
Yes, that makes sense, to avoid embarrassments like #2362 slipping in. As for #2292, I feel it has fallen afoul of scope creep and really needs to be broken up, into at least two PRs. One for testing
For now, yes. Proper module support across all three toolchains (GCC, Clang, MSVC) is still quite experimental, and we're demanding the latest toolchains anyway, so might as well ask for the latest standard as well. It also massively simplifies how the module is used by the end user, and also simplifies the CMake build logic. As for C++20, all three compiler vendors have pledged to backport
That test has been disabled, but after I write a CI test for this, we can re-enable that so we get modules compiling properly. |
|
Edit: Looks like @sharadhr was just a second faster.. but yes, perhaps #2292 should be broken into several smaller PRs.
I had benched that PR for a little while until I figured out how to get CI working with modules. As mentioned in #2362, @YaaZ has a working workflow for this, so I'll check that out and try to incorporate it.
Yes and no. You could use modules in C++20, but that would mean doing half things by compiling modules and still including headers. We decided to make
Indeed, but that will require more thorough testing, so that it does not block releases again. |
Since this is breaking change, I would prefer @asuessenbach to merge. He will be back next week.
So maybe a good strategy would then be to leave this PR as is and have a minimal follow-up that enables CI for modules. Just building some module tests for some configuration might be enough as a first step. |
|
I know, I should have asked this quite a while ago... |
|
I can, but at least one of the PRs will run into a conflict and will have to be correctly rebased, one on top of another. |
Yes, that's to be expected. |
|
@asuessenbach I will close this; I have opened #2372 and #2373 instead. |
Resolves #2310 and resolves #2311.