1 /* This file is part of volk library; see volk.h for version/license details */
2 /* clang-format off */
3 #include "volk.h"
4 
5 #ifdef _WIN32
6     typedef const char* LPCSTR;
7     typedef struct HINSTANCE__* HINSTANCE;
8     typedef HINSTANCE HMODULE;
9     #ifdef _WIN64
10         typedef __int64 (__stdcall* FARPROC)(void);
11     #else
12         typedef int (__stdcall* FARPROC)(void);
13     #endif
14 #else
15 #   include <dlfcn.h>
16 #endif
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #ifdef _WIN32
23 __declspec(dllimport) HMODULE __stdcall LoadLibraryA(LPCSTR);
24 __declspec(dllimport) FARPROC __stdcall GetProcAddress(HMODULE, LPCSTR);
25 #endif
26 
27 static VkInstance loadedInstance = VK_NULL_HANDLE;
28 static VkDevice loadedDevice = VK_NULL_HANDLE;
29 
30 static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
31 static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
32 static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*));
33 static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*));
34 
vkGetInstanceProcAddrStub(void * context,const char * name)35 static PFN_vkVoidFunction vkGetInstanceProcAddrStub(void* context, const char* name)
36 {
37     return vkGetInstanceProcAddr((VkInstance)context, name);
38 }
39 
vkGetDeviceProcAddrStub(void * context,const char * name)40 static PFN_vkVoidFunction vkGetDeviceProcAddrStub(void* context, const char* name)
41 {
42     return vkGetDeviceProcAddr((VkDevice)context, name);
43 }
44 
volkInitialize(void)45 VkResult volkInitialize(void)
46 {
47 #if defined(_WIN32)
48     HMODULE module = LoadLibraryA("vulkan-1.dll");
49     if (!module)
50         return VK_ERROR_INITIALIZATION_FAILED;
51 
52     // note: function pointer is cast through void function pointer to silence cast-function-type warning on gcc8
53     vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)(void(*)(void))GetProcAddress(module, "vkGetInstanceProcAddr");
54 #elif defined(__APPLE__)
55     void* module = dlopen("libvulkan.dylib", RTLD_NOW | RTLD_LOCAL);
56     if (!module)
57         module = dlopen("libvulkan.1.dylib", RTLD_NOW | RTLD_LOCAL);
58     if (!module)
59         module = dlopen("libMoltenVK.dylib", RTLD_NOW | RTLD_LOCAL);
60     if (!module)
61         return VK_ERROR_INITIALIZATION_FAILED;
62 
63     vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr");
64 #else
65     void* module = dlopen("libvulkan.so.1", RTLD_NOW | RTLD_LOCAL);
66     if (!module)
67         module = dlopen("libvulkan.so", RTLD_NOW | RTLD_LOCAL);
68     if (!module)
69         return VK_ERROR_INITIALIZATION_FAILED;
70 
71     vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlsym(module, "vkGetInstanceProcAddr");
72 #endif
73 
74     volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub);
75 
76     return VK_SUCCESS;
77 }
78 
volkInitializeCustom(PFN_vkGetInstanceProcAddr handler)79 void volkInitializeCustom(PFN_vkGetInstanceProcAddr handler)
80 {
81     vkGetInstanceProcAddr = handler;
82 
83     volkGenLoadLoader(NULL, vkGetInstanceProcAddrStub);
84 }
85 
volkGetInstanceVersion(void)86 uint32_t volkGetInstanceVersion(void)
87 {
88 #if defined(VK_VERSION_1_1)
89     uint32_t apiVersion = 0;
90     if (vkEnumerateInstanceVersion && vkEnumerateInstanceVersion(&apiVersion) == VK_SUCCESS)
91         return apiVersion;
92 #endif
93 
94     if (vkCreateInstance)
95         return VK_API_VERSION_1_0;
96 
97     return 0;
98 }
99 
volkLoadInstance(VkInstance instance)100 void volkLoadInstance(VkInstance instance)
101 {
102     loadedInstance = instance;
103     volkGenLoadInstance(instance, vkGetInstanceProcAddrStub);
104     volkGenLoadDevice(instance, vkGetInstanceProcAddrStub);
105 }
106 
volkGetLoadedInstance()107 VkInstance volkGetLoadedInstance()
108 {
109     return loadedInstance;
110 }
111 
volkLoadDevice(VkDevice device)112 void volkLoadDevice(VkDevice device)
113 {
114     loadedDevice = device;
115     volkGenLoadDevice(device, vkGetDeviceProcAddrStub);
116 }
117 
volkGetLoadedDevice()118 VkDevice volkGetLoadedDevice()
119 {
120     return loadedDevice;
121 }
122 
volkLoadDeviceTable(struct VolkDeviceTable * table,VkDevice device)123 void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device)
124 {
125     volkGenLoadDeviceTable(table, device, vkGetDeviceProcAddrStub);
126 }
127 
volkGenLoadLoader(void * context,PFN_vkVoidFunction (* load)(void *,const char *))128 static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
129 {
130     /* VOLK_GENERATE_LOAD_LOADER */
131 #if defined(VK_VERSION_1_0)
132     vkCreateInstance = (PFN_vkCreateInstance)load(context, "vkCreateInstance");
133     vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)load(context, "vkEnumerateInstanceExtensionProperties");
134     vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)load(context, "vkEnumerateInstanceLayerProperties");
135 #endif /* defined(VK_VERSION_1_0) */
136 #if defined(VK_VERSION_1_1)
137     vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)load(context, "vkEnumerateInstanceVersion");
138 #endif /* defined(VK_VERSION_1_1) */
139     /* VOLK_GENERATE_LOAD_LOADER */
140 }
141 
volkGenLoadInstance(void * context,PFN_vkVoidFunction (* load)(void *,const char *))142 static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
143 {
144     /* VOLK_GENERATE_LOAD_INSTANCE */
145 #if defined(VK_VERSION_1_0)
146     vkCreateDevice = (PFN_vkCreateDevice)load(context, "vkCreateDevice");
147     vkDestroyInstance = (PFN_vkDestroyInstance)load(context, "vkDestroyInstance");
148     vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)load(context, "vkEnumerateDeviceExtensionProperties");
149     vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties)load(context, "vkEnumerateDeviceLayerProperties");
150     vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)load(context, "vkEnumeratePhysicalDevices");
151     vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)load(context, "vkGetDeviceProcAddr");
152     vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)load(context, "vkGetPhysicalDeviceFeatures");
153     vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)load(context, "vkGetPhysicalDeviceFormatProperties");
154     vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties)load(context, "vkGetPhysicalDeviceImageFormatProperties");
155     vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)load(context, "vkGetPhysicalDeviceMemoryProperties");
156     vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)load(context, "vkGetPhysicalDeviceProperties");
157     vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties)load(context, "vkGetPhysicalDeviceQueueFamilyProperties");
158     vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties");
159 #endif /* defined(VK_VERSION_1_0) */
160 #if defined(VK_VERSION_1_1)
161     vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)load(context, "vkEnumeratePhysicalDeviceGroups");
162     vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)load(context, "vkGetPhysicalDeviceExternalBufferProperties");
163     vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)load(context, "vkGetPhysicalDeviceExternalFenceProperties");
164     vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)load(context, "vkGetPhysicalDeviceExternalSemaphoreProperties");
165     vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)load(context, "vkGetPhysicalDeviceFeatures2");
166     vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)load(context, "vkGetPhysicalDeviceFormatProperties2");
167     vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)load(context, "vkGetPhysicalDeviceImageFormatProperties2");
168     vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)load(context, "vkGetPhysicalDeviceMemoryProperties2");
169     vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)load(context, "vkGetPhysicalDeviceProperties2");
170     vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2");
171     vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2");
172 #endif /* defined(VK_VERSION_1_1) */
173 #if defined(VK_EXT_acquire_xlib_display)
174     vkAcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT)load(context, "vkAcquireXlibDisplayEXT");
175     vkGetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT)load(context, "vkGetRandROutputDisplayEXT");
176 #endif /* defined(VK_EXT_acquire_xlib_display) */
177 #if defined(VK_EXT_calibrated_timestamps)
178     vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)load(context, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
179 #endif /* defined(VK_EXT_calibrated_timestamps) */
180 #if defined(VK_EXT_debug_report)
181     vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)load(context, "vkCreateDebugReportCallbackEXT");
182     vkDebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)load(context, "vkDebugReportMessageEXT");
183     vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)load(context, "vkDestroyDebugReportCallbackEXT");
184 #endif /* defined(VK_EXT_debug_report) */
185 #if defined(VK_EXT_debug_utils)
186     vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)load(context, "vkCmdBeginDebugUtilsLabelEXT");
187     vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)load(context, "vkCmdEndDebugUtilsLabelEXT");
188     vkCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)load(context, "vkCmdInsertDebugUtilsLabelEXT");
189     vkCreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)load(context, "vkCreateDebugUtilsMessengerEXT");
190     vkDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)load(context, "vkDestroyDebugUtilsMessengerEXT");
191     vkQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)load(context, "vkQueueBeginDebugUtilsLabelEXT");
192     vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)load(context, "vkQueueEndDebugUtilsLabelEXT");
193     vkQueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)load(context, "vkQueueInsertDebugUtilsLabelEXT");
194     vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)load(context, "vkSetDebugUtilsObjectNameEXT");
195     vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)load(context, "vkSetDebugUtilsObjectTagEXT");
196     vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)load(context, "vkSubmitDebugUtilsMessageEXT");
197 #endif /* defined(VK_EXT_debug_utils) */
198 #if defined(VK_EXT_direct_mode_display)
199     vkReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT)load(context, "vkReleaseDisplayEXT");
200 #endif /* defined(VK_EXT_direct_mode_display) */
201 #if defined(VK_EXT_display_surface_counter)
202     vkGetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2EXT");
203 #endif /* defined(VK_EXT_display_surface_counter) */
204 #if defined(VK_EXT_full_screen_exclusive)
205     vkGetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)load(context, "vkGetPhysicalDeviceSurfacePresentModes2EXT");
206 #endif /* defined(VK_EXT_full_screen_exclusive) */
207 #if defined(VK_EXT_headless_surface)
208     vkCreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT)load(context, "vkCreateHeadlessSurfaceEXT");
209 #endif /* defined(VK_EXT_headless_surface) */
210 #if defined(VK_EXT_metal_surface)
211     vkCreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)load(context, "vkCreateMetalSurfaceEXT");
212 #endif /* defined(VK_EXT_metal_surface) */
213 #if defined(VK_EXT_sample_locations)
214     vkGetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)load(context, "vkGetPhysicalDeviceMultisamplePropertiesEXT");
215 #endif /* defined(VK_EXT_sample_locations) */
216 #if defined(VK_EXT_tooling_info)
217     vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)load(context, "vkGetPhysicalDeviceToolPropertiesEXT");
218 #endif /* defined(VK_EXT_tooling_info) */
219 #if defined(VK_FUCHSIA_imagepipe_surface)
220     vkCreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA)load(context, "vkCreateImagePipeSurfaceFUCHSIA");
221 #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
222 #if defined(VK_GGP_stream_descriptor_surface)
223     vkCreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP)load(context, "vkCreateStreamDescriptorSurfaceGGP");
224 #endif /* defined(VK_GGP_stream_descriptor_surface) */
225 #if defined(VK_KHR_android_surface)
226     vkCreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR)load(context, "vkCreateAndroidSurfaceKHR");
227 #endif /* defined(VK_KHR_android_surface) */
228 #if defined(VK_KHR_device_group_creation)
229     vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)load(context, "vkEnumeratePhysicalDeviceGroupsKHR");
230 #endif /* defined(VK_KHR_device_group_creation) */
231 #if defined(VK_KHR_display)
232     vkCreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)load(context, "vkCreateDisplayModeKHR");
233     vkCreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)load(context, "vkCreateDisplayPlaneSurfaceKHR");
234     vkGetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR)load(context, "vkGetDisplayModePropertiesKHR");
235     vkGetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)load(context, "vkGetDisplayPlaneCapabilitiesKHR");
236     vkGetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)load(context, "vkGetDisplayPlaneSupportedDisplaysKHR");
237     vkGetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
238     vkGetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPropertiesKHR");
239 #endif /* defined(VK_KHR_display) */
240 #if defined(VK_KHR_external_fence_capabilities)
241     vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
242 #endif /* defined(VK_KHR_external_fence_capabilities) */
243 #if defined(VK_KHR_external_memory_capabilities)
244     vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)load(context, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
245 #endif /* defined(VK_KHR_external_memory_capabilities) */
246 #if defined(VK_KHR_external_semaphore_capabilities)
247     vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
248 #endif /* defined(VK_KHR_external_semaphore_capabilities) */
249 #if defined(VK_KHR_get_display_properties2)
250     vkGetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR)load(context, "vkGetDisplayModeProperties2KHR");
251     vkGetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR)load(context, "vkGetDisplayPlaneCapabilities2KHR");
252     vkGetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
253     vkGetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayProperties2KHR");
254 #endif /* defined(VK_KHR_get_display_properties2) */
255 #if defined(VK_KHR_get_physical_device_properties2)
256     vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)load(context, "vkGetPhysicalDeviceFeatures2KHR");
257     vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)load(context, "vkGetPhysicalDeviceFormatProperties2KHR");
258     vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceImageFormatProperties2KHR");
259     vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)load(context, "vkGetPhysicalDeviceMemoryProperties2KHR");
260     vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)load(context, "vkGetPhysicalDeviceProperties2KHR");
261     vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
262     vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
263 #endif /* defined(VK_KHR_get_physical_device_properties2) */
264 #if defined(VK_KHR_get_surface_capabilities2)
265     vkGetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2KHR");
266     vkGetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)load(context, "vkGetPhysicalDeviceSurfaceFormats2KHR");
267 #endif /* defined(VK_KHR_get_surface_capabilities2) */
268 #if defined(VK_KHR_performance_query)
269     vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
270     vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)load(context, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
271 #endif /* defined(VK_KHR_performance_query) */
272 #if defined(VK_KHR_surface)
273     vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)load(context, "vkDestroySurfaceKHR");
274     vkGetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
275     vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)load(context, "vkGetPhysicalDeviceSurfaceFormatsKHR");
276     vkGetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)load(context, "vkGetPhysicalDeviceSurfacePresentModesKHR");
277     vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)load(context, "vkGetPhysicalDeviceSurfaceSupportKHR");
278 #endif /* defined(VK_KHR_surface) */
279 #if defined(VK_KHR_wayland_surface)
280     vkCreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR)load(context, "vkCreateWaylandSurfaceKHR");
281     vkGetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)load(context, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
282 #endif /* defined(VK_KHR_wayland_surface) */
283 #if defined(VK_KHR_win32_surface)
284     vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)load(context, "vkCreateWin32SurfaceKHR");
285     vkGetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)load(context, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
286 #endif /* defined(VK_KHR_win32_surface) */
287 #if defined(VK_KHR_xcb_surface)
288     vkCreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)load(context, "vkCreateXcbSurfaceKHR");
289     vkGetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
290 #endif /* defined(VK_KHR_xcb_surface) */
291 #if defined(VK_KHR_xlib_surface)
292     vkCreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR)load(context, "vkCreateXlibSurfaceKHR");
293     vkGetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
294 #endif /* defined(VK_KHR_xlib_surface) */
295 #if defined(VK_MVK_ios_surface)
296     vkCreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK)load(context, "vkCreateIOSSurfaceMVK");
297 #endif /* defined(VK_MVK_ios_surface) */
298 #if defined(VK_MVK_macos_surface)
299     vkCreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK)load(context, "vkCreateMacOSSurfaceMVK");
300 #endif /* defined(VK_MVK_macos_surface) */
301 #if defined(VK_NN_vi_surface)
302     vkCreateViSurfaceNN = (PFN_vkCreateViSurfaceNN)load(context, "vkCreateViSurfaceNN");
303 #endif /* defined(VK_NN_vi_surface) */
304 #if defined(VK_NVX_device_generated_commands)
305     vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX = (PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX)load(context, "vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX");
306 #endif /* defined(VK_NVX_device_generated_commands) */
307 #if defined(VK_NV_cooperative_matrix)
308     vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)load(context, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
309 #endif /* defined(VK_NV_cooperative_matrix) */
310 #if defined(VK_NV_coverage_reduction_mode)
311     vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)load(context, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
312 #endif /* defined(VK_NV_coverage_reduction_mode) */
313 #if defined(VK_NV_external_memory_capabilities)
314     vkGetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)load(context, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
315 #endif /* defined(VK_NV_external_memory_capabilities) */
316 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
317     vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR)load(context, "vkGetPhysicalDevicePresentRectanglesKHR");
318 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
319     /* VOLK_GENERATE_LOAD_INSTANCE */
320 }
321 
volkGenLoadDevice(void * context,PFN_vkVoidFunction (* load)(void *,const char *))322 static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
323 {
324     /* VOLK_GENERATE_LOAD_DEVICE */
325 #if defined(VK_VERSION_1_0)
326     vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
327     vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
328     vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
329     vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
330     vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
331     vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
332     vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
333     vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
334     vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
335     vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
336     vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
337     vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
338     vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
339     vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
340     vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
341     vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
342     vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
343     vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
344     vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
345     vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
346     vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
347     vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
348     vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
349     vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
350     vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
351     vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
352     vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
353     vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
354     vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
355     vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
356     vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
357     vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
358     vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
359     vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
360     vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
361     vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
362     vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
363     vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
364     vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
365     vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
366     vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
367     vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
368     vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
369     vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
370     vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
371     vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
372     vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
373     vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
374     vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
375     vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
376     vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
377     vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
378     vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
379     vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
380     vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
381     vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
382     vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
383     vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
384     vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
385     vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
386     vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
387     vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
388     vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
389     vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
390     vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
391     vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
392     vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
393     vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
394     vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
395     vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
396     vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
397     vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
398     vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
399     vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
400     vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
401     vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
402     vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
403     vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
404     vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
405     vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
406     vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
407     vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
408     vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
409     vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
410     vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
411     vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
412     vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
413     vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
414     vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
415     vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
416     vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
417     vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
418     vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
419     vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
420     vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
421     vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
422     vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
423     vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
424     vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
425     vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
426     vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
427     vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
428     vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
429     vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
430     vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
431     vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
432     vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
433     vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
434     vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
435     vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
436     vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
437     vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
438     vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
439     vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
440     vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
441     vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
442     vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
443     vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
444     vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
445     vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
446 #endif /* defined(VK_VERSION_1_0) */
447 #if defined(VK_VERSION_1_1)
448     vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
449     vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
450     vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
451     vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
452     vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
453     vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
454     vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
455     vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
456     vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
457     vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
458     vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
459     vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
460     vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
461     vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
462     vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
463     vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
464 #endif /* defined(VK_VERSION_1_1) */
465 #if defined(VK_AMD_buffer_marker)
466     vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
467 #endif /* defined(VK_AMD_buffer_marker) */
468 #if defined(VK_AMD_display_native_hdr)
469     vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
470 #endif /* defined(VK_AMD_display_native_hdr) */
471 #if defined(VK_AMD_draw_indirect_count)
472     vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
473     vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
474 #endif /* defined(VK_AMD_draw_indirect_count) */
475 #if defined(VK_AMD_shader_info)
476     vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
477 #endif /* defined(VK_AMD_shader_info) */
478 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
479     vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
480     vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
481 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
482 #if defined(VK_EXT_buffer_device_address)
483     vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
484 #endif /* defined(VK_EXT_buffer_device_address) */
485 #if defined(VK_EXT_calibrated_timestamps)
486     vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
487 #endif /* defined(VK_EXT_calibrated_timestamps) */
488 #if defined(VK_EXT_conditional_rendering)
489     vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
490     vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
491 #endif /* defined(VK_EXT_conditional_rendering) */
492 #if defined(VK_EXT_debug_marker)
493     vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
494     vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
495     vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
496     vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
497     vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
498 #endif /* defined(VK_EXT_debug_marker) */
499 #if defined(VK_EXT_discard_rectangles)
500     vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
501 #endif /* defined(VK_EXT_discard_rectangles) */
502 #if defined(VK_EXT_display_control)
503     vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
504     vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
505     vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
506     vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
507 #endif /* defined(VK_EXT_display_control) */
508 #if defined(VK_EXT_external_memory_host)
509     vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
510 #endif /* defined(VK_EXT_external_memory_host) */
511 #if defined(VK_EXT_full_screen_exclusive)
512     vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
513     vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
514 #endif /* defined(VK_EXT_full_screen_exclusive) */
515 #if defined(VK_EXT_hdr_metadata)
516     vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
517 #endif /* defined(VK_EXT_hdr_metadata) */
518 #if defined(VK_EXT_host_query_reset)
519     vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
520 #endif /* defined(VK_EXT_host_query_reset) */
521 #if defined(VK_EXT_image_drm_format_modifier)
522     vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
523 #endif /* defined(VK_EXT_image_drm_format_modifier) */
524 #if defined(VK_EXT_line_rasterization)
525     vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
526 #endif /* defined(VK_EXT_line_rasterization) */
527 #if defined(VK_EXT_sample_locations)
528     vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
529 #endif /* defined(VK_EXT_sample_locations) */
530 #if defined(VK_EXT_transform_feedback)
531     vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
532     vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
533     vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
534     vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
535     vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
536     vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
537 #endif /* defined(VK_EXT_transform_feedback) */
538 #if defined(VK_EXT_validation_cache)
539     vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
540     vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
541     vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
542     vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
543 #endif /* defined(VK_EXT_validation_cache) */
544 #if defined(VK_GOOGLE_display_timing)
545     vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
546     vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
547 #endif /* defined(VK_GOOGLE_display_timing) */
548 #if defined(VK_INTEL_performance_query)
549     vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
550     vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
551     vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
552     vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
553     vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
554     vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
555     vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
556     vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
557     vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
558 #endif /* defined(VK_INTEL_performance_query) */
559 #if defined(VK_KHR_bind_memory2)
560     vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
561     vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
562 #endif /* defined(VK_KHR_bind_memory2) */
563 #if defined(VK_KHR_buffer_device_address)
564     vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
565     vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
566     vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
567 #endif /* defined(VK_KHR_buffer_device_address) */
568 #if defined(VK_KHR_create_renderpass2)
569     vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
570     vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
571     vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
572     vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
573 #endif /* defined(VK_KHR_create_renderpass2) */
574 #if defined(VK_KHR_descriptor_update_template)
575     vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
576     vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
577     vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
578 #endif /* defined(VK_KHR_descriptor_update_template) */
579 #if defined(VK_KHR_device_group)
580     vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
581     vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
582     vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
583 #endif /* defined(VK_KHR_device_group) */
584 #if defined(VK_KHR_display_swapchain)
585     vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
586 #endif /* defined(VK_KHR_display_swapchain) */
587 #if defined(VK_KHR_draw_indirect_count)
588     vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
589     vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
590 #endif /* defined(VK_KHR_draw_indirect_count) */
591 #if defined(VK_KHR_external_fence_fd)
592     vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
593     vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
594 #endif /* defined(VK_KHR_external_fence_fd) */
595 #if defined(VK_KHR_external_fence_win32)
596     vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
597     vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
598 #endif /* defined(VK_KHR_external_fence_win32) */
599 #if defined(VK_KHR_external_memory_fd)
600     vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
601     vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
602 #endif /* defined(VK_KHR_external_memory_fd) */
603 #if defined(VK_KHR_external_memory_win32)
604     vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
605     vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
606 #endif /* defined(VK_KHR_external_memory_win32) */
607 #if defined(VK_KHR_external_semaphore_fd)
608     vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
609     vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
610 #endif /* defined(VK_KHR_external_semaphore_fd) */
611 #if defined(VK_KHR_external_semaphore_win32)
612     vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
613     vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
614 #endif /* defined(VK_KHR_external_semaphore_win32) */
615 #if defined(VK_KHR_get_memory_requirements2)
616     vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
617     vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
618     vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
619 #endif /* defined(VK_KHR_get_memory_requirements2) */
620 #if defined(VK_KHR_maintenance1)
621     vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
622 #endif /* defined(VK_KHR_maintenance1) */
623 #if defined(VK_KHR_maintenance3)
624     vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
625 #endif /* defined(VK_KHR_maintenance3) */
626 #if defined(VK_KHR_performance_query)
627     vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
628     vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
629 #endif /* defined(VK_KHR_performance_query) */
630 #if defined(VK_KHR_pipeline_executable_properties)
631     vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
632     vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
633     vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
634 #endif /* defined(VK_KHR_pipeline_executable_properties) */
635 #if defined(VK_KHR_push_descriptor)
636     vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
637 #endif /* defined(VK_KHR_push_descriptor) */
638 #if defined(VK_KHR_sampler_ycbcr_conversion)
639     vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
640     vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
641 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
642 #if defined(VK_KHR_shared_presentable_image)
643     vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
644 #endif /* defined(VK_KHR_shared_presentable_image) */
645 #if defined(VK_KHR_swapchain)
646     vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
647     vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
648     vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
649     vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
650     vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
651 #endif /* defined(VK_KHR_swapchain) */
652 #if defined(VK_KHR_timeline_semaphore)
653     vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
654     vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
655     vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
656 #endif /* defined(VK_KHR_timeline_semaphore) */
657 #if defined(VK_NVX_device_generated_commands)
658     vkCmdProcessCommandsNVX = (PFN_vkCmdProcessCommandsNVX)load(context, "vkCmdProcessCommandsNVX");
659     vkCmdReserveSpaceForCommandsNVX = (PFN_vkCmdReserveSpaceForCommandsNVX)load(context, "vkCmdReserveSpaceForCommandsNVX");
660     vkCreateIndirectCommandsLayoutNVX = (PFN_vkCreateIndirectCommandsLayoutNVX)load(context, "vkCreateIndirectCommandsLayoutNVX");
661     vkCreateObjectTableNVX = (PFN_vkCreateObjectTableNVX)load(context, "vkCreateObjectTableNVX");
662     vkDestroyIndirectCommandsLayoutNVX = (PFN_vkDestroyIndirectCommandsLayoutNVX)load(context, "vkDestroyIndirectCommandsLayoutNVX");
663     vkDestroyObjectTableNVX = (PFN_vkDestroyObjectTableNVX)load(context, "vkDestroyObjectTableNVX");
664     vkRegisterObjectsNVX = (PFN_vkRegisterObjectsNVX)load(context, "vkRegisterObjectsNVX");
665     vkUnregisterObjectsNVX = (PFN_vkUnregisterObjectsNVX)load(context, "vkUnregisterObjectsNVX");
666 #endif /* defined(VK_NVX_device_generated_commands) */
667 #if defined(VK_NVX_image_view_handle)
668     vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
669 #endif /* defined(VK_NVX_image_view_handle) */
670 #if defined(VK_NV_clip_space_w_scaling)
671     vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
672 #endif /* defined(VK_NV_clip_space_w_scaling) */
673 #if defined(VK_NV_device_diagnostic_checkpoints)
674     vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
675     vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
676 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
677 #if defined(VK_NV_external_memory_win32)
678     vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
679 #endif /* defined(VK_NV_external_memory_win32) */
680 #if defined(VK_NV_mesh_shader)
681     vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
682     vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
683     vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
684 #endif /* defined(VK_NV_mesh_shader) */
685 #if defined(VK_NV_ray_tracing)
686     vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
687     vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
688     vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
689     vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
690     vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
691     vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
692     vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
693     vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
694     vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
695     vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
696     vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
697     vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
698 #endif /* defined(VK_NV_ray_tracing) */
699 #if defined(VK_NV_scissor_exclusive)
700     vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
701 #endif /* defined(VK_NV_scissor_exclusive) */
702 #if defined(VK_NV_shading_rate_image)
703     vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
704     vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
705     vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
706 #endif /* defined(VK_NV_shading_rate_image) */
707 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
708     vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
709 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
710 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))
711     vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
712 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) */
713 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
714     vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
715     vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
716 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
717 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
718     vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
719 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
720     /* VOLK_GENERATE_LOAD_DEVICE */
721 }
722 
volkGenLoadDeviceTable(struct VolkDeviceTable * table,void * context,PFN_vkVoidFunction (* load)(void *,const char *))723 static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*))
724 {
725     /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
726 #if defined(VK_VERSION_1_0)
727     table->vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
728     table->vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
729     table->vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
730     table->vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
731     table->vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
732     table->vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
733     table->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
734     table->vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
735     table->vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
736     table->vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
737     table->vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
738     table->vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
739     table->vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
740     table->vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
741     table->vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
742     table->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
743     table->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
744     table->vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
745     table->vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
746     table->vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
747     table->vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
748     table->vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
749     table->vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
750     table->vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
751     table->vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
752     table->vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
753     table->vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
754     table->vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
755     table->vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
756     table->vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
757     table->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
758     table->vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
759     table->vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
760     table->vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
761     table->vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
762     table->vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
763     table->vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
764     table->vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
765     table->vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
766     table->vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
767     table->vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
768     table->vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
769     table->vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
770     table->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
771     table->vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
772     table->vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
773     table->vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
774     table->vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
775     table->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
776     table->vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
777     table->vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
778     table->vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
779     table->vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
780     table->vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
781     table->vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
782     table->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
783     table->vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
784     table->vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
785     table->vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
786     table->vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
787     table->vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
788     table->vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
789     table->vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
790     table->vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
791     table->vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
792     table->vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
793     table->vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
794     table->vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
795     table->vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
796     table->vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
797     table->vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
798     table->vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
799     table->vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
800     table->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
801     table->vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
802     table->vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
803     table->vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
804     table->vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
805     table->vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
806     table->vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
807     table->vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
808     table->vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
809     table->vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
810     table->vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
811     table->vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
812     table->vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
813     table->vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
814     table->vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
815     table->vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
816     table->vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
817     table->vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
818     table->vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
819     table->vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
820     table->vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
821     table->vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
822     table->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
823     table->vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
824     table->vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
825     table->vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
826     table->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
827     table->vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
828     table->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
829     table->vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
830     table->vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
831     table->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
832     table->vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
833     table->vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
834     table->vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
835     table->vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
836     table->vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
837     table->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
838     table->vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
839     table->vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
840     table->vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
841     table->vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
842     table->vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
843     table->vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
844     table->vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
845     table->vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
846     table->vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
847 #endif /* defined(VK_VERSION_1_0) */
848 #if defined(VK_VERSION_1_1)
849     table->vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
850     table->vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
851     table->vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
852     table->vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
853     table->vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
854     table->vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
855     table->vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
856     table->vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
857     table->vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
858     table->vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
859     table->vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
860     table->vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
861     table->vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
862     table->vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
863     table->vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
864     table->vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
865 #endif /* defined(VK_VERSION_1_1) */
866 #if defined(VK_AMD_buffer_marker)
867     table->vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
868 #endif /* defined(VK_AMD_buffer_marker) */
869 #if defined(VK_AMD_display_native_hdr)
870     table->vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
871 #endif /* defined(VK_AMD_display_native_hdr) */
872 #if defined(VK_AMD_draw_indirect_count)
873     table->vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
874     table->vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
875 #endif /* defined(VK_AMD_draw_indirect_count) */
876 #if defined(VK_AMD_shader_info)
877     table->vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
878 #endif /* defined(VK_AMD_shader_info) */
879 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
880     table->vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
881     table->vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
882 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
883 #if defined(VK_EXT_buffer_device_address)
884     table->vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
885 #endif /* defined(VK_EXT_buffer_device_address) */
886 #if defined(VK_EXT_calibrated_timestamps)
887     table->vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
888 #endif /* defined(VK_EXT_calibrated_timestamps) */
889 #if defined(VK_EXT_conditional_rendering)
890     table->vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
891     table->vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
892 #endif /* defined(VK_EXT_conditional_rendering) */
893 #if defined(VK_EXT_debug_marker)
894     table->vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
895     table->vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
896     table->vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
897     table->vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
898     table->vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
899 #endif /* defined(VK_EXT_debug_marker) */
900 #if defined(VK_EXT_discard_rectangles)
901     table->vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
902 #endif /* defined(VK_EXT_discard_rectangles) */
903 #if defined(VK_EXT_display_control)
904     table->vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
905     table->vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
906     table->vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
907     table->vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
908 #endif /* defined(VK_EXT_display_control) */
909 #if defined(VK_EXT_external_memory_host)
910     table->vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
911 #endif /* defined(VK_EXT_external_memory_host) */
912 #if defined(VK_EXT_full_screen_exclusive)
913     table->vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
914     table->vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
915 #endif /* defined(VK_EXT_full_screen_exclusive) */
916 #if defined(VK_EXT_hdr_metadata)
917     table->vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
918 #endif /* defined(VK_EXT_hdr_metadata) */
919 #if defined(VK_EXT_host_query_reset)
920     table->vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
921 #endif /* defined(VK_EXT_host_query_reset) */
922 #if defined(VK_EXT_image_drm_format_modifier)
923     table->vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
924 #endif /* defined(VK_EXT_image_drm_format_modifier) */
925 #if defined(VK_EXT_line_rasterization)
926     table->vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
927 #endif /* defined(VK_EXT_line_rasterization) */
928 #if defined(VK_EXT_sample_locations)
929     table->vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
930 #endif /* defined(VK_EXT_sample_locations) */
931 #if defined(VK_EXT_transform_feedback)
932     table->vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
933     table->vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
934     table->vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
935     table->vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
936     table->vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
937     table->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
938 #endif /* defined(VK_EXT_transform_feedback) */
939 #if defined(VK_EXT_validation_cache)
940     table->vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
941     table->vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
942     table->vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
943     table->vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
944 #endif /* defined(VK_EXT_validation_cache) */
945 #if defined(VK_GOOGLE_display_timing)
946     table->vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
947     table->vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
948 #endif /* defined(VK_GOOGLE_display_timing) */
949 #if defined(VK_INTEL_performance_query)
950     table->vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
951     table->vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
952     table->vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
953     table->vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
954     table->vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
955     table->vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
956     table->vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
957     table->vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
958     table->vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
959 #endif /* defined(VK_INTEL_performance_query) */
960 #if defined(VK_KHR_bind_memory2)
961     table->vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
962     table->vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
963 #endif /* defined(VK_KHR_bind_memory2) */
964 #if defined(VK_KHR_buffer_device_address)
965     table->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
966     table->vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
967     table->vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
968 #endif /* defined(VK_KHR_buffer_device_address) */
969 #if defined(VK_KHR_create_renderpass2)
970     table->vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
971     table->vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
972     table->vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
973     table->vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
974 #endif /* defined(VK_KHR_create_renderpass2) */
975 #if defined(VK_KHR_descriptor_update_template)
976     table->vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
977     table->vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
978     table->vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
979 #endif /* defined(VK_KHR_descriptor_update_template) */
980 #if defined(VK_KHR_device_group)
981     table->vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
982     table->vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
983     table->vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
984 #endif /* defined(VK_KHR_device_group) */
985 #if defined(VK_KHR_display_swapchain)
986     table->vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
987 #endif /* defined(VK_KHR_display_swapchain) */
988 #if defined(VK_KHR_draw_indirect_count)
989     table->vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
990     table->vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
991 #endif /* defined(VK_KHR_draw_indirect_count) */
992 #if defined(VK_KHR_external_fence_fd)
993     table->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
994     table->vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
995 #endif /* defined(VK_KHR_external_fence_fd) */
996 #if defined(VK_KHR_external_fence_win32)
997     table->vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
998     table->vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
999 #endif /* defined(VK_KHR_external_fence_win32) */
1000 #if defined(VK_KHR_external_memory_fd)
1001     table->vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
1002     table->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
1003 #endif /* defined(VK_KHR_external_memory_fd) */
1004 #if defined(VK_KHR_external_memory_win32)
1005     table->vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
1006     table->vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
1007 #endif /* defined(VK_KHR_external_memory_win32) */
1008 #if defined(VK_KHR_external_semaphore_fd)
1009     table->vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
1010     table->vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
1011 #endif /* defined(VK_KHR_external_semaphore_fd) */
1012 #if defined(VK_KHR_external_semaphore_win32)
1013     table->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
1014     table->vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
1015 #endif /* defined(VK_KHR_external_semaphore_win32) */
1016 #if defined(VK_KHR_get_memory_requirements2)
1017     table->vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
1018     table->vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
1019     table->vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
1020 #endif /* defined(VK_KHR_get_memory_requirements2) */
1021 #if defined(VK_KHR_maintenance1)
1022     table->vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
1023 #endif /* defined(VK_KHR_maintenance1) */
1024 #if defined(VK_KHR_maintenance3)
1025     table->vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
1026 #endif /* defined(VK_KHR_maintenance3) */
1027 #if defined(VK_KHR_performance_query)
1028     table->vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
1029     table->vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
1030 #endif /* defined(VK_KHR_performance_query) */
1031 #if defined(VK_KHR_pipeline_executable_properties)
1032     table->vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
1033     table->vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
1034     table->vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
1035 #endif /* defined(VK_KHR_pipeline_executable_properties) */
1036 #if defined(VK_KHR_push_descriptor)
1037     table->vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
1038 #endif /* defined(VK_KHR_push_descriptor) */
1039 #if defined(VK_KHR_sampler_ycbcr_conversion)
1040     table->vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
1041     table->vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
1042 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
1043 #if defined(VK_KHR_shared_presentable_image)
1044     table->vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
1045 #endif /* defined(VK_KHR_shared_presentable_image) */
1046 #if defined(VK_KHR_swapchain)
1047     table->vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
1048     table->vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
1049     table->vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
1050     table->vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
1051     table->vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
1052 #endif /* defined(VK_KHR_swapchain) */
1053 #if defined(VK_KHR_timeline_semaphore)
1054     table->vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
1055     table->vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
1056     table->vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
1057 #endif /* defined(VK_KHR_timeline_semaphore) */
1058 #if defined(VK_NVX_device_generated_commands)
1059     table->vkCmdProcessCommandsNVX = (PFN_vkCmdProcessCommandsNVX)load(context, "vkCmdProcessCommandsNVX");
1060     table->vkCmdReserveSpaceForCommandsNVX = (PFN_vkCmdReserveSpaceForCommandsNVX)load(context, "vkCmdReserveSpaceForCommandsNVX");
1061     table->vkCreateIndirectCommandsLayoutNVX = (PFN_vkCreateIndirectCommandsLayoutNVX)load(context, "vkCreateIndirectCommandsLayoutNVX");
1062     table->vkCreateObjectTableNVX = (PFN_vkCreateObjectTableNVX)load(context, "vkCreateObjectTableNVX");
1063     table->vkDestroyIndirectCommandsLayoutNVX = (PFN_vkDestroyIndirectCommandsLayoutNVX)load(context, "vkDestroyIndirectCommandsLayoutNVX");
1064     table->vkDestroyObjectTableNVX = (PFN_vkDestroyObjectTableNVX)load(context, "vkDestroyObjectTableNVX");
1065     table->vkRegisterObjectsNVX = (PFN_vkRegisterObjectsNVX)load(context, "vkRegisterObjectsNVX");
1066     table->vkUnregisterObjectsNVX = (PFN_vkUnregisterObjectsNVX)load(context, "vkUnregisterObjectsNVX");
1067 #endif /* defined(VK_NVX_device_generated_commands) */
1068 #if defined(VK_NVX_image_view_handle)
1069     table->vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
1070 #endif /* defined(VK_NVX_image_view_handle) */
1071 #if defined(VK_NV_clip_space_w_scaling)
1072     table->vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
1073 #endif /* defined(VK_NV_clip_space_w_scaling) */
1074 #if defined(VK_NV_device_diagnostic_checkpoints)
1075     table->vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
1076     table->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
1077 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
1078 #if defined(VK_NV_external_memory_win32)
1079     table->vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
1080 #endif /* defined(VK_NV_external_memory_win32) */
1081 #if defined(VK_NV_mesh_shader)
1082     table->vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
1083     table->vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
1084     table->vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
1085 #endif /* defined(VK_NV_mesh_shader) */
1086 #if defined(VK_NV_ray_tracing)
1087     table->vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
1088     table->vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
1089     table->vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
1090     table->vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
1091     table->vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
1092     table->vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
1093     table->vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
1094     table->vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
1095     table->vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
1096     table->vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
1097     table->vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
1098     table->vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
1099 #endif /* defined(VK_NV_ray_tracing) */
1100 #if defined(VK_NV_scissor_exclusive)
1101     table->vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
1102 #endif /* defined(VK_NV_scissor_exclusive) */
1103 #if defined(VK_NV_shading_rate_image)
1104     table->vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
1105     table->vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
1106     table->vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
1107 #endif /* defined(VK_NV_shading_rate_image) */
1108 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1109     table->vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
1110 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
1111 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))
1112     table->vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
1113 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) */
1114 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1115     table->vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
1116     table->vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
1117 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1118 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1119     table->vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
1120 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1121     /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
1122 }
1123 
1124 #ifdef __GNUC__
1125 #   pragma GCC visibility push(hidden)
1126 #endif
1127 
1128 /* VOLK_GENERATE_PROTOTYPES_C */
1129 #if defined(VK_VERSION_1_0)
1130 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
1131 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
1132 PFN_vkAllocateMemory vkAllocateMemory;
1133 PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
1134 PFN_vkBindBufferMemory vkBindBufferMemory;
1135 PFN_vkBindImageMemory vkBindImageMemory;
1136 PFN_vkCmdBeginQuery vkCmdBeginQuery;
1137 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
1138 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
1139 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
1140 PFN_vkCmdBindPipeline vkCmdBindPipeline;
1141 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
1142 PFN_vkCmdBlitImage vkCmdBlitImage;
1143 PFN_vkCmdClearAttachments vkCmdClearAttachments;
1144 PFN_vkCmdClearColorImage vkCmdClearColorImage;
1145 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
1146 PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
1147 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
1148 PFN_vkCmdCopyImage vkCmdCopyImage;
1149 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
1150 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
1151 PFN_vkCmdDispatch vkCmdDispatch;
1152 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
1153 PFN_vkCmdDraw vkCmdDraw;
1154 PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
1155 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
1156 PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
1157 PFN_vkCmdEndQuery vkCmdEndQuery;
1158 PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
1159 PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
1160 PFN_vkCmdFillBuffer vkCmdFillBuffer;
1161 PFN_vkCmdNextSubpass vkCmdNextSubpass;
1162 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
1163 PFN_vkCmdPushConstants vkCmdPushConstants;
1164 PFN_vkCmdResetEvent vkCmdResetEvent;
1165 PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
1166 PFN_vkCmdResolveImage vkCmdResolveImage;
1167 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
1168 PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
1169 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
1170 PFN_vkCmdSetEvent vkCmdSetEvent;
1171 PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
1172 PFN_vkCmdSetScissor vkCmdSetScissor;
1173 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
1174 PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
1175 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
1176 PFN_vkCmdSetViewport vkCmdSetViewport;
1177 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
1178 PFN_vkCmdWaitEvents vkCmdWaitEvents;
1179 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
1180 PFN_vkCreateBuffer vkCreateBuffer;
1181 PFN_vkCreateBufferView vkCreateBufferView;
1182 PFN_vkCreateCommandPool vkCreateCommandPool;
1183 PFN_vkCreateComputePipelines vkCreateComputePipelines;
1184 PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
1185 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
1186 PFN_vkCreateDevice vkCreateDevice;
1187 PFN_vkCreateEvent vkCreateEvent;
1188 PFN_vkCreateFence vkCreateFence;
1189 PFN_vkCreateFramebuffer vkCreateFramebuffer;
1190 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
1191 PFN_vkCreateImage vkCreateImage;
1192 PFN_vkCreateImageView vkCreateImageView;
1193 PFN_vkCreateInstance vkCreateInstance;
1194 PFN_vkCreatePipelineCache vkCreatePipelineCache;
1195 PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
1196 PFN_vkCreateQueryPool vkCreateQueryPool;
1197 PFN_vkCreateRenderPass vkCreateRenderPass;
1198 PFN_vkCreateSampler vkCreateSampler;
1199 PFN_vkCreateSemaphore vkCreateSemaphore;
1200 PFN_vkCreateShaderModule vkCreateShaderModule;
1201 PFN_vkDestroyBuffer vkDestroyBuffer;
1202 PFN_vkDestroyBufferView vkDestroyBufferView;
1203 PFN_vkDestroyCommandPool vkDestroyCommandPool;
1204 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
1205 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
1206 PFN_vkDestroyDevice vkDestroyDevice;
1207 PFN_vkDestroyEvent vkDestroyEvent;
1208 PFN_vkDestroyFence vkDestroyFence;
1209 PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
1210 PFN_vkDestroyImage vkDestroyImage;
1211 PFN_vkDestroyImageView vkDestroyImageView;
1212 PFN_vkDestroyInstance vkDestroyInstance;
1213 PFN_vkDestroyPipeline vkDestroyPipeline;
1214 PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
1215 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
1216 PFN_vkDestroyQueryPool vkDestroyQueryPool;
1217 PFN_vkDestroyRenderPass vkDestroyRenderPass;
1218 PFN_vkDestroySampler vkDestroySampler;
1219 PFN_vkDestroySemaphore vkDestroySemaphore;
1220 PFN_vkDestroyShaderModule vkDestroyShaderModule;
1221 PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
1222 PFN_vkEndCommandBuffer vkEndCommandBuffer;
1223 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
1224 PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
1225 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
1226 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
1227 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
1228 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
1229 PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
1230 PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
1231 PFN_vkFreeMemory vkFreeMemory;
1232 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
1233 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
1234 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
1235 PFN_vkGetDeviceQueue vkGetDeviceQueue;
1236 PFN_vkGetEventStatus vkGetEventStatus;
1237 PFN_vkGetFenceStatus vkGetFenceStatus;
1238 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
1239 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
1240 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
1241 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
1242 PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
1243 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
1244 PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
1245 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
1246 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
1247 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
1248 PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
1249 PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
1250 PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
1251 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
1252 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
1253 PFN_vkMapMemory vkMapMemory;
1254 PFN_vkMergePipelineCaches vkMergePipelineCaches;
1255 PFN_vkQueueBindSparse vkQueueBindSparse;
1256 PFN_vkQueueSubmit vkQueueSubmit;
1257 PFN_vkQueueWaitIdle vkQueueWaitIdle;
1258 PFN_vkResetCommandBuffer vkResetCommandBuffer;
1259 PFN_vkResetCommandPool vkResetCommandPool;
1260 PFN_vkResetDescriptorPool vkResetDescriptorPool;
1261 PFN_vkResetEvent vkResetEvent;
1262 PFN_vkResetFences vkResetFences;
1263 PFN_vkSetEvent vkSetEvent;
1264 PFN_vkUnmapMemory vkUnmapMemory;
1265 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
1266 PFN_vkWaitForFences vkWaitForFences;
1267 #endif /* defined(VK_VERSION_1_0) */
1268 #if defined(VK_VERSION_1_1)
1269 PFN_vkBindBufferMemory2 vkBindBufferMemory2;
1270 PFN_vkBindImageMemory2 vkBindImageMemory2;
1271 PFN_vkCmdDispatchBase vkCmdDispatchBase;
1272 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
1273 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
1274 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
1275 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
1276 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
1277 PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
1278 PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
1279 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
1280 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
1281 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
1282 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
1283 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
1284 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
1285 PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
1286 PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
1287 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
1288 PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
1289 PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
1290 PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
1291 PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
1292 PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
1293 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
1294 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
1295 PFN_vkTrimCommandPool vkTrimCommandPool;
1296 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
1297 #endif /* defined(VK_VERSION_1_1) */
1298 #if defined(VK_AMD_buffer_marker)
1299 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
1300 #endif /* defined(VK_AMD_buffer_marker) */
1301 #if defined(VK_AMD_display_native_hdr)
1302 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
1303 #endif /* defined(VK_AMD_display_native_hdr) */
1304 #if defined(VK_AMD_draw_indirect_count)
1305 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
1306 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
1307 #endif /* defined(VK_AMD_draw_indirect_count) */
1308 #if defined(VK_AMD_shader_info)
1309 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
1310 #endif /* defined(VK_AMD_shader_info) */
1311 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
1312 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
1313 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
1314 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
1315 #if defined(VK_EXT_acquire_xlib_display)
1316 PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
1317 PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
1318 #endif /* defined(VK_EXT_acquire_xlib_display) */
1319 #if defined(VK_EXT_buffer_device_address)
1320 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
1321 #endif /* defined(VK_EXT_buffer_device_address) */
1322 #if defined(VK_EXT_calibrated_timestamps)
1323 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
1324 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
1325 #endif /* defined(VK_EXT_calibrated_timestamps) */
1326 #if defined(VK_EXT_conditional_rendering)
1327 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
1328 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
1329 #endif /* defined(VK_EXT_conditional_rendering) */
1330 #if defined(VK_EXT_debug_marker)
1331 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
1332 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
1333 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
1334 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
1335 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
1336 #endif /* defined(VK_EXT_debug_marker) */
1337 #if defined(VK_EXT_debug_report)
1338 PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
1339 PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
1340 PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
1341 #endif /* defined(VK_EXT_debug_report) */
1342 #if defined(VK_EXT_debug_utils)
1343 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
1344 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
1345 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
1346 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
1347 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
1348 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
1349 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
1350 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
1351 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
1352 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
1353 PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
1354 #endif /* defined(VK_EXT_debug_utils) */
1355 #if defined(VK_EXT_direct_mode_display)
1356 PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
1357 #endif /* defined(VK_EXT_direct_mode_display) */
1358 #if defined(VK_EXT_discard_rectangles)
1359 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
1360 #endif /* defined(VK_EXT_discard_rectangles) */
1361 #if defined(VK_EXT_display_control)
1362 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
1363 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
1364 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
1365 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
1366 #endif /* defined(VK_EXT_display_control) */
1367 #if defined(VK_EXT_display_surface_counter)
1368 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
1369 #endif /* defined(VK_EXT_display_surface_counter) */
1370 #if defined(VK_EXT_external_memory_host)
1371 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
1372 #endif /* defined(VK_EXT_external_memory_host) */
1373 #if defined(VK_EXT_full_screen_exclusive)
1374 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
1375 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
1376 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
1377 #endif /* defined(VK_EXT_full_screen_exclusive) */
1378 #if defined(VK_EXT_hdr_metadata)
1379 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
1380 #endif /* defined(VK_EXT_hdr_metadata) */
1381 #if defined(VK_EXT_headless_surface)
1382 PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
1383 #endif /* defined(VK_EXT_headless_surface) */
1384 #if defined(VK_EXT_host_query_reset)
1385 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
1386 #endif /* defined(VK_EXT_host_query_reset) */
1387 #if defined(VK_EXT_image_drm_format_modifier)
1388 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
1389 #endif /* defined(VK_EXT_image_drm_format_modifier) */
1390 #if defined(VK_EXT_line_rasterization)
1391 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
1392 #endif /* defined(VK_EXT_line_rasterization) */
1393 #if defined(VK_EXT_metal_surface)
1394 PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
1395 #endif /* defined(VK_EXT_metal_surface) */
1396 #if defined(VK_EXT_sample_locations)
1397 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
1398 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
1399 #endif /* defined(VK_EXT_sample_locations) */
1400 #if defined(VK_EXT_tooling_info)
1401 PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
1402 #endif /* defined(VK_EXT_tooling_info) */
1403 #if defined(VK_EXT_transform_feedback)
1404 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
1405 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
1406 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
1407 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
1408 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
1409 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
1410 #endif /* defined(VK_EXT_transform_feedback) */
1411 #if defined(VK_EXT_validation_cache)
1412 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
1413 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
1414 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
1415 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
1416 #endif /* defined(VK_EXT_validation_cache) */
1417 #if defined(VK_FUCHSIA_imagepipe_surface)
1418 PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
1419 #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
1420 #if defined(VK_GGP_stream_descriptor_surface)
1421 PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
1422 #endif /* defined(VK_GGP_stream_descriptor_surface) */
1423 #if defined(VK_GOOGLE_display_timing)
1424 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
1425 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
1426 #endif /* defined(VK_GOOGLE_display_timing) */
1427 #if defined(VK_INTEL_performance_query)
1428 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
1429 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
1430 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
1431 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
1432 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
1433 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
1434 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
1435 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
1436 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
1437 #endif /* defined(VK_INTEL_performance_query) */
1438 #if defined(VK_KHR_android_surface)
1439 PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
1440 #endif /* defined(VK_KHR_android_surface) */
1441 #if defined(VK_KHR_bind_memory2)
1442 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
1443 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
1444 #endif /* defined(VK_KHR_bind_memory2) */
1445 #if defined(VK_KHR_buffer_device_address)
1446 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
1447 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
1448 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
1449 #endif /* defined(VK_KHR_buffer_device_address) */
1450 #if defined(VK_KHR_create_renderpass2)
1451 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
1452 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
1453 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
1454 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
1455 #endif /* defined(VK_KHR_create_renderpass2) */
1456 #if defined(VK_KHR_descriptor_update_template)
1457 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
1458 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
1459 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
1460 #endif /* defined(VK_KHR_descriptor_update_template) */
1461 #if defined(VK_KHR_device_group)
1462 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
1463 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
1464 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
1465 #endif /* defined(VK_KHR_device_group) */
1466 #if defined(VK_KHR_device_group_creation)
1467 PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
1468 #endif /* defined(VK_KHR_device_group_creation) */
1469 #if defined(VK_KHR_display)
1470 PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
1471 PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
1472 PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
1473 PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
1474 PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
1475 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
1476 PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
1477 #endif /* defined(VK_KHR_display) */
1478 #if defined(VK_KHR_display_swapchain)
1479 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
1480 #endif /* defined(VK_KHR_display_swapchain) */
1481 #if defined(VK_KHR_draw_indirect_count)
1482 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
1483 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
1484 #endif /* defined(VK_KHR_draw_indirect_count) */
1485 #if defined(VK_KHR_external_fence_capabilities)
1486 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
1487 #endif /* defined(VK_KHR_external_fence_capabilities) */
1488 #if defined(VK_KHR_external_fence_fd)
1489 PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
1490 PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
1491 #endif /* defined(VK_KHR_external_fence_fd) */
1492 #if defined(VK_KHR_external_fence_win32)
1493 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
1494 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
1495 #endif /* defined(VK_KHR_external_fence_win32) */
1496 #if defined(VK_KHR_external_memory_capabilities)
1497 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
1498 #endif /* defined(VK_KHR_external_memory_capabilities) */
1499 #if defined(VK_KHR_external_memory_fd)
1500 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
1501 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
1502 #endif /* defined(VK_KHR_external_memory_fd) */
1503 #if defined(VK_KHR_external_memory_win32)
1504 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
1505 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
1506 #endif /* defined(VK_KHR_external_memory_win32) */
1507 #if defined(VK_KHR_external_semaphore_capabilities)
1508 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
1509 #endif /* defined(VK_KHR_external_semaphore_capabilities) */
1510 #if defined(VK_KHR_external_semaphore_fd)
1511 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
1512 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
1513 #endif /* defined(VK_KHR_external_semaphore_fd) */
1514 #if defined(VK_KHR_external_semaphore_win32)
1515 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
1516 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
1517 #endif /* defined(VK_KHR_external_semaphore_win32) */
1518 #if defined(VK_KHR_get_display_properties2)
1519 PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
1520 PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
1521 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
1522 PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
1523 #endif /* defined(VK_KHR_get_display_properties2) */
1524 #if defined(VK_KHR_get_memory_requirements2)
1525 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
1526 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
1527 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
1528 #endif /* defined(VK_KHR_get_memory_requirements2) */
1529 #if defined(VK_KHR_get_physical_device_properties2)
1530 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
1531 PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
1532 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
1533 PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
1534 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
1535 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
1536 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
1537 #endif /* defined(VK_KHR_get_physical_device_properties2) */
1538 #if defined(VK_KHR_get_surface_capabilities2)
1539 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
1540 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
1541 #endif /* defined(VK_KHR_get_surface_capabilities2) */
1542 #if defined(VK_KHR_maintenance1)
1543 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
1544 #endif /* defined(VK_KHR_maintenance1) */
1545 #if defined(VK_KHR_maintenance3)
1546 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
1547 #endif /* defined(VK_KHR_maintenance3) */
1548 #if defined(VK_KHR_performance_query)
1549 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
1550 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
1551 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
1552 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
1553 #endif /* defined(VK_KHR_performance_query) */
1554 #if defined(VK_KHR_pipeline_executable_properties)
1555 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
1556 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
1557 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
1558 #endif /* defined(VK_KHR_pipeline_executable_properties) */
1559 #if defined(VK_KHR_push_descriptor)
1560 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
1561 #endif /* defined(VK_KHR_push_descriptor) */
1562 #if defined(VK_KHR_sampler_ycbcr_conversion)
1563 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
1564 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
1565 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
1566 #if defined(VK_KHR_shared_presentable_image)
1567 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
1568 #endif /* defined(VK_KHR_shared_presentable_image) */
1569 #if defined(VK_KHR_surface)
1570 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
1571 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
1572 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
1573 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
1574 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
1575 #endif /* defined(VK_KHR_surface) */
1576 #if defined(VK_KHR_swapchain)
1577 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
1578 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
1579 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
1580 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
1581 PFN_vkQueuePresentKHR vkQueuePresentKHR;
1582 #endif /* defined(VK_KHR_swapchain) */
1583 #if defined(VK_KHR_timeline_semaphore)
1584 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
1585 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
1586 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
1587 #endif /* defined(VK_KHR_timeline_semaphore) */
1588 #if defined(VK_KHR_wayland_surface)
1589 PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
1590 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
1591 #endif /* defined(VK_KHR_wayland_surface) */
1592 #if defined(VK_KHR_win32_surface)
1593 PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
1594 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
1595 #endif /* defined(VK_KHR_win32_surface) */
1596 #if defined(VK_KHR_xcb_surface)
1597 PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
1598 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
1599 #endif /* defined(VK_KHR_xcb_surface) */
1600 #if defined(VK_KHR_xlib_surface)
1601 PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
1602 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
1603 #endif /* defined(VK_KHR_xlib_surface) */
1604 #if defined(VK_MVK_ios_surface)
1605 PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
1606 #endif /* defined(VK_MVK_ios_surface) */
1607 #if defined(VK_MVK_macos_surface)
1608 PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
1609 #endif /* defined(VK_MVK_macos_surface) */
1610 #if defined(VK_NN_vi_surface)
1611 PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
1612 #endif /* defined(VK_NN_vi_surface) */
1613 #if defined(VK_NVX_device_generated_commands)
1614 PFN_vkCmdProcessCommandsNVX vkCmdProcessCommandsNVX;
1615 PFN_vkCmdReserveSpaceForCommandsNVX vkCmdReserveSpaceForCommandsNVX;
1616 PFN_vkCreateIndirectCommandsLayoutNVX vkCreateIndirectCommandsLayoutNVX;
1617 PFN_vkCreateObjectTableNVX vkCreateObjectTableNVX;
1618 PFN_vkDestroyIndirectCommandsLayoutNVX vkDestroyIndirectCommandsLayoutNVX;
1619 PFN_vkDestroyObjectTableNVX vkDestroyObjectTableNVX;
1620 PFN_vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX vkGetPhysicalDeviceGeneratedCommandsPropertiesNVX;
1621 PFN_vkRegisterObjectsNVX vkRegisterObjectsNVX;
1622 PFN_vkUnregisterObjectsNVX vkUnregisterObjectsNVX;
1623 #endif /* defined(VK_NVX_device_generated_commands) */
1624 #if defined(VK_NVX_image_view_handle)
1625 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
1626 #endif /* defined(VK_NVX_image_view_handle) */
1627 #if defined(VK_NV_clip_space_w_scaling)
1628 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
1629 #endif /* defined(VK_NV_clip_space_w_scaling) */
1630 #if defined(VK_NV_cooperative_matrix)
1631 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
1632 #endif /* defined(VK_NV_cooperative_matrix) */
1633 #if defined(VK_NV_coverage_reduction_mode)
1634 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
1635 #endif /* defined(VK_NV_coverage_reduction_mode) */
1636 #if defined(VK_NV_device_diagnostic_checkpoints)
1637 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
1638 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
1639 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
1640 #if defined(VK_NV_external_memory_capabilities)
1641 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
1642 #endif /* defined(VK_NV_external_memory_capabilities) */
1643 #if defined(VK_NV_external_memory_win32)
1644 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
1645 #endif /* defined(VK_NV_external_memory_win32) */
1646 #if defined(VK_NV_mesh_shader)
1647 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
1648 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
1649 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
1650 #endif /* defined(VK_NV_mesh_shader) */
1651 #if defined(VK_NV_ray_tracing)
1652 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
1653 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
1654 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
1655 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
1656 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
1657 PFN_vkCompileDeferredNV vkCompileDeferredNV;
1658 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
1659 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
1660 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
1661 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
1662 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
1663 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
1664 #endif /* defined(VK_NV_ray_tracing) */
1665 #if defined(VK_NV_scissor_exclusive)
1666 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
1667 #endif /* defined(VK_NV_scissor_exclusive) */
1668 #if defined(VK_NV_shading_rate_image)
1669 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
1670 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
1671 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
1672 #endif /* defined(VK_NV_shading_rate_image) */
1673 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1674 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
1675 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
1676 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1))
1677 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
1678 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) */
1679 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1680 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
1681 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
1682 PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
1683 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1684 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1685 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
1686 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1687 /* VOLK_GENERATE_PROTOTYPES_C */
1688 
1689 #ifdef __GNUC__
1690 #   pragma GCC visibility pop
1691 #endif
1692 
1693 #ifdef __cplusplus
1694 }
1695 #endif
1696 /* clang-format on */
1697