Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package vulkan-volk for openSUSE:Factory 
checked in at 2025-10-08 19:45:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/vulkan-volk (Old)
 and      /work/SRC/openSUSE:Factory/.vulkan-volk.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "vulkan-volk"

Wed Oct  8 19:45:20 2025 rev:11 rq:1309573 version:1.4.328

Changes:
--------
--- /work/SRC/openSUSE:Factory/vulkan-volk/vulkan-volk.changes  2025-07-20 
15:30:04.126544235 +0200
+++ /work/SRC/openSUSE:Factory/.vulkan-volk.new.11973/vulkan-volk.changes       
2025-10-08 19:45:24.347145807 +0200
@@ -1,0 +2,7 @@
+Tue Oct  7 10:15:07 UTC 2025 - Jan Engelhardt <[email protected]>
+
+- Update to tag SDK-1.4.328.0
+  * Add option to hide device prototypes
+  * Add VOLK_NAMESPACE configuration to use C++ namespaces
+
+-------------------------------------------------------------------

Old:
----
  vulkan-sdk-1.4.321.0.tar.gz

New:
----
  vulkan-sdk-1.4.328.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ vulkan-volk.spec ++++++
--- /var/tmp/diff_new_pack.zUXky3/_old  2025-10-08 19:45:25.223182540 +0200
+++ /var/tmp/diff_new_pack.zUXky3/_new  2025-10-08 19:45:25.223182540 +0200
@@ -17,8 +17,8 @@
 
 
 Name:           vulkan-volk
-%define lname libvolk-1_4_321
-Version:        1.4.321
+%define lname libvolk-1_4_328
+Version:        1.4.328
 Release:        0
 Summary:        Meta loader for the Vulkan API
 License:        MIT

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.zUXky3/_old  2025-10-08 19:45:25.279184888 +0200
+++ /var/tmp/diff_new_pack.zUXky3/_new  2025-10-08 19:45:25.291185392 +0200
@@ -1,5 +1,5 @@
-mtime: 1752733012
-commit: 604f29a259e4f0a2552c5059338f519f2fea204fffb1b936b01f12b1bc157d8d
+mtime: 1759832143
+commit: 70a4a183f7e7460f9d46414251762a8939471977c83e12504a50bf527e428e36
 url: https://src.opensuse.org/jengelh/vulkan-volk
 revision: master
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-10-07 12:15:53.000000000 +0200
@@ -0,0 +1 @@
+.osc

++++++ vulkan-sdk-1.4.321.0.tar.gz -> vulkan-sdk-1.4.328.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/CMakeLists.txt
--- old/volk-vulkan-sdk-1.4.321.0/CMakeLists.txt        2025-07-04 
18:17:54.000000000 +0200
+++ new/volk-vulkan-sdk-1.4.328.0/CMakeLists.txt        2025-09-26 
18:18:30.000000000 +0200
@@ -1,8 +1,8 @@
 cmake_minimum_required(VERSION 3.5...3.30)
 
-project(volk VERSION 
+project(volk VERSION
 # VOLK_GENERATE_VERSION
-321
+328
 # VOLK_GENERATE_VERSION
   LANGUAGES C
 )
@@ -18,6 +18,9 @@
 if(NOT DEFINED VOLK_INSTALL)
   option(VOLK_INSTALL "Create installation targets" OFF)
 endif()
+if(NOT DEFINED VOLK_NAMESPACE)
+  option(VOLK_NAMESPACE "Use C++ namespace for vk* functions" OFF)
+endif()
 if(NOT DEFINED VOLK_HEADERS_ONLY)
   option(VOLK_HEADERS_ONLY "Add interface library only" OFF)
 endif()
@@ -35,6 +38,10 @@
     $<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>
     $<INSTALL_INTERFACE:include>
   )
+  if(VOLK_NAMESPACE)
+    target_compile_definitions(volk PUBLIC VOLK_NAMESPACE)
+    set_source_files_properties(volk.c PROPERTIES LANGUAGE CXX)
+  endif()
   if(VOLK_STATIC_DEFINES)
     target_compile_definitions(volk PUBLIC ${VOLK_STATIC_DEFINES})
   endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/README.md 
new/volk-vulkan-sdk-1.4.328.0/README.md
--- old/volk-vulkan-sdk-1.4.321.0/README.md     2025-07-04 18:17:54.000000000 
+0200
+++ new/volk-vulkan-sdk-1.4.328.0/README.md     2025-09-26 18:18:30.000000000 
+0200
@@ -92,7 +92,13 @@
 
 The above example use `add_subdirectory` to include volk into CMake's build 
tree. This is a good choice if you copy the volk files into your project tree 
or as a git submodule.
 
-Volk also supports installation and config-file packages. Installation is 
disabled by default (so as to not pollute user projects with install rules), 
and can be enabled by passing `-DVOLK_INSTALL=ON` to CMake. Once installed, do 
something like `find_package(volk CONFIG REQUIRED)` in your project's 
CMakeLists.txt. The imported volk targets are called `volk::volk` and 
`volk::volk_headers`.
+volk also supports installation and config-file packages. Installation is 
disabled by default (so as to not pollute user projects with install rules), 
and can be enabled by passing `-DVOLK_INSTALL=ON` to CMake. Once installed, do 
something like `find_package(volk CONFIG REQUIRED)` in your project's 
CMakeLists.txt. The imported volk targets are called `volk::volk` and 
`volk::volk_headers`.
+
+## Configuration
+
+By default, volk is compiled as a C library and exposes all Vulkan function 
pointers as globals. This can result in symbol conflicts if some libraries in 
the application are still linking to Vulkan libraries directly. While generally 
speaking it's desirable to not mix & match volk with direct usage of Vulkan - 
for example, mixed usage means the application still links directly to Vulkan 
libraries and will fail to launch if Vulkan is not available on the user's 
system - it's possible to enable `VOLK_NAMESPACE` CMake option (or 
`VOLK_NAMESPACE` define when building volk manually), which places all volk 
symbols into `volk::` namespace. This requires compiling `volk.c` in C++ mode, 
which happens automatically when using CMake, but doesn'trequire any other 
changes.
+
+Device level functions can be hidden by defining `VOLK_NO_DEVICE_PROTOTYPES`. 
When using `volkLoadInstaceOnly` and `volkLoadDeviceTable` the device level 
functions are never loaded and when not used correctly would trigger a runtime 
error. By hiding the device prototypes mistakes can be checked by the compiler.
 
 ## License
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/generate.py 
new/volk-vulkan-sdk-1.4.328.0/generate.py
--- old/volk-vulkan-sdk-1.4.321.0/generate.py   2025-07-04 18:17:54.000000000 
+0200
+++ new/volk-vulkan-sdk-1.4.328.0/generate.py   2025-09-26 18:18:30.000000000 
+0200
@@ -74,7 +74,7 @@
 
        spec = parse_xml(specpath)
 
-       block_keys = ('DEVICE_TABLE', 'PROTOTYPES_H', 'PROTOTYPES_C', 
'LOAD_LOADER', 'LOAD_INSTANCE', 'LOAD_DEVICE', 'LOAD_DEVICE_TABLE')
+       block_keys = ('DEVICE_TABLE', 'PROTOTYPES_H', 'PROTOTYPES_H_DEVICE', 
'PROTOTYPES_C', 'LOAD_LOADER', 'LOAD_INSTANCE', 'LOAD_DEVICE', 
'LOAD_DEVICE_TABLE')
 
        blocks = {}
 
@@ -182,13 +182,17 @@
                                blocks['LOAD_DEVICE'] += '\t' + name + ' = 
(PFN_' + name + ')load(context, "' + name + '");\n'
                                blocks['DEVICE_TABLE'] += '\tPFN_' + name + ' ' 
+ name + ';\n'
                                blocks['LOAD_DEVICE_TABLE'] += '\ttable->' + 
name + ' = (PFN_' + name + ')load(context, "' + name + '");\n'
+                               blocks['PROTOTYPES_H_DEVICE'] += 'extern PFN_' 
+ name + ' ' + name + ';\n'
                                devt += 1
                        elif is_descendant_type(types, type, 'VkInstance'):
                                blocks['LOAD_INSTANCE'] += '\t' + name + ' = 
(PFN_' + name + ')load(context, "' + name + '");\n'
+                               blocks['PROTOTYPES_H'] += 'extern PFN_' + name 
+ ' ' + name + ';\n'
                        elif type != '':
                                blocks['LOAD_LOADER'] += '\t' + name + ' = 
(PFN_' + name + ')load(context, "' + name + '");\n'
+                               blocks['PROTOTYPES_H'] += 'extern PFN_' + name 
+ ' ' + name + ';\n'
+                       else:
+                               blocks['PROTOTYPES_H'] += 'extern PFN_' + name 
+ ' ' + name + ';\n'
 
-                       blocks['PROTOTYPES_H'] += 'extern PFN_' + name + ' ' + 
name + ';\n'
                        blocks['PROTOTYPES_C'] += 'PFN_' + name + ' ' + name + 
';\n'
 
                for key in block_keys:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_cpp_namespace/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_cpp_namespace/CMakeLists.txt
--- old/volk-vulkan-sdk-1.4.321.0/test/cmake_cpp_namespace/CMakeLists.txt       
1970-01-01 01:00:00.000000000 +0100
+++ new/volk-vulkan-sdk-1.4.328.0/test/cmake_cpp_namespace/CMakeLists.txt       
2025-09-26 18:18:30.000000000 +0200
@@ -0,0 +1,26 @@
+# Include the volk target through add_subdirectory, use the static lib target.
+# We must set platform defines.
+# By default, Vulkan is pulled in as transitive dependency if found.
+# Also use C++ namespace feature to make it so that volk doesn't override vk* 
symbols
+
+cmake_minimum_required(VERSION 3.5...3.30)
+project(volk_test LANGUAGES CXX)
+
+# Set a suitable platform define to compile volk with.
+if(CMAKE_SYSTEM_NAME STREQUAL Windows)
+  set(VOLK_STATIC_DEFINES VK_USE_PLATFORM_WIN32_KHR)
+elseif(CMAKE_SYSTEM_NAME STREQUAL Linux)
+  set(VOLK_STATIC_DEFINES VK_USE_PLATFORM_XLIB_KHR)
+elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin)
+  set(VOLK_STATIC_DEFINES VK_USE_PLATFORM_MACOS_MVK)
+endif()
+
+# Enable volk C++ namespace feature; this only works when volk is compiled and 
used from C++
+set(VOLK_NAMESPACE ON)
+
+# Include volk as part of the build tree to make the target known.
+# The two-argument version of add_subdirectory allows adding non-subdirs.
+add_subdirectory(../.. volk)
+
+add_executable(volk_test main.cpp)
+target_link_libraries(volk_test PRIVATE volk)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_cpp_namespace/main.cpp 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_cpp_namespace/main.cpp
--- old/volk-vulkan-sdk-1.4.321.0/test/cmake_cpp_namespace/main.cpp     
1970-01-01 01:00:00.000000000 +0100
+++ new/volk-vulkan-sdk-1.4.328.0/test/cmake_cpp_namespace/main.cpp     
2025-09-26 18:18:30.000000000 +0200
@@ -0,0 +1,41 @@
+#include "volk.h"
+
+#include "stdio.h"
+#include "stdlib.h"
+
+int main()
+{
+    VkResult r;
+    uint32_t version;
+    void* ptr;
+
+    /* This won't compile if the appropriate Vulkan platform define isn't set. 
*/
+    ptr = 
+#if defined(_WIN32)
+    &vkCreateWin32SurfaceKHR;
+#elif defined(__linux__) || defined(__unix__)
+    &vkCreateXlibSurfaceKHR;
+#elif defined(__APPLE__)
+    &vkCreateMacOSSurfaceMVK;
+#else
+    /* Platform not recogized for testing. */
+    NULL;
+#endif
+
+    /* Try to initialize volk. This might not work on CI builds, but the
+     * above should have compiled at least. */
+    r = volkInitialize();
+    if (r != VK_SUCCESS) {
+        printf("volkInitialize failed!\n");
+        return -1;
+    }
+
+    version = volkGetInstanceVersion();
+    printf("Vulkan version %d.%d.%d initialized.\n",
+            VK_VERSION_MAJOR(version),
+            VK_VERSION_MINOR(version),
+            VK_VERSION_PATCH(version));
+
+    return 0;
+}
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_installed_headers/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_installed_headers/CMakeLists.txt
--- 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_installed_headers/CMakeLists.txt 
    2025-07-04 18:17:54.000000000 +0200
+++ 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_installed_headers/CMakeLists.txt 
    2025-09-26 18:18:30.000000000 +0200
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.5...3.30)
 project(volk_test LANGUAGES C)
 
 # Include volk from a CMake package config.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_source_directly/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_source_directly/CMakeLists.txt
--- 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_source_directly/CMakeLists.txt   
    2025-07-04 18:17:54.000000000 +0200
+++ 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_source_directly/CMakeLists.txt   
    2025-09-26 18:18:30.000000000 +0200
@@ -8,7 +8,7 @@
 # For these reasons it's recommended to use one of
 # the other ways to include volk (see the other examples).
 
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.5...3.30)
 project(volk_test LANGUAGES C)
 
 add_executable(volk_test main.c ../../volk.c)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_subdir_headers/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_subdir_headers/CMakeLists.txt
--- 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_subdir_headers/CMakeLists.txt    
    2025-07-04 18:17:54.000000000 +0200
+++ 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_subdir_headers/CMakeLists.txt    
    2025-09-26 18:18:30.000000000 +0200
@@ -1,6 +1,6 @@
 # Include the volk target through add_subdirectory.
 
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.5...3.30)
 project(volk_test LANGUAGES C)
 
 # Include volk as part of the build tree to make the target known.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_subdir_static/CMakeLists.txt 
new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_subdir_static/CMakeLists.txt
--- old/volk-vulkan-sdk-1.4.321.0/test/cmake_using_subdir_static/CMakeLists.txt 
2025-07-04 18:17:54.000000000 +0200
+++ new/volk-vulkan-sdk-1.4.328.0/test/cmake_using_subdir_static/CMakeLists.txt 
2025-09-26 18:18:30.000000000 +0200
@@ -2,7 +2,7 @@
 # We must set platform defines.
 # By default, Vulkan is pulled in as transitive dependency if found.
 
-cmake_minimum_required(VERSION 3.5)
+cmake_minimum_required(VERSION 3.5...3.30)
 project(volk_test LANGUAGES C)
 
 # Set a suitable platform define to compile volk with.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/test/run_tests.sh 
new/volk-vulkan-sdk-1.4.328.0/test/run_tests.sh
--- old/volk-vulkan-sdk-1.4.321.0/test/run_tests.sh     2025-07-04 
18:17:54.000000000 +0200
+++ new/volk-vulkan-sdk-1.4.328.0/test/run_tests.sh     2025-09-26 
18:18:30.000000000 +0200
@@ -83,5 +83,18 @@
 popd
 popd
 
+echo
+echo "cmake_cpp_namespace =================================================>"
+echo 
+
+pushd test/cmake_cpp_namespace
+reset_build
+pushd _build
+cmake .. || exit 1
+cmake --build . || exit 1
+run_volk_test
+popd
+popd
+
 popd
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/volk.c 
new/volk-vulkan-sdk-1.4.328.0/volk.c
--- old/volk-vulkan-sdk-1.4.321.0/volk.c        2025-07-04 18:17:54.000000000 
+0200
+++ new/volk-vulkan-sdk-1.4.328.0/volk.c        2025-09-26 18:18:30.000000000 
+0200
@@ -23,14 +23,24 @@
 
 #include <string.h>
 
+#ifdef _WIN32
 #ifdef __cplusplus
 extern "C" {
 #endif
-
-#ifdef _WIN32
 __declspec(dllimport) HMODULE __stdcall LoadLibraryA(LPCSTR);
 __declspec(dllimport) FARPROC __stdcall GetProcAddress(HMODULE, LPCSTR);
 __declspec(dllimport) int __stdcall FreeLibrary(HMODULE);
+#ifdef __cplusplus
+}
+#endif
+#endif
+
+#ifdef __cplusplus
+#ifdef VOLK_NAMESPACE
+namespace volk {
+#else
+extern "C" {
+#endif
 #endif
 
 #if defined(__GNUC__)
@@ -83,6 +93,10 @@
        void* module = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
        if (!module)
                module = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL);
+       // modern versions of macOS don't search /usr/local/lib automatically 
contrary to what man dlopen says
+       // Vulkan SDK uses this as the system-wide installation location, so 
we're going to fallback to this if all else fails
+       if (!module && getenv("DYLD_FALLBACK_LIBRARY_PATH") == NULL)
+               module = dlopen("/usr/local/lib/libvulkan.dylib", RTLD_NOW | 
RTLD_LOCAL);
        if (!module)
                module = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL);
        // Add support for using Vulkan and MoltenVK in a Framework. App store 
rules for iOS
@@ -91,10 +105,6 @@
                module = dlopen("vulkan.framework/vulkan", RTLD_NOW | 
RTLD_LOCAL);
        if (!module)
                module = dlopen("MoltenVK.framework/MoltenVK", RTLD_NOW | 
RTLD_LOCAL);
-       // modern versions of macOS don't search /usr/local/lib automatically 
contrary to what man dlopen says
-       // Vulkan SDK uses this as the system-wide installation location, so 
we're going to fallback to this if all else fails
-       if (!module && getenv("DYLD_FALLBACK_LIBRARY_PATH") == NULL)
-               module = dlopen("/usr/local/lib/libvulkan.dylib", RTLD_NOW | 
RTLD_LOCAL);
        if (!module)
                return VK_ERROR_INITIALIZATION_FAILED;
 
@@ -820,9 +830,9 @@
        vkCmdDrawMeshTasksEXT = (PFN_vkCmdDrawMeshTasksEXT)load(context, 
"vkCmdDrawMeshTasksEXT");
        vkCmdDrawMeshTasksIndirectEXT = 
(PFN_vkCmdDrawMeshTasksIndirectEXT)load(context, 
"vkCmdDrawMeshTasksIndirectEXT");
 #endif /* defined(VK_EXT_mesh_shader) */
-#if defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        vkCmdDrawMeshTasksIndirectCountEXT = 
(PFN_vkCmdDrawMeshTasksIndirectCountEXT)load(context, 
"vkCmdDrawMeshTasksIndirectCountEXT");
-#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_EXT_metal_objects)
        vkExportMetalObjectsEXT = (PFN_vkExportMetalObjectsEXT)load(context, 
"vkExportMetalObjectsEXT");
 #endif /* defined(VK_EXT_metal_objects) */
@@ -969,6 +979,10 @@
        vkCmdCopyImageToBuffer2KHR = 
(PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
        vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, 
"vkCmdResolveImage2KHR");
 #endif /* defined(VK_KHR_copy_commands2) */
+#if defined(VK_KHR_copy_memory_indirect)
+       vkCmdCopyMemoryIndirectKHR = 
(PFN_vkCmdCopyMemoryIndirectKHR)load(context, "vkCmdCopyMemoryIndirectKHR");
+       vkCmdCopyMemoryToImageIndirectKHR = 
(PFN_vkCmdCopyMemoryToImageIndirectKHR)load(context, 
"vkCmdCopyMemoryToImageIndirectKHR");
+#endif /* defined(VK_KHR_copy_memory_indirect) */
 #if defined(VK_KHR_create_renderpass2)
        vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, 
"vkCmdBeginRenderPass2KHR");
        vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, 
"vkCmdEndRenderPass2KHR");
@@ -1249,9 +1263,9 @@
        vkCmdDrawMeshTasksIndirectNV = 
(PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
        vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, 
"vkCmdDrawMeshTasksNV");
 #endif /* defined(VK_NV_mesh_shader) */
-#if defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        vkCmdDrawMeshTasksIndirectCountNV = 
(PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, 
"vkCmdDrawMeshTasksIndirectCountNV");
-#endif /* defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_NV_optical_flow)
        vkBindOpticalFlowSessionImageNV = 
(PFN_vkBindOpticalFlowSessionImageNV)load(context, 
"vkBindOpticalFlowSessionImageNV");
        vkCmdOpticalFlowExecuteNV = 
(PFN_vkCmdOpticalFlowExecuteNV)load(context, "vkCmdOpticalFlowExecuteNV");
@@ -1795,9 +1809,9 @@
        table->vkCmdDrawMeshTasksEXT = (PFN_vkCmdDrawMeshTasksEXT)load(context, 
"vkCmdDrawMeshTasksEXT");
        table->vkCmdDrawMeshTasksIndirectEXT = 
(PFN_vkCmdDrawMeshTasksIndirectEXT)load(context, 
"vkCmdDrawMeshTasksIndirectEXT");
 #endif /* defined(VK_EXT_mesh_shader) */
-#if defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        table->vkCmdDrawMeshTasksIndirectCountEXT = 
(PFN_vkCmdDrawMeshTasksIndirectCountEXT)load(context, 
"vkCmdDrawMeshTasksIndirectCountEXT");
-#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_EXT_metal_objects)
        table->vkExportMetalObjectsEXT = 
(PFN_vkExportMetalObjectsEXT)load(context, "vkExportMetalObjectsEXT");
 #endif /* defined(VK_EXT_metal_objects) */
@@ -1944,6 +1958,10 @@
        table->vkCmdCopyImageToBuffer2KHR = 
(PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
        table->vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, 
"vkCmdResolveImage2KHR");
 #endif /* defined(VK_KHR_copy_commands2) */
+#if defined(VK_KHR_copy_memory_indirect)
+       table->vkCmdCopyMemoryIndirectKHR = 
(PFN_vkCmdCopyMemoryIndirectKHR)load(context, "vkCmdCopyMemoryIndirectKHR");
+       table->vkCmdCopyMemoryToImageIndirectKHR = 
(PFN_vkCmdCopyMemoryToImageIndirectKHR)load(context, 
"vkCmdCopyMemoryToImageIndirectKHR");
+#endif /* defined(VK_KHR_copy_memory_indirect) */
 #if defined(VK_KHR_create_renderpass2)
        table->vkCmdBeginRenderPass2KHR = 
(PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
        table->vkCmdEndRenderPass2KHR = 
(PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
@@ -2224,9 +2242,9 @@
        table->vkCmdDrawMeshTasksIndirectNV = 
(PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
        table->vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, 
"vkCmdDrawMeshTasksNV");
 #endif /* defined(VK_NV_mesh_shader) */
-#if defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        table->vkCmdDrawMeshTasksIndirectCountNV = 
(PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, 
"vkCmdDrawMeshTasksIndirectCountNV");
-#endif /* defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_NV_optical_flow)
        table->vkBindOpticalFlowSessionImageNV = 
(PFN_vkBindOpticalFlowSessionImageNV)load(context, 
"vkBindOpticalFlowSessionImageNV");
        table->vkCmdOpticalFlowExecuteNV = 
(PFN_vkCmdOpticalFlowExecuteNV)load(context, "vkCmdOpticalFlowExecuteNV");
@@ -2850,9 +2868,9 @@
 PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT;
 PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT;
 #endif /* defined(VK_EXT_mesh_shader) */
-#if defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
 PFN_vkCmdDrawMeshTasksIndirectCountEXT vkCmdDrawMeshTasksIndirectCountEXT;
-#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_EXT_metal_objects)
 PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
 #endif /* defined(VK_EXT_metal_objects) */
@@ -3019,6 +3037,10 @@
 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
 #endif /* defined(VK_KHR_copy_commands2) */
+#if defined(VK_KHR_copy_memory_indirect)
+PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR;
+PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR;
+#endif /* defined(VK_KHR_copy_memory_indirect) */
 #if defined(VK_KHR_create_renderpass2)
 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
@@ -3394,9 +3416,9 @@
 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
 #endif /* defined(VK_NV_mesh_shader) */
-#if defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
-#endif /* defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_NV_optical_flow)
 PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
 PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
@@ -3572,6 +3594,6 @@
 #endif
 
 #ifdef __cplusplus
-}
+} // extern "C" / namespace volk
 #endif
 /* clang-format on */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/volk-vulkan-sdk-1.4.321.0/volk.h 
new/volk-vulkan-sdk-1.4.328.0/volk.h
--- old/volk-vulkan-sdk-1.4.321.0/volk.h        2025-07-04 18:17:54.000000000 
+0200
+++ new/volk-vulkan-sdk-1.4.328.0/volk.h        2025-09-26 18:18:30.000000000 
+0200
@@ -10,12 +10,16 @@
 #ifndef VOLK_H_
 #define VOLK_H_
 
+#if defined(VOLK_NAMESPACE) && !defined(__cplusplus)
+#error VOLK_NAMESPACE is only supported in C++
+#endif
+
 #if defined(VULKAN_H_) && !defined(VK_NO_PROTOTYPES)
 #      error To use volk, you need to define VK_NO_PROTOTYPES before including 
vulkan.h
 #endif
 
 /* VOLK_GENERATE_VERSION_DEFINE */
-#define VOLK_HEADER_VERSION 321
+#define VOLK_HEADER_VERSION 328
 /* VOLK_GENERATE_VERSION_DEFINE */
 
 #ifndef VK_NO_PROTOTYPES
@@ -32,8 +36,12 @@
 #endif
 
 #ifdef __cplusplus
+#ifdef VOLK_NAMESPACE
+namespace volk {
+#else
 extern "C" {
 #endif
+#endif
 
 struct VolkDeviceTable;
 
@@ -105,7 +113,7 @@
 void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device);
 
 #ifdef __cplusplus
-}
+} // extern "C" / namespace volk
 #endif
 
 /* Instead of directly including vulkan.h, we include platform-specific parts 
of the SDK manually
@@ -202,6 +210,14 @@
 
 #endif
 
+#ifdef __cplusplus
+#ifdef VOLK_NAMESPACE
+namespace volk {
+#else
+extern "C" {
+#endif
+#endif
+
 /**
  * Device-specific function pointer table
  */
@@ -668,11 +684,11 @@
 #else
        PFN_vkVoidFunction padding_f65e838[2];
 #endif /* defined(VK_EXT_mesh_shader) */
-#if defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        PFN_vkCmdDrawMeshTasksIndirectCountEXT 
vkCmdDrawMeshTasksIndirectCountEXT;
 #else
        PFN_vkVoidFunction padding_dcbaac2f[1];
-#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_EXT_metal_objects)
        PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
 #else
@@ -871,6 +887,12 @@
 #else
        PFN_vkVoidFunction padding_4c841ff2[6];
 #endif /* defined(VK_KHR_copy_commands2) */
+#if defined(VK_KHR_copy_memory_indirect)
+       PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR;
+       PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR;
+#else
+       PFN_vkVoidFunction padding_95995957[2];
+#endif /* defined(VK_KHR_copy_memory_indirect) */
 #if defined(VK_KHR_create_renderpass2)
        PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
        PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
@@ -1275,11 +1297,11 @@
 #else
        PFN_vkVoidFunction padding_ac232758[2];
 #endif /* defined(VK_NV_mesh_shader) */
-#if defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
        PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
 #else
        PFN_vkVoidFunction padding_53495be7[1];
-#endif /* defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_NV_optical_flow)
        PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
        PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
@@ -1514,12 +1536,242 @@
        /* VOLK_GENERATE_DEVICE_TABLE */
 };
 
-#ifdef __cplusplus
-extern "C" {
-#endif
-
 /* VOLK_GENERATE_PROTOTYPES_H */
 #if defined(VK_VERSION_1_0)
+extern PFN_vkCreateDevice vkCreateDevice;
+extern PFN_vkCreateInstance vkCreateInstance;
+extern PFN_vkDestroyInstance vkDestroyInstance;
+extern PFN_vkEnumerateDeviceExtensionProperties 
vkEnumerateDeviceExtensionProperties;
+extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
+extern PFN_vkEnumerateInstanceExtensionProperties 
vkEnumerateInstanceExtensionProperties;
+extern PFN_vkEnumerateInstanceLayerProperties 
vkEnumerateInstanceLayerProperties;
+extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
+extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
+extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
+extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
+extern PFN_vkGetPhysicalDeviceFormatProperties 
vkGetPhysicalDeviceFormatProperties;
+extern PFN_vkGetPhysicalDeviceImageFormatProperties 
vkGetPhysicalDeviceImageFormatProperties;
+extern PFN_vkGetPhysicalDeviceMemoryProperties 
vkGetPhysicalDeviceMemoryProperties;
+extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
+extern PFN_vkGetPhysicalDeviceQueueFamilyProperties 
vkGetPhysicalDeviceQueueFamilyProperties;
+extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties 
vkGetPhysicalDeviceSparseImageFormatProperties;
+#endif /* defined(VK_VERSION_1_0) */
+#if defined(VK_VERSION_1_1)
+extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
+extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
+extern PFN_vkGetPhysicalDeviceExternalBufferProperties 
vkGetPhysicalDeviceExternalBufferProperties;
+extern PFN_vkGetPhysicalDeviceExternalFenceProperties 
vkGetPhysicalDeviceExternalFenceProperties;
+extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties 
vkGetPhysicalDeviceExternalSemaphoreProperties;
+extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
+extern PFN_vkGetPhysicalDeviceFormatProperties2 
vkGetPhysicalDeviceFormatProperties2;
+extern PFN_vkGetPhysicalDeviceImageFormatProperties2 
vkGetPhysicalDeviceImageFormatProperties2;
+extern PFN_vkGetPhysicalDeviceMemoryProperties2 
vkGetPhysicalDeviceMemoryProperties2;
+extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
+extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 
vkGetPhysicalDeviceQueueFamilyProperties2;
+extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 
vkGetPhysicalDeviceSparseImageFormatProperties2;
+#endif /* defined(VK_VERSION_1_1) */
+#if defined(VK_VERSION_1_3)
+extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
+#endif /* defined(VK_VERSION_1_3) */
+#if defined(VK_ARM_data_graph)
+extern 
PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM 
vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM;
+extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM 
vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM;
+#endif /* defined(VK_ARM_data_graph) */
+#if defined(VK_ARM_tensors)
+extern PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM 
vkGetPhysicalDeviceExternalTensorPropertiesARM;
+#endif /* defined(VK_ARM_tensors) */
+#if defined(VK_EXT_acquire_drm_display)
+extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
+extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
+#endif /* defined(VK_EXT_acquire_drm_display) */
+#if defined(VK_EXT_acquire_xlib_display)
+extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
+extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
+#endif /* defined(VK_EXT_acquire_xlib_display) */
+#if defined(VK_EXT_calibrated_timestamps)
+extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
+#endif /* defined(VK_EXT_calibrated_timestamps) */
+#if defined(VK_EXT_debug_report)
+extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
+extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
+extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
+#endif /* defined(VK_EXT_debug_report) */
+#if defined(VK_EXT_debug_utils)
+extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
+extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
+extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
+extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
+extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
+extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
+extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
+extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
+extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
+extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
+extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
+#endif /* defined(VK_EXT_debug_utils) */
+#if defined(VK_EXT_direct_mode_display)
+extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
+#endif /* defined(VK_EXT_direct_mode_display) */
+#if defined(VK_EXT_directfb_surface)
+extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
+extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT 
vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
+#endif /* defined(VK_EXT_directfb_surface) */
+#if defined(VK_EXT_display_surface_counter)
+extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT 
vkGetPhysicalDeviceSurfaceCapabilities2EXT;
+#endif /* defined(VK_EXT_display_surface_counter) */
+#if defined(VK_EXT_full_screen_exclusive)
+extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT 
vkGetPhysicalDeviceSurfacePresentModes2EXT;
+#endif /* defined(VK_EXT_full_screen_exclusive) */
+#if defined(VK_EXT_headless_surface)
+extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
+#endif /* defined(VK_EXT_headless_surface) */
+#if defined(VK_EXT_metal_surface)
+extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
+#endif /* defined(VK_EXT_metal_surface) */
+#if defined(VK_EXT_sample_locations)
+extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT 
vkGetPhysicalDeviceMultisamplePropertiesEXT;
+#endif /* defined(VK_EXT_sample_locations) */
+#if defined(VK_EXT_tooling_info)
+extern PFN_vkGetPhysicalDeviceToolPropertiesEXT 
vkGetPhysicalDeviceToolPropertiesEXT;
+#endif /* defined(VK_EXT_tooling_info) */
+#if defined(VK_FUCHSIA_imagepipe_surface)
+extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
+#endif /* defined(VK_FUCHSIA_imagepipe_surface) */
+#if defined(VK_GGP_stream_descriptor_surface)
+extern PFN_vkCreateStreamDescriptorSurfaceGGP 
vkCreateStreamDescriptorSurfaceGGP;
+#endif /* defined(VK_GGP_stream_descriptor_surface) */
+#if defined(VK_KHR_android_surface)
+extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
+#endif /* defined(VK_KHR_android_surface) */
+#if defined(VK_KHR_calibrated_timestamps)
+extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR;
+#endif /* defined(VK_KHR_calibrated_timestamps) */
+#if defined(VK_KHR_cooperative_matrix)
+extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR;
+#endif /* defined(VK_KHR_cooperative_matrix) */
+#if defined(VK_KHR_device_group_creation)
+extern PFN_vkEnumeratePhysicalDeviceGroupsKHR 
vkEnumeratePhysicalDeviceGroupsKHR;
+#endif /* defined(VK_KHR_device_group_creation) */
+#if defined(VK_KHR_display)
+extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
+extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
+extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
+extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
+extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR 
vkGetDisplayPlaneSupportedDisplaysKHR;
+extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
+extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR 
vkGetPhysicalDeviceDisplayPropertiesKHR;
+#endif /* defined(VK_KHR_display) */
+#if defined(VK_KHR_external_fence_capabilities)
+extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR 
vkGetPhysicalDeviceExternalFencePropertiesKHR;
+#endif /* defined(VK_KHR_external_fence_capabilities) */
+#if defined(VK_KHR_external_memory_capabilities)
+extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR 
vkGetPhysicalDeviceExternalBufferPropertiesKHR;
+#endif /* defined(VK_KHR_external_memory_capabilities) */
+#if defined(VK_KHR_external_semaphore_capabilities)
+extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
+#endif /* defined(VK_KHR_external_semaphore_capabilities) */
+#if defined(VK_KHR_fragment_shading_rate)
+extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR 
vkGetPhysicalDeviceFragmentShadingRatesKHR;
+#endif /* defined(VK_KHR_fragment_shading_rate) */
+#if defined(VK_KHR_get_display_properties2)
+extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
+extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
+extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
+extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR 
vkGetPhysicalDeviceDisplayProperties2KHR;
+#endif /* defined(VK_KHR_get_display_properties2) */
+#if defined(VK_KHR_get_physical_device_properties2)
+extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
+extern PFN_vkGetPhysicalDeviceFormatProperties2KHR 
vkGetPhysicalDeviceFormatProperties2KHR;
+extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR 
vkGetPhysicalDeviceImageFormatProperties2KHR;
+extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR 
vkGetPhysicalDeviceMemoryProperties2KHR;
+extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
+extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR 
vkGetPhysicalDeviceQueueFamilyProperties2KHR;
+extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
+#endif /* defined(VK_KHR_get_physical_device_properties2) */
+#if defined(VK_KHR_get_surface_capabilities2)
+extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR 
vkGetPhysicalDeviceSurfaceCapabilities2KHR;
+extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR 
vkGetPhysicalDeviceSurfaceFormats2KHR;
+#endif /* defined(VK_KHR_get_surface_capabilities2) */
+#if defined(VK_KHR_performance_query)
+extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
+extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
+#endif /* defined(VK_KHR_performance_query) */
+#if defined(VK_KHR_surface)
+extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
+extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
+extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR 
vkGetPhysicalDeviceSurfaceFormatsKHR;
+extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR 
vkGetPhysicalDeviceSurfacePresentModesKHR;
+extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR 
vkGetPhysicalDeviceSurfaceSupportKHR;
+#endif /* defined(VK_KHR_surface) */
+#if defined(VK_KHR_video_encode_queue)
+extern PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR 
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR;
+#endif /* defined(VK_KHR_video_encode_queue) */
+#if defined(VK_KHR_video_queue)
+extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR 
vkGetPhysicalDeviceVideoCapabilitiesKHR;
+extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR 
vkGetPhysicalDeviceVideoFormatPropertiesKHR;
+#endif /* defined(VK_KHR_video_queue) */
+#if defined(VK_KHR_wayland_surface)
+extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
+extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR 
vkGetPhysicalDeviceWaylandPresentationSupportKHR;
+#endif /* defined(VK_KHR_wayland_surface) */
+#if defined(VK_KHR_win32_surface)
+extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
+extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR 
vkGetPhysicalDeviceWin32PresentationSupportKHR;
+#endif /* defined(VK_KHR_win32_surface) */
+#if defined(VK_KHR_xcb_surface)
+extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
+extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR 
vkGetPhysicalDeviceXcbPresentationSupportKHR;
+#endif /* defined(VK_KHR_xcb_surface) */
+#if defined(VK_KHR_xlib_surface)
+extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
+extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR 
vkGetPhysicalDeviceXlibPresentationSupportKHR;
+#endif /* defined(VK_KHR_xlib_surface) */
+#if defined(VK_MVK_ios_surface)
+extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
+#endif /* defined(VK_MVK_ios_surface) */
+#if defined(VK_MVK_macos_surface)
+extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
+#endif /* defined(VK_MVK_macos_surface) */
+#if defined(VK_NN_vi_surface)
+extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
+#endif /* defined(VK_NN_vi_surface) */
+#if defined(VK_NV_acquire_winrt_display)
+extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
+extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
+#endif /* defined(VK_NV_acquire_winrt_display) */
+#if defined(VK_NV_cooperative_matrix)
+extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
+#endif /* defined(VK_NV_cooperative_matrix) */
+#if defined(VK_NV_cooperative_matrix2)
+extern PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV 
vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
+#endif /* defined(VK_NV_cooperative_matrix2) */
+#if defined(VK_NV_cooperative_vector)
+extern PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV 
vkGetPhysicalDeviceCooperativeVectorPropertiesNV;
+#endif /* defined(VK_NV_cooperative_vector) */
+#if defined(VK_NV_coverage_reduction_mode)
+extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
+#endif /* defined(VK_NV_coverage_reduction_mode) */
+#if defined(VK_NV_external_memory_capabilities)
+extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
+#endif /* defined(VK_NV_external_memory_capabilities) */
+#if defined(VK_NV_optical_flow)
+extern PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV;
+#endif /* defined(VK_NV_optical_flow) */
+#if defined(VK_OHOS_surface)
+extern PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS;
+#endif /* defined(VK_OHOS_surface) */
+#if defined(VK_QNX_screen_surface)
+extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
+extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX 
vkGetPhysicalDeviceScreenPresentationSupportQNX;
+#endif /* defined(VK_QNX_screen_surface) */
+#if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
+extern PFN_vkGetPhysicalDevicePresentRectanglesKHR 
vkGetPhysicalDevicePresentRectanglesKHR;
+#endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
+/* VOLK_GENERATE_PROTOTYPES_H */
+
+#ifndef VOLK_NO_DEVICE_PROTOTYPES
+/* VOLK_GENERATE_PROTOTYPES_H_DEVICE */
+#if defined(VK_VERSION_1_0)
 extern PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
 extern PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
 extern PFN_vkAllocateMemory vkAllocateMemory;
@@ -1576,14 +1828,12 @@
 extern PFN_vkCreateComputePipelines vkCreateComputePipelines;
 extern PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
 extern PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
-extern PFN_vkCreateDevice vkCreateDevice;
 extern PFN_vkCreateEvent vkCreateEvent;
 extern PFN_vkCreateFence vkCreateFence;
 extern PFN_vkCreateFramebuffer vkCreateFramebuffer;
 extern PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
 extern PFN_vkCreateImage vkCreateImage;
 extern PFN_vkCreateImageView vkCreateImageView;
-extern PFN_vkCreateInstance vkCreateInstance;
 extern PFN_vkCreatePipelineCache vkCreatePipelineCache;
 extern PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
 extern PFN_vkCreateQueryPool vkCreateQueryPool;
@@ -1602,7 +1852,6 @@
 extern PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
 extern PFN_vkDestroyImage vkDestroyImage;
 extern PFN_vkDestroyImageView vkDestroyImageView;
-extern PFN_vkDestroyInstance vkDestroyInstance;
 extern PFN_vkDestroyPipeline vkDestroyPipeline;
 extern PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
 extern PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
@@ -1613,32 +1862,18 @@
 extern PFN_vkDestroyShaderModule vkDestroyShaderModule;
 extern PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
 extern PFN_vkEndCommandBuffer vkEndCommandBuffer;
-extern PFN_vkEnumerateDeviceExtensionProperties 
vkEnumerateDeviceExtensionProperties;
-extern PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
-extern PFN_vkEnumerateInstanceExtensionProperties 
vkEnumerateInstanceExtensionProperties;
-extern PFN_vkEnumerateInstanceLayerProperties 
vkEnumerateInstanceLayerProperties;
-extern PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
 extern PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
 extern PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
 extern PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
 extern PFN_vkFreeMemory vkFreeMemory;
 extern PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
 extern PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
-extern PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
 extern PFN_vkGetDeviceQueue vkGetDeviceQueue;
 extern PFN_vkGetEventStatus vkGetEventStatus;
 extern PFN_vkGetFenceStatus vkGetFenceStatus;
 extern PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
 extern PFN_vkGetImageSparseMemoryRequirements 
vkGetImageSparseMemoryRequirements;
 extern PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
-extern PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
-extern PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
-extern PFN_vkGetPhysicalDeviceFormatProperties 
vkGetPhysicalDeviceFormatProperties;
-extern PFN_vkGetPhysicalDeviceImageFormatProperties 
vkGetPhysicalDeviceImageFormatProperties;
-extern PFN_vkGetPhysicalDeviceMemoryProperties 
vkGetPhysicalDeviceMemoryProperties;
-extern PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
-extern PFN_vkGetPhysicalDeviceQueueFamilyProperties 
vkGetPhysicalDeviceQueueFamilyProperties;
-extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties 
vkGetPhysicalDeviceSparseImageFormatProperties;
 extern PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
 extern PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
 extern PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
@@ -1667,24 +1902,12 @@
 extern PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
 extern PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
 extern PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
-extern PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
-extern PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
 extern PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
 extern PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
 extern PFN_vkGetDeviceGroupPeerMemoryFeatures 
vkGetDeviceGroupPeerMemoryFeatures;
 extern PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
 extern PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
 extern PFN_vkGetImageSparseMemoryRequirements2 
vkGetImageSparseMemoryRequirements2;
-extern PFN_vkGetPhysicalDeviceExternalBufferProperties 
vkGetPhysicalDeviceExternalBufferProperties;
-extern PFN_vkGetPhysicalDeviceExternalFenceProperties 
vkGetPhysicalDeviceExternalFenceProperties;
-extern PFN_vkGetPhysicalDeviceExternalSemaphoreProperties 
vkGetPhysicalDeviceExternalSemaphoreProperties;
-extern PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
-extern PFN_vkGetPhysicalDeviceFormatProperties2 
vkGetPhysicalDeviceFormatProperties2;
-extern PFN_vkGetPhysicalDeviceImageFormatProperties2 
vkGetPhysicalDeviceImageFormatProperties2;
-extern PFN_vkGetPhysicalDeviceMemoryProperties2 
vkGetPhysicalDeviceMemoryProperties2;
-extern PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
-extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2 
vkGetPhysicalDeviceQueueFamilyProperties2;
-extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 
vkGetPhysicalDeviceSparseImageFormatProperties2;
 extern PFN_vkTrimCommandPool vkTrimCommandPool;
 extern PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
 #endif /* defined(VK_VERSION_1_1) */
@@ -1737,7 +1960,6 @@
 extern PFN_vkGetDeviceBufferMemoryRequirements 
vkGetDeviceBufferMemoryRequirements;
 extern PFN_vkGetDeviceImageMemoryRequirements 
vkGetDeviceImageMemoryRequirements;
 extern PFN_vkGetDeviceImageSparseMemoryRequirements 
vkGetDeviceImageSparseMemoryRequirements;
-extern PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
 extern PFN_vkGetPrivateData vkGetPrivateData;
 extern PFN_vkQueueSubmit2 vkQueueSubmit2;
 extern PFN_vkSetPrivateData vkSetPrivateData;
@@ -1805,8 +2027,6 @@
 extern PFN_vkGetDataGraphPipelinePropertiesARM 
vkGetDataGraphPipelinePropertiesARM;
 extern PFN_vkGetDataGraphPipelineSessionBindPointRequirementsARM 
vkGetDataGraphPipelineSessionBindPointRequirementsARM;
 extern PFN_vkGetDataGraphPipelineSessionMemoryRequirementsARM 
vkGetDataGraphPipelineSessionMemoryRequirementsARM;
-extern 
PFN_vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM 
vkGetPhysicalDeviceQueueFamilyDataGraphProcessingEnginePropertiesARM;
-extern PFN_vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM 
vkGetPhysicalDeviceQueueFamilyDataGraphPropertiesARM;
 #endif /* defined(VK_ARM_data_graph) */
 #if defined(VK_ARM_tensors)
 extern PFN_vkBindTensorMemoryARM vkBindTensorMemoryARM;
@@ -1816,21 +2036,12 @@
 extern PFN_vkDestroyTensorARM vkDestroyTensorARM;
 extern PFN_vkDestroyTensorViewARM vkDestroyTensorViewARM;
 extern PFN_vkGetDeviceTensorMemoryRequirementsARM 
vkGetDeviceTensorMemoryRequirementsARM;
-extern PFN_vkGetPhysicalDeviceExternalTensorPropertiesARM 
vkGetPhysicalDeviceExternalTensorPropertiesARM;
 extern PFN_vkGetTensorMemoryRequirementsARM vkGetTensorMemoryRequirementsARM;
 #endif /* defined(VK_ARM_tensors) */
 #if defined(VK_ARM_tensors) && defined(VK_EXT_descriptor_buffer)
 extern PFN_vkGetTensorOpaqueCaptureDescriptorDataARM 
vkGetTensorOpaqueCaptureDescriptorDataARM;
 extern PFN_vkGetTensorViewOpaqueCaptureDescriptorDataARM 
vkGetTensorViewOpaqueCaptureDescriptorDataARM;
 #endif /* defined(VK_ARM_tensors) && defined(VK_EXT_descriptor_buffer) */
-#if defined(VK_EXT_acquire_drm_display)
-extern PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
-extern PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
-#endif /* defined(VK_EXT_acquire_drm_display) */
-#if defined(VK_EXT_acquire_xlib_display)
-extern PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
-extern PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
-#endif /* defined(VK_EXT_acquire_xlib_display) */
 #if defined(VK_EXT_attachment_feedback_loop_dynamic_state)
 extern PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT 
vkCmdSetAttachmentFeedbackLoopEnableEXT;
 #endif /* defined(VK_EXT_attachment_feedback_loop_dynamic_state) */
@@ -1839,7 +2050,6 @@
 #endif /* defined(VK_EXT_buffer_device_address) */
 #if defined(VK_EXT_calibrated_timestamps)
 extern PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
-extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT 
vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
 #endif /* defined(VK_EXT_calibrated_timestamps) */
 #if defined(VK_EXT_color_write_enable)
 extern PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
@@ -1855,24 +2065,6 @@
 extern PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
 extern PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
 #endif /* defined(VK_EXT_debug_marker) */
-#if defined(VK_EXT_debug_report)
-extern PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
-extern PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
-extern PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
-#endif /* defined(VK_EXT_debug_report) */
-#if defined(VK_EXT_debug_utils)
-extern PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
-extern PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
-extern PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
-extern PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
-extern PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
-extern PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
-extern PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
-extern PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
-extern PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
-extern PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
-extern PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
-#endif /* defined(VK_EXT_debug_utils) */
 #if defined(VK_EXT_depth_bias_control)
 extern PFN_vkCmdSetDepthBias2EXT vkCmdSetDepthBias2EXT;
 #endif /* defined(VK_EXT_depth_bias_control) */
@@ -1905,13 +2097,6 @@
 extern PFN_vkUpdateIndirectExecutionSetPipelineEXT 
vkUpdateIndirectExecutionSetPipelineEXT;
 extern PFN_vkUpdateIndirectExecutionSetShaderEXT 
vkUpdateIndirectExecutionSetShaderEXT;
 #endif /* defined(VK_EXT_device_generated_commands) */
-#if defined(VK_EXT_direct_mode_display)
-extern PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
-#endif /* defined(VK_EXT_direct_mode_display) */
-#if defined(VK_EXT_directfb_surface)
-extern PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
-extern PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT 
vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
-#endif /* defined(VK_EXT_directfb_surface) */
 #if defined(VK_EXT_discard_rectangles)
 extern PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
 #endif /* defined(VK_EXT_discard_rectangles) */
@@ -1925,9 +2110,6 @@
 extern PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
 extern PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
 #endif /* defined(VK_EXT_display_control) */
-#if defined(VK_EXT_display_surface_counter)
-extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT 
vkGetPhysicalDeviceSurfaceCapabilities2EXT;
-#endif /* defined(VK_EXT_display_surface_counter) */
 #if defined(VK_EXT_external_memory_host)
 extern PFN_vkGetMemoryHostPointerPropertiesEXT 
vkGetMemoryHostPointerPropertiesEXT;
 #endif /* defined(VK_EXT_external_memory_host) */
@@ -1940,7 +2122,6 @@
 #endif /* defined(VK_EXT_fragment_density_map_offset) */
 #if defined(VK_EXT_full_screen_exclusive)
 extern PFN_vkAcquireFullScreenExclusiveModeEXT 
vkAcquireFullScreenExclusiveModeEXT;
-extern PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT 
vkGetPhysicalDeviceSurfacePresentModes2EXT;
 extern PFN_vkReleaseFullScreenExclusiveModeEXT 
vkReleaseFullScreenExclusiveModeEXT;
 #endif /* defined(VK_EXT_full_screen_exclusive) */
 #if defined(VK_EXT_full_screen_exclusive) && (defined(VK_KHR_device_group) || 
defined(VK_VERSION_1_1))
@@ -1949,9 +2130,6 @@
 #if defined(VK_EXT_hdr_metadata)
 extern PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
 #endif /* defined(VK_EXT_hdr_metadata) */
