Skip to content
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

C++20 module does not export certain vulkan.h types used by its API #2000

Open
teschnei opened this issue Nov 27, 2024 · 1 comment
Open

Comments

@teschnei
Copy link

Some of the exported types in vulkan_hpp directly use types from vulkan.h (Vk* instead of vk::) which don't get exported by the module. This makes working with these types pretty cumbersome, as you can't instantiate or cast to them.

I noticed this mostly with vk::DebugUtilsMessengerCreateInfoEXT, which has a member of type PFN_vkDebugUtilsMessengerCallbackEXT (not exported), which itself is a function pointer for a type involving several types that are not exported either. I also noticed this with vk::AccelerationStructureInstanceKHR, where flags is a VkGeometryInstanceFlagsKHR instead of a vk::GeometryInstanceFlagsKHR (I suppose because of the bit-packing), where assigning to .flags appears to be impossible because (as far as I can figure out) there's no way to cast to a VkGeometryInstanceFlagsKHR without the type being exported.

I can work around this by just including vulkan.h of course, but I assume a goal of the module is not requiring that? If not, then I suppose this is resolved with the include.

@asuessenbach
Copy link
Contributor

#2020 and #2022 resolved half of this issue: the callback types.
Handling of the VkGeometryInstanceFlagsKHR will follow soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants