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

Update Vulkan-headers to use 1.3.29* #1480

Open
mattmcadoo opened this issue Nov 15, 2024 · 0 comments
Open

Update Vulkan-headers to use 1.3.29* #1480

mattmcadoo opened this issue Nov 15, 2024 · 0 comments

Comments

@mattmcadoo
Copy link

Do not report issue for old MangoHud versions

Describe the bug

The required Vulkan-headers was last updated to use 1.2.158 3 years ago; current version is 1.3.296.0. Using the option to use system headers instead of the repo's version fails to compile for src/libMangoHud.a.p/vulkan.cpp.

List relevant hardware/software information

  • Linux Distribution

Gentoo

  • MangoHud version

Github HEAD
repository: https://github.com/flightlessmango/MangoHud.git
at the commit: 744c188

To Reproduce
Steps to reproduce the behavior:

  1. Patch meson.build
diff --git a/meson.build b/meson.build
index a19c4f6..ea98ad3 100644
--- a/meson.build
+++ b/meson.build
@@ -168,14 +168,14 @@ endif

 # Commented code can be used if mangohud start using latest SDK Vulkan-Headers
 # Allowing user to build mangohud using system Vulkan-Headers
-#if not dependency('VulkanHeaders').found()
+if not dependency('VulkanHeaders').found()
   vkh_sp = subproject('vulkan-headers')
   vk_api_xml = vkh_sp.get_variable('vulkan_api_xml')
   dep_vulkan = vkh_sp.get_variable('vulkan_headers_dep')
-#else
-#  dep_vulkan = dependency('VulkanHeaders', required: true)
-#  vk_api_xml = files('/usr/share/vulkan/registry/vk.xml')
-#endif
+else
+  dep_vulkan = dependency('VulkanHeaders', required: true)
+  vk_api_xml = files('/usr/share/vulkan/registry/vk.xml')
+endif
  1. User defined options
    Native files : /var/tmp/portage/games-util/mangohud-9999/temp/meson.x86_64-pc-linux-gnu.amd64.ini
    build.pkg_config_path : /var/tmp/portage/games-util/mangohud-9999/temp/python3.12/pkgconfig:/usr/share/guile-data/3.0/pkgconfig:/usr/share/pkgconfig
    append_libdir_mangohud: false
    b_lto : false
    b_pch : false
    buildtype : plain
    include_doc : false
    libdir : lib64
    localstatedir : /var/lib
    mangoapp : true
    mangoapp_layer : true
    mangohudctl : true
    mangoplot : disabled
    pkg_config_path : /var/tmp/portage/games-util/mangohud-9999/temp/python3.12/pkgconfig:/usr/share/guile-data/3.0/pkgconfig:/usr/share/pkgconfig
    prefix : /usr
    sysconfdir : /etc
    use_system_spdlog : enabled
    werror : false
    with_dbus : enabled
    with_nvml : disabled
    with_wayland : enabled
    with_x11 : enabled
    with_xnvctrl : disabled
    wrap_mode : nodownload

  2. Compile error:

In file included from ../mangohud-9999/src/vulkan.cpp:47:
./vk_enum_to_str.h:396:39: error: ‘VkFaultLevel’ was not declared in this scope
  396 |     const char * vk_FaultLevel_to_str(VkFaultLevel input);
      |                                       ^~~~~~~~~~~~
./vk_enum_to_str.h:397:47: error: ‘VkFaultQueryBehavior’ was not declared in this scope; did you mean ‘vk_FaultQueryBehavior_to_str’?
  397 |     const char * vk_FaultQueryBehavior_to_str(VkFaultQueryBehavior input);
      |                                               ^~~~~~~~~~~~~~~~~~~~
      |                                               vk_FaultQueryBehavior_to_str
./vk_enum_to_str.h:398:38: error: ‘VkFaultType’ was not declared in this scope
  398 |     const char * vk_FaultType_to_str(VkFaultType input);
      |                                      ^~~~~~~~~~~
./vk_enum_to_str.h:442:59: error: ‘VkPipelineCacheValidationVersion’ was not declared in this scope; did you mean ‘vk_PipelineCacheValidationVersion_to_str’?
  442 |     const char * vk_PipelineCacheValidationVersion_to_str(VkPipelineCacheValidationVersion input);
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                           vk_PipelineCacheValidationVersion_to_str
./vk_enum_to_str.h:444:49: error: ‘VkPipelineMatchControl’ was not declared in this scope; did you mean ‘vk_PipelineMatchControl_to_str’?
  444 |     const char * vk_PipelineMatchControl_to_str(VkPipelineMatchControl input);
      |                                                 ^~~~~~~~~~~~~~~~~~~~~~
      |                                                 vk_PipelineMatchControl_to_str
./vk_enum_to_str.h:465:48: error: ‘VkSciSyncClientTypeNV’ was not declared in this scope; did you mean ‘vk_SciSyncClientTypeNV_to_str’?
  465 |     const char * vk_SciSyncClientTypeNV_to_str(VkSciSyncClientTypeNV input);
      |                                                ^~~~~~~~~~~~~~~~~~~~~
      |                                                vk_SciSyncClientTypeNV_to_str
./vk_enum_to_str.h:466:51: error: ‘VkSciSyncPrimitiveTypeNV’ was not declared in this scope; did you mean ‘vk_SciSyncPrimitiveTypeNV_to_str’?
  466 |     const char * vk_SciSyncPrimitiveTypeNV_to_str(VkSciSyncPrimitiveTypeNV input);
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~
      |                                                   vk_SciSyncPrimitiveTypeNV_to_str
./vk_enum_to_str.h:496:9: error: ‘PFN_vkAcquireWinrtDisplayNV’ does not name a type; did you mean ‘PFN_vkAcquireDrmDisplayEXT’?
  496 |         PFN_vkAcquireWinrtDisplayNV AcquireWinrtDisplayNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkAcquireDrmDisplayEXT
./vk_enum_to_str.h:578:9: error: ‘PFN_vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV’ does not name a type; did you mean ‘PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV’?
  578 |         PFN_vkGetPhysicalDeviceExternalMemorySciBufPropertiesNV GetPhysicalDeviceExternalMemorySciBufPropertiesNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV
./vk_enum_to_str.h:597:9: error: ‘PFN_vkGetPhysicalDeviceRefreshableObjectTypesKHR’ does not name a type; did you mean ‘PFN_vkGetPhysicalDevicePresentRectanglesKHR’?
  597 |         PFN_vkGetPhysicalDeviceRefreshableObjectTypesKHR GetPhysicalDeviceRefreshableObjectTypesKHR;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetPhysicalDevicePresentRectanglesKHR
./vk_enum_to_str.h:598:9: error: ‘PFN_vkGetPhysicalDeviceSciBufAttributesNV’ does not name a type; did you mean ‘PFN_vkGetPhysicalDeviceFeatures2’?
  598 |         PFN_vkGetPhysicalDeviceSciBufAttributesNV GetPhysicalDeviceSciBufAttributesNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetPhysicalDeviceFeatures2
./vk_enum_to_str.h:599:9: error: ‘PFN_vkGetPhysicalDeviceSciSyncAttributesNV’ does not name a type; did you mean ‘PFN_vkGetPhysicalDeviceFeatures2’?
  599 |         PFN_vkGetPhysicalDeviceSciSyncAttributesNV GetPhysicalDeviceSciSyncAttributesNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetPhysicalDeviceFeatures2
./vk_enum_to_str.h:635:9: error: ‘PFN_vkGetWinrtDisplayNV’ does not name a type; did you mean ‘PFN_vkGetDrmDisplayEXT’?
  635 |         PFN_vkGetWinrtDisplayNV GetWinrtDisplayNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetDrmDisplayEXT
./vk_enum_to_str.h:783:9: error: ‘PFN_vkCmdRefreshObjectsKHR’ does not name a type; did you mean ‘PFN_vkCmdResetEvent2KHR’?
  783 |         PFN_vkCmdRefreshObjectsKHR CmdRefreshObjectsKHR;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkCmdResetEvent2KHR
./vk_enum_to_str.h:943:9: error: ‘PFN_vkCreateSemaphoreSciSyncPoolNV’ does not name a type
  943 |         PFN_vkCreateSemaphoreSciSyncPoolNV CreateSemaphoreSciSyncPoolNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:991:9: error: ‘PFN_vkDestroySemaphoreSciSyncPoolNV’ does not name a type
  991 |         PFN_vkDestroySemaphoreSciSyncPoolNV DestroySemaphoreSciSyncPoolNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1022:9: error: ‘PFN_vkGetCommandPoolMemoryConsumption’ does not name a type
 1022 |         PFN_vkGetCommandPoolMemoryConsumption GetCommandPoolMemoryConsumption;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1059:9: error: ‘PFN_vkGetFaultData’ does not name a type; did you mean ‘PFN_vkGetPrivateData’?
 1059 |         PFN_vkGetFaultData GetFaultData;
      |         ^~~~~~~~~~~~~~~~~~
      |         PFN_vkGetPrivateData
./vk_enum_to_str.h:1061:9: error: ‘PFN_vkGetFenceSciSyncFenceNV’ does not name a type
 1061 |         PFN_vkGetFenceSciSyncFenceNV GetFenceSciSyncFenceNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1062:9: error: ‘PFN_vkGetFenceSciSyncObjNV’ does not name a type
 1062 |         PFN_vkGetFenceSciSyncObjNV GetFenceSciSyncObjNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1086:9: error: ‘PFN_vkGetMemorySciBufNV’ does not name a type; did you mean ‘PFN_vkGetMemoryFdKHR’?
 1086 |         PFN_vkGetMemorySciBufNV GetMemorySciBufNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetMemoryFdKHR
./vk_enum_to_str.h:1125:9: error: ‘PFN_vkGetScreenBufferPropertiesQNX’ does not name a type; did you mean ‘PFN_vkGetFramebufferTilePropertiesQCOM’?
 1125 |         PFN_vkGetScreenBufferPropertiesQNX GetScreenBufferPropertiesQNX;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |         PFN_vkGetFramebufferTilePropertiesQCOM
./vk_enum_to_str.h:1128:9: error: ‘PFN_vkGetSemaphoreSciSyncObjNV’ does not name a type
 1128 |         PFN_vkGetSemaphoreSciSyncObjNV GetSemaphoreSciSyncObjNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1145:9: error: ‘PFN_vkImportFenceSciSyncFenceNV’ does not name a type
 1145 |         PFN_vkImportFenceSciSyncFenceNV ImportFenceSciSyncFenceNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1146:9: error: ‘PFN_vkImportFenceSciSyncObjNV’ does not name a type
 1146 |         PFN_vkImportFenceSciSyncObjNV ImportFenceSciSyncObjNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./vk_enum_to_str.h:1151:9: error: ‘PFN_vkImportSemaphoreSciSyncObjNV’ does not name a type
 1151 |         PFN_vkImportSemaphoreSciSyncObjNV ImportSemaphoreSciSyncObjNV;
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../mangohud-9999/src/vulkan.cpp:2054:12: error: ‘VK_LAYER_EXPORT’ does not name a type
 2054 | extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetDeviceProcAddr(VkDevice dev,
      |            ^~~~~~~~~~~~~~~
../mangohud-9999/src/vulkan.cpp:2056:12: error: ‘VK_LAYER_EXPORT’ does not name a type
 2056 | extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetInstanceProcAddr(VkInstance instance,
      |            ^~~~~~~~~~~~~~~
../mangohud-9999/src/vulkan.cpp:2063:40: error: ‘overlay_GetInstanceProcAddr’ was not declared in this scope; did you mean ‘vkGetInstanceProcAddr’?
 2063 |    { "vkGetInstanceProcAddr", (void *) overlay_GetInstanceProcAddr },
      |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                        vkGetInstanceProcAddr
../mangohud-9999/src/vulkan.cpp:2064:38: error: ‘overlay_GetDeviceProcAddr’ was not declared in this scope; did you mean ‘vkGetDeviceProcAddr’?
 2064 |    { "vkGetDeviceProcAddr", (void *) overlay_GetDeviceProcAddr },
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~
      |                                      vkGetDeviceProcAddr
../mangohud-9999/src/vulkan.cpp:2109:12: error: ‘VK_LAYER_EXPORT’ does not name a type
 2109 | extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetDeviceProcAddr(VkDevice dev,
      |            ^~~~~~~~~~~~~~~
../mangohud-9999/src/vulkan.cpp:2123:12: error: ‘VK_LAYER_EXPORT’ does not name a type
 2123 | extern "C" VK_LAYER_EXPORT VKAPI_ATTR PFN_vkVoidFunction VKAPI_CALL overlay_GetInstanceProcAddr(VkInstance instance,
      |            ^~~~~~~~~~~~~~~
../mangohud-9999/src/vulkan.cpp:2092:14: warning: ‘void* find_ptr(const char*)’ defined but not used [-Wunused-function]
 2092 | static void *find_ptr(const char *name)
      |              ^~~~~~~~

mangohud-build.zip

Full build log attached.

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

1 participant