-#if defined(VK_EXT_headless_surface)
-extern PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
-#endif /* defined(VK_EXT_headless_surface) */
 #if defined(VK_EXT_host_image_copy)
 extern PFN_vkCopyImageToImageEXT vkCopyImageToImageEXT;
 extern PFN_vkCopyImageToMemoryEXT vkCopyImageToMemoryEXT;
@@ -1971,15 +2149,12 @@
 extern PFN_vkCmdDrawMeshTasksEXT vkCmdDrawMeshTasksEXT;
 extern PFN_vkCmdDrawMeshTasksIndirectEXT vkCmdDrawMeshTasksIndirectEXT;
 #endif /* defined(VK_EXT_mesh_shader) */
-#if defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
 extern PFN_vkCmdDrawMeshTasksIndirectCountEXT 
vkCmdDrawMeshTasksIndirectCountEXT;
-#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_EXT_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_EXT_metal_objects)
 extern PFN_vkExportMetalObjectsEXT vkExportMetalObjectsEXT;
 #endif /* defined(VK_EXT_metal_objects) */
-#if defined(VK_EXT_metal_surface)
-extern PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
-#endif /* defined(VK_EXT_metal_surface) */
 #if defined(VK_EXT_multi_draw)
 extern PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
 extern PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
@@ -2014,7 +2189,6 @@
 #endif /* defined(VK_EXT_private_data) */
 #if defined(VK_EXT_sample_locations)
 extern PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
