Skip to content

SIGGRAPH 2026 tutorial no longer compiles #513

Description

@SaschaWillems

This was brought up in the Khronos forums with clangd, and I can reproduce it with Visual Studio 2026: When using a recent SDK (1.4.357), the " SIGGRAPH 2026: How to write a Vulkan application" code can't be compiled.

This seems to be an issue with a specific overload of the dynamic dispatcher in the Vulkan C++ headers.

Here is the full build error (sorry for the German text):

V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,43): error C2661: "vk::detail::DispatchLoaderDynamic::init": Keine überladene Funktion akzeptiert 3 Argumente [V:\Vulkan-Docs-S
ite\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\build\vs2026\vulkan_siggraph.vcxproj]
      C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan.hpp(27624,12):
      kann "void vk::detail::DispatchLoaderDynamic::init(const vk::Instance &,const vk::Device &) noexcept" sein
          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,43):
          „void vk::detail::DispatchLoaderDynamic::init(const vk::Instance &,const vk::Device &) noexcept“ erwartet, dass 2 Argumente – 3 angegeben werden.
      C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan.hpp(27612,12):
      oder "void vk::detail::DispatchLoaderDynamic::init(const vk::Instance &,const vk::Device &,const DynamicLoader &) noexcept"
          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
          "Initialisierung": "PFN_vkVoidFunction (__cdecl *)(VkInstance,const char *)" kann nicht in "const vk::Device &" konvertiert werden
              V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
              Ursache: Konvertierung von "overloaded-function" in "const vk::Device" nicht möglich
              V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
              "vk::Device::Device": Keine überladene Funktion konnte alle Argumenttypen konvertieren
                  C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan_handles.hpp(12165,5):
                  kann "vk::Device::Device(const vk::Device &)" sein
                      V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                      "vk::Device::Device(const vk::Device &)" : Konvertierung von Argument 1 von "PFN_vkVoidFunction (__cdecl *)(VkInstance,const char *)" in "const vk::Device &" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          Ursache: Konvertierung von "overloaded-function" in "const vk::Device" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          Konvertierung erfordert einen zweiten benutzerdefinierten Konvertierungsoperator oder Konstruktor
                  C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan_handles.hpp(12169,5):
                  oder "vk::Device::Device(vk::Device &&)"
                      V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                      "vk::Device::Device(vk::Device &&)" : Konvertierung von Argument 1 von "PFN_vkVoidFunction (__cdecl *)(VkInstance,const char *)" in "vk::Device &&" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          Ursache: Konvertierung von "overloaded-function" in "vk::Device" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          Konvertierung erfordert einen zweiten benutzerdefinierten Konvertierungsoperator oder Konstruktor
                  C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan_handles.hpp(12181,5):
                  oder "vk::Device::Device(std::nullptr_t) noexcept"
                      V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                      "vk::Device::Device(std::nullptr_t) noexcept" : Konvertierung von Argument 1 von "PFN_vkVoidFunction (__cdecl *)(VkInstance,const char *)" in "std::nullptr_t" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          "nullptr" kann nur in Zeiger- oder Handletypen konvertiert werden.
                  C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan_handles.hpp(12183,5):
                  oder "vk::Device::Device(VkDevice) noexcept"
                      V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                      "vk::Device::Device(VkDevice) noexcept" : Konvertierung von Argument 1 von "PFN_vkVoidFunction (__cdecl *)(VkInstance,const char *)" in "VkDevice" nicht möglich
                          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                          Es gibt keinen Kontext, in dem diese Konvertierung möglich ist
                  V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,79):
                  bei Anpassung der Argumentliste "(overloaded-function)"
      C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan.hpp(24544,12):
      oder "void vk::detail::DispatchLoaderDynamic::init(const DynamicLoader &) noexcept"
          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,43):
          „void vk::detail::DispatchLoaderDynamic::init(const DynamicLoader &) noexcept“ erwartet, dass 1 Argumente – 3 angegeben werden.
      C:\VulkanSDK\1.4.357.0\include\vulkan\vulkan.hpp(24537,12):
      oder "void vk::detail::DispatchLoaderDynamic::init(void)"
          V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,43):
          „void vk::detail::DispatchLoaderDynamic::init(void)“ erwartet, dass 0 Argumente – 3 angegeben werden.
      V:\Vulkan-Docs-Site\Vulkan-Tutorial-Main\attachments\siggraph2026_vk_tutorial\src\main.cpp(476,43):
      bei Anpassung der Argumentliste "(VkInstance, overloaded-function, VkDevice)"

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

PrioritybugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions