Unable to compile
Closed this issue · 7 comments
`
====================[ 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
`
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.
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
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.
I think the core of the problem is that the generator puts an || when it shouldn't. I'll investigate
@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 @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!
Great! I'll go ahead and merge.