-extern PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT 
vkGetPhysicalDeviceMultisamplePropertiesEXT;
 #endif /* defined(VK_EXT_sample_locations) */
 #if defined(VK_EXT_shader_module_identifier)
 extern PFN_vkGetShaderModuleCreateInfoIdentifierEXT 
vkGetShaderModuleCreateInfoIdentifierEXT;
@@ -2029,9 +2203,6 @@
 #if defined(VK_EXT_swapchain_maintenance1)
 extern PFN_vkReleaseSwapchainImagesEXT vkReleaseSwapchainImagesEXT;
 #endif /* defined(VK_EXT_swapchain_maintenance1) */
-#if defined(VK_EXT_tooling_info)
-extern PFN_vkGetPhysicalDeviceToolPropertiesEXT 
vkGetPhysicalDeviceToolPropertiesEXT;
-#endif /* defined(VK_EXT_tooling_info) */
 #if defined(VK_EXT_transform_feedback)
 extern PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
 extern PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
@@ -2061,12 +2232,6 @@
 extern PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
 extern PFN_vkImportSemaphoreZirconHandleFUCHSIA 
vkImportSemaphoreZirconHandleFUCHSIA;
 #endif /* defined(VK_FUCHSIA_external_semaphore) */
-#if defined(VK_FUCHSIA_imagepipe_surface)
-extern PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
-#endif /* defined(VK_FUCHSIA_imagepipe_surface) */
-#if defined(VK_GGP_stream_descriptor_surface)
-extern PFN_vkCreateStreamDescriptorSurfaceGGP 
vkCreateStreamDescriptorSurfaceGGP;
-#endif /* defined(VK_GGP_stream_descriptor_surface) */
 #if defined(VK_GOOGLE_display_timing)
 extern PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
 extern PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
