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

Unable to compile #323

Closed
PlaidMrdeer opened this issue Nov 16, 2024 · 7 comments · Fixed by #324
Closed

Unable to compile #323

PlaidMrdeer opened this issue Nov 16, 2024 · 7 comments · Fixed by #324

Comments

@PlaidMrdeer
Copy link

PlaidMrdeer commented Nov 16, 2024

`
====================[ Build | GalaxyEngine | Release ]=============================
/bin/cmake --build /home/plaidmrdeer/dev/GalaxyEngine/cmake-build-release --target GalaxyEngine -- -j 14
[ 6%] Built target GEUi
[ 9%] Building CXX object lib/vk-bootstrap/CMakeFiles/vk-bootstrap.dir/src/VkBootstrap.cpp.o
In file included from /home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrap.h:29,
from /home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrap.cpp:17:
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:5271:66: error: ‘VkDepthClampModeEXT’ is not declared
5271 | void cmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT* pDepthClampRange) const noexcept {
| ^~~~~~~~~~~~~~~~~~~
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:5271:108: error: ‘VkDepthClampRangeEXT’ is not a type name
5271 | void cmdSetDepthClampRangeEXT(VkCommandBuffer commandBuffer, VkDepthClampModeEXT depthClampMode, const VkDepthClampRangeEXT* pDepthClampRange) const noexcept {
| ^~~~~~~~~~~~~~~~~~~~
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:7750:5: error: ‘PFN_vkCmdSetDepthClampRangeEXT’ does not name a type; did you mean ‘PFN_vkCmdSetDepthClampEnableEXT’?
7750 | PFN_vkCmdSetDepthClampRangeEXT fp_vkCmdSetDepthClampRangeEXT = nullptr;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| PFN_vkCmdSetDepthClampEnableEXT
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h: In constructor ‘vkb::DispatchTable::DispatchTable(VkDevice, PFN_vkGetDeviceProcAddr)’:
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:2691:9: error: ‘fp_vkCmdSetDepthClampRangeEXT’ was not declared in this scope; did you mean ‘fp_vkCmdSetDepthClampEnableEXT’?
2691 | fp_vkCmdSetDepthClampRangeEXT = reinterpret_cast<PFN_vkCmdSetDepthClampRangeEXT>(procAddr(device, "vkCmdSetDepthClampRangeEXT"));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| fp_vkCmdSetDepthClampEnableEXT
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:2691:58: error: ‘PFN_vkCmdSetDepthClampRangeEXT’ does not name a type; did you mean ‘PFN_vkCmdSetDepthClampEnableEXT’?
2691 | fp_vkCmdSetDepthClampRangeEXT = reinterpret_cast<PFN_vkCmdSetDepthClampRangeEXT>(procAddr(device, "vkCmdSetDepthClampRangeEXT"));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| PFN_vkCmdSetDepthClampEnableEXT
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h: In member function ‘void vkb::DispatchTable::cmdSetDepthClampRangeEXT(VkCommandBuffer, int, const int*) const’:
/home/plaidmrdeer/dev/GalaxyEngine/lib/vk-bootstrap/src/VkBootstrapDispatch.h:5272:9: error: ‘fp_vkCmdSetDepthClampRangeEXT’ was not declared in this scope; did you mean ‘fp_vkCmdSetDepthClampEnableEXT’?
5272 | fp_vkCmdSetDepthClampRangeEXT(commandBuffer, depthClampMode, pDepthClampRange);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| fp_vkCmdSetDepthClampEnableEXT
make[3]: *** [lib/vk-bootstrap/CMakeFiles/vk-bootstrap.dir/build.make:79: lib/vk-bootstrap/CMakeFiles/vk-bootstrap.dir/src/VkBootstrap.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:249: lib/vk-bootstrap/CMakeFiles/vk-bootstrap.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:163: CMakeFiles/GalaxyEngine.dir/rule] Error 2
make: *** [Makefile:124: GalaxyEngine] Error 2

`

@charles-lunarg
Copy link
Owner

Honestly this looks like a weird issue where the codegen allows the vkCmdSetDepthClampRangeEXT to be valid even though the VK_EXT_depth_clamp_control extension isn't available (hence the error).

Can you tell me what version of the Vulkan-Headers you are using to compile? If you are on linux, it'll be whatever the package manager's vulkan header version is.

@PlaidMrdeer
Copy link
Author

Honestly this looks like a weird issue where the codegen allows the vkCmdSetDepthClampRangeEXT to be valid even though the VK_EXT_depth_clamp_control extension isn't available (hence the error).

Can you tell me what version of the Vulkan-Headers you are using to compile? If you are on linux, it'll be whatever the package manager's vulkan header version is.

vulkan-headers:x64-linux 1.3.290.0#1 Vulkan header files and API registry

@digital-threat
Copy link

I ran into the same issue. The most recent version of vk-bootstrap that actually compiles for me is v1.3.295, anything above results in errors. I'm using Vulkan SDK 1.3.296.0.

@charles-lunarg
Copy link
Owner

I think the core of the problem is that the generator puts an || when it shouldn't. I'll investigate

@charles-lunarg
Copy link
Owner

@digital-threat @PlaidMrdeer I have pushed out a branch which I believe fixes the issue. Can you confirm if that is the case?

@digital-threat
Copy link

@digital-threat @PlaidMrdeer I have pushed out a branch which I believe fixes the issue. Can you confirm if that is the case?

Yep, can compile successfully with the linked PR. Thank you for your work!

@charles-lunarg
Copy link
Owner

Great! I'll go ahead and merge.

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

Successfully merging a pull request may close this issue.

3 participants