@@ -2113,9 +2278,6 @@
 extern PFN_vkGetDeviceAccelerationStructureCompatibilityKHR 
vkGetDeviceAccelerationStructureCompatibilityKHR;
 extern PFN_vkWriteAccelerationStructuresPropertiesKHR 
vkWriteAccelerationStructuresPropertiesKHR;
 #endif /* defined(VK_KHR_acceleration_structure) */
-#if defined(VK_KHR_android_surface)
-extern PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
-#endif /* defined(VK_KHR_android_surface) */
 #if defined(VK_KHR_bind_memory2)
 extern PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
 extern PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
@@ -2127,11 +2289,7 @@
 #endif /* defined(VK_KHR_buffer_device_address) */
 #if defined(VK_KHR_calibrated_timestamps)
 extern PFN_vkGetCalibratedTimestampsKHR vkGetCalibratedTimestampsKHR;
-extern PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR 
vkGetPhysicalDeviceCalibrateableTimeDomainsKHR;
 #endif /* defined(VK_KHR_calibrated_timestamps) */
-#if defined(VK_KHR_cooperative_matrix)
-extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR 
vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR;
-#endif /* defined(VK_KHR_cooperative_matrix) */
 #if defined(VK_KHR_copy_commands2)
 extern PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
 extern PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
@@ -2140,6 +2298,10 @@
 extern PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
 extern PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
 #endif /* defined(VK_KHR_copy_commands2) */
+#if defined(VK_KHR_copy_memory_indirect)
+extern PFN_vkCmdCopyMemoryIndirectKHR vkCmdCopyMemoryIndirectKHR;
+extern PFN_vkCmdCopyMemoryToImageIndirectKHR vkCmdCopyMemoryToImageIndirectKHR;
+#endif /* defined(VK_KHR_copy_memory_indirect) */
 #if defined(VK_KHR_create_renderpass2)
 extern PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
 extern PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
@@ -2163,18 +2325,6 @@
 extern PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
 extern PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR 
vkGetDeviceGroupPeerMemoryFeaturesKHR;
 #endif /* defined(VK_KHR_device_group) */
-#if defined(VK_KHR_device_group_creation)
-extern PFN_vkEnumeratePhysicalDeviceGroupsKHR 
vkEnumeratePhysicalDeviceGroupsKHR;
-#endif /* defined(VK_KHR_device_group_creation) */
-#if defined(VK_KHR_display)
-extern PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
-extern PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
-extern PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
-extern PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
-extern PFN_vkGetDisplayPlaneSupportedDisplaysKHR 
vkGetDisplayPlaneSupportedDisplaysKHR;
-extern PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR 
vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
-extern PFN_vkGetPhysicalDeviceDisplayPropertiesKHR 
vkGetPhysicalDeviceDisplayPropertiesKHR;
-#endif /* defined(VK_KHR_display) */
 #if defined(VK_KHR_display_swapchain)
 extern PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
 #endif /* defined(VK_KHR_display_swapchain) */
@@ -2190,9 +2340,6 @@
 extern PFN_vkCmdSetRenderingAttachmentLocationsKHR 
vkCmdSetRenderingAttachmentLocationsKHR;
 extern PFN_vkCmdSetRenderingInputAttachmentIndicesKHR 
vkCmdSetRenderingInputAttachmentIndicesKHR;
 #endif /* defined(VK_KHR_dynamic_rendering_local_read) */
-#if defined(VK_KHR_external_fence_capabilities)
-extern PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR 
vkGetPhysicalDeviceExternalFencePropertiesKHR;
-#endif /* defined(VK_KHR_external_fence_capabilities) */
 #if defined(VK_KHR_external_fence_fd)
 extern PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
 extern PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
@@ -2201,9 +2348,6 @@
 extern PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
 extern PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
 #endif /* defined(VK_KHR_external_fence_win32) */
-#if defined(VK_KHR_external_memory_capabilities)
-extern PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR 
vkGetPhysicalDeviceExternalBufferPropertiesKHR;
-#endif /* defined(VK_KHR_external_memory_capabilities) */
 #if defined(VK_KHR_external_memory_fd)
 extern PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
 extern PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
@@ -2212,9 +2356,6 @@
 extern PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
 extern PFN_vkGetMemoryWin32HandlePropertiesKHR 
vkGetMemoryWin32HandlePropertiesKHR;
 #endif /* defined(VK_KHR_external_memory_win32) */
-#if defined(VK_KHR_external_semaphore_capabilities)
-extern PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR 
vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
-#endif /* defined(VK_KHR_external_semaphore_capabilities) */
 #if defined(VK_KHR_external_semaphore_fd)
 extern PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
 extern PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
@@ -2225,32 +2366,12 @@
 #endif /* defined(VK_KHR_external_semaphore_win32) */
 #if defined(VK_KHR_fragment_shading_rate)
 extern PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
-extern PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR 
vkGetPhysicalDeviceFragmentShadingRatesKHR;
 #endif /* defined(VK_KHR_fragment_shading_rate) */
-#if defined(VK_KHR_get_display_properties2)
-extern PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
-extern PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
-extern PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR 
vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
-extern PFN_vkGetPhysicalDeviceDisplayProperties2KHR 
vkGetPhysicalDeviceDisplayProperties2KHR;
-#endif /* defined(VK_KHR_get_display_properties2) */
 #if defined(VK_KHR_get_memory_requirements2)
 extern PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
 extern PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
 extern PFN_vkGetImageSparseMemoryRequirements2KHR 
vkGetImageSparseMemoryRequirements2KHR;
 #endif /* defined(VK_KHR_get_memory_requirements2) */
-#if defined(VK_KHR_get_physical_device_properties2)
-extern PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
-extern PFN_vkGetPhysicalDeviceFormatProperties2KHR 
vkGetPhysicalDeviceFormatProperties2KHR;
-extern PFN_vkGetPhysicalDeviceImageFormatProperties2KHR 
vkGetPhysicalDeviceImageFormatProperties2KHR;
-extern PFN_vkGetPhysicalDeviceMemoryProperties2KHR 
vkGetPhysicalDeviceMemoryProperties2KHR;
-extern PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
-extern PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR 
vkGetPhysicalDeviceQueueFamilyProperties2KHR;
-extern PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR 
vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
-#endif /* defined(VK_KHR_get_physical_device_properties2) */
-#if defined(VK_KHR_get_surface_capabilities2)
-extern PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR 
vkGetPhysicalDeviceSurfaceCapabilities2KHR;
-extern PFN_vkGetPhysicalDeviceSurfaceFormats2KHR 
vkGetPhysicalDeviceSurfaceFormats2KHR;
-#endif /* defined(VK_KHR_get_surface_capabilities2) */
 #if defined(VK_KHR_line_rasterization)
 extern PFN_vkCmdSetLineStippleKHR vkCmdSetLineStippleKHR;
 #endif /* defined(VK_KHR_line_rasterization) */
@@ -2289,8 +2410,6 @@
 #endif /* defined(VK_KHR_map_memory2) */
 #if defined(VK_KHR_performance_query)
 extern PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
-extern PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR 
vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
-extern PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR 
vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
 extern PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
 #endif /* defined(VK_KHR_performance_query) */
 #if defined(VK_KHR_pipeline_binary)
@@ -2333,13 +2452,6 @@
 #if defined(VK_KHR_shared_presentable_image)
 extern PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
 #endif /* defined(VK_KHR_shared_presentable_image) */
-#if defined(VK_KHR_surface)
-extern PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR 
vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceFormatsKHR 
vkGetPhysicalDeviceSurfaceFormatsKHR;
-extern PFN_vkGetPhysicalDeviceSurfacePresentModesKHR 
vkGetPhysicalDeviceSurfacePresentModesKHR;
-extern PFN_vkGetPhysicalDeviceSurfaceSupportKHR 
vkGetPhysicalDeviceSurfaceSupportKHR;
-#endif /* defined(VK_KHR_surface) */
 #if defined(VK_KHR_swapchain)
 extern PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
 extern PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
@@ -2369,7 +2481,6 @@
 #if defined(VK_KHR_video_encode_queue)
 extern PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
 extern PFN_vkGetEncodedVideoSessionParametersKHR 
vkGetEncodedVideoSessionParametersKHR;
-extern PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR 
vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR;
 #endif /* defined(VK_KHR_video_encode_queue) */
 #if defined(VK_KHR_video_queue)
 extern PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
@@ -2380,36 +2491,9 @@
 extern PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
 extern PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
 extern PFN_vkDestroyVideoSessionParametersKHR 
vkDestroyVideoSessionParametersKHR;
-extern PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR 
vkGetPhysicalDeviceVideoCapabilitiesKHR;
-extern PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR 
vkGetPhysicalDeviceVideoFormatPropertiesKHR;
 extern PFN_vkGetVideoSessionMemoryRequirementsKHR 
vkGetVideoSessionMemoryRequirementsKHR;
 extern PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
 #endif /* defined(VK_KHR_video_queue) */
-#if defined(VK_KHR_wayland_surface)
-extern PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR 
vkGetPhysicalDeviceWaylandPresentationSupportKHR;
-#endif /* defined(VK_KHR_wayland_surface) */
-#if defined(VK_KHR_win32_surface)
-extern PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
-extern PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR 
vkGetPhysicalDeviceWin32PresentationSupportKHR;
-#endif /* defined(VK_KHR_win32_surface) */
-#if defined(VK_KHR_xcb_surface)
-extern PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR 
vkGetPhysicalDeviceXcbPresentationSupportKHR;
-#endif /* defined(VK_KHR_xcb_surface) */
-#if defined(VK_KHR_xlib_surface)
-extern PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
-extern PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR 
vkGetPhysicalDeviceXlibPresentationSupportKHR;
-#endif /* defined(VK_KHR_xlib_surface) */
-#if defined(VK_MVK_ios_surface)
-extern PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
-#endif /* defined(VK_MVK_ios_surface) */
-#if defined(VK_MVK_macos_surface)
-extern PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
-#endif /* defined(VK_MVK_macos_surface) */
-#if defined(VK_NN_vi_surface)
-extern PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
-#endif /* defined(VK_NN_vi_surface) */
 #if defined(VK_NVX_binary_import)
 extern PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
 extern PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
@@ -2426,10 +2510,6 @@
 #if defined(VK_NVX_image_view_handle) && VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION 
>= 2
 extern PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
 #endif /* defined(VK_NVX_image_view_handle) && 
VK_NVX_IMAGE_VIEW_HANDLE_SPEC_VERSION >= 2 */
-#if defined(VK_NV_acquire_winrt_display)
-extern PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
-extern PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
-#endif /* defined(VK_NV_acquire_winrt_display) */
 #if defined(VK_NV_clip_space_w_scaling)
 extern PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
 #endif /* defined(VK_NV_clip_space_w_scaling) */
@@ -2437,24 +2517,14 @@
 extern PFN_vkCmdBuildClusterAccelerationStructureIndirectNV 
vkCmdBuildClusterAccelerationStructureIndirectNV;
 extern PFN_vkGetClusterAccelerationStructureBuildSizesNV 
vkGetClusterAccelerationStructureBuildSizesNV;
 #endif /* defined(VK_NV_cluster_acceleration_structure) */
-#if defined(VK_NV_cooperative_matrix)
-extern PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV 
vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
-#endif /* defined(VK_NV_cooperative_matrix) */
-#if defined(VK_NV_cooperative_matrix2)
-extern PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV 
vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
-#endif /* defined(VK_NV_cooperative_matrix2) */
 #if defined(VK_NV_cooperative_vector)
 extern PFN_vkCmdConvertCooperativeVectorMatrixNV 
vkCmdConvertCooperativeVectorMatrixNV;
 extern PFN_vkConvertCooperativeVectorMatrixNV 
vkConvertCooperativeVectorMatrixNV;
-extern PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV 
vkGetPhysicalDeviceCooperativeVectorPropertiesNV;
 #endif /* defined(VK_NV_cooperative_vector) */
 #if defined(VK_NV_copy_memory_indirect)
 extern PFN_vkCmdCopyMemoryIndirectNV vkCmdCopyMemoryIndirectNV;
 extern PFN_vkCmdCopyMemoryToImageIndirectNV vkCmdCopyMemoryToImageIndirectNV;
 #endif /* defined(VK_NV_copy_memory_indirect) */
-#if defined(VK_NV_coverage_reduction_mode)
-extern PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV 
vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
-#endif /* defined(VK_NV_coverage_reduction_mode) */
 #if defined(VK_NV_cuda_kernel_launch)
 extern PFN_vkCmdCudaLaunchKernelNV vkCmdCudaLaunchKernelNV;
 extern PFN_vkCreateCudaFunctionNV vkCreateCudaFunctionNV;
@@ -2488,9 +2558,6 @@
 extern PFN_vkDestroyExternalComputeQueueNV vkDestroyExternalComputeQueueNV;
 extern PFN_vkGetExternalComputeQueueDataNV vkGetExternalComputeQueueDataNV;
 #endif /* defined(VK_NV_external_compute_queue) */
-#if defined(VK_NV_external_memory_capabilities)
-extern PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV 
vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
-#endif /* defined(VK_NV_external_memory_capabilities) */
 #if defined(VK_NV_external_memory_rdma)
 extern PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
 #endif /* defined(VK_NV_external_memory_rdma) */
@@ -2515,15 +2582,14 @@
 extern PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
 extern PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
 #endif /* defined(VK_NV_mesh_shader) */
-#if defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) || 
defined(VK_VERSION_1_2))
+#if defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count))
 extern PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
-#endif /* defined(VK_NV_mesh_shader) && (defined(VK_KHR_draw_indirect_count) 
|| defined(VK_VERSION_1_2)) */
+#endif /* defined(VK_NV_mesh_shader) && (defined(VK_VERSION_1_2) || 
defined(VK_KHR_draw_indirect_count) || defined(VK_AMD_draw_indirect_count)) */
 #if defined(VK_NV_optical_flow)
 extern PFN_vkBindOpticalFlowSessionImageNV vkBindOpticalFlowSessionImageNV;
 extern PFN_vkCmdOpticalFlowExecuteNV vkCmdOpticalFlowExecuteNV;
 extern PFN_vkCreateOpticalFlowSessionNV vkCreateOpticalFlowSessionNV;
 extern PFN_vkDestroyOpticalFlowSessionNV vkDestroyOpticalFlowSessionNV;
-extern PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV 
vkGetPhysicalDeviceOpticalFlowImageFormatsNV;
 #endif /* defined(VK_NV_optical_flow) */
 #if defined(VK_NV_partitioned_acceleration_structure)
 extern PFN_vkCmdBuildPartitionedAccelerationStructuresNV 
vkCmdBuildPartitionedAccelerationStructuresNV;
@@ -2554,9 +2620,6 @@
 extern PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
 extern PFN_vkCmdSetViewportShadingRatePaletteNV 
vkCmdSetViewportShadingRatePaletteNV;
 #endif /* defined(VK_NV_shading_rate_image) */
-#if defined(VK_OHOS_surface)
-extern PFN_vkCreateSurfaceOHOS vkCreateSurfaceOHOS;
-#endif /* defined(VK_OHOS_surface) */
 #if defined(VK_QCOM_tile_memory_heap)
 extern PFN_vkCmdBindTileMemoryQCOM vkCmdBindTileMemoryQCOM;
 #endif /* defined(VK_QCOM_tile_memory_heap) */
@@ -2572,10 +2635,6 @@
 #if defined(VK_QNX_external_memory_screen_buffer)
 extern PFN_vkGetScreenBufferPropertiesQNX vkGetScreenBufferPropertiesQNX;
 #endif /* defined(VK_QNX_external_memory_screen_buffer) */
-#if defined(VK_QNX_screen_surface)
-extern PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
-extern PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX 
vkGetPhysicalDeviceScreenPresentationSupportQNX;
-#endif /* defined(VK_QNX_screen_surface) */
 #if defined(VK_VALVE_descriptor_set_host_mapping)
 extern PFN_vkGetDescriptorSetHostMappingVALVE 
vkGetDescriptorSetHostMappingVALVE;
 extern PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE 
vkGetDescriptorSetLayoutHostMappingInfoVALVE;
@@ -2681,19 +2740,23 @@
 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
 extern PFN_vkGetDeviceGroupPresentCapabilitiesKHR 
vkGetDeviceGroupPresentCapabilitiesKHR;
 extern PFN_vkGetDeviceGroupSurfacePresentModesKHR 
vkGetDeviceGroupSurfacePresentModesKHR;
-extern PFN_vkGetPhysicalDevicePresentRectanglesKHR 
vkGetPhysicalDevicePresentRectanglesKHR;
 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
 extern PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || 
(defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
-/* VOLK_GENERATE_PROTOTYPES_H */
+/* VOLK_GENERATE_PROTOTYPES_H_DEVICE */
+#endif
 
 #ifdef __cplusplus
-}
+} // extern "C" / namespace volk
 #endif
 
+#ifdef VOLK_NAMESPACE
+using namespace volk;
 #endif
 
+#endif // VOLK_H
+
 #ifdef VOLK_IMPLEMENTATION
 #undef VOLK_IMPLEMENTATION
 /* Prevent tools like dependency checkers from detecting a cyclic dependency */

Reply via email to