• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
volkLoadInstanceOnly(VkInstance instance)107 void volkLoadInstanceOnly(VkInstance instance)
108 {
109     loadedInstance = instance;
110     volkGenLoadInstance(instance, vkGetInstanceProcAddrStub);
111 }
112 
volkGetLoadedInstance()113 VkInstance volkGetLoadedInstance()
114 {
115     return loadedInstance;
116 }
117 
volkLoadDevice(VkDevice device)118 void volkLoadDevice(VkDevice device)
119 {
120     loadedDevice = device;
121     volkGenLoadDevice(device, vkGetDeviceProcAddrStub);
122 }
123 
volkGetLoadedDevice()124 VkDevice volkGetLoadedDevice()
125 {
126     return loadedDevice;
127 }
128 
volkLoadDeviceTable(struct VolkDeviceTable * table,VkDevice device)129 void volkLoadDeviceTable(struct VolkDeviceTable* table, VkDevice device)
130 {
131     volkGenLoadDeviceTable(table, device, vkGetDeviceProcAddrStub);
132 }
133 
volkGenLoadLoader(void * context,PFN_vkVoidFunction (* load)(void *,const char *))134 static void volkGenLoadLoader(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
135 {
136     /* VOLK_GENERATE_LOAD_LOADER */
137 #if defined(VK_VERSION_1_0)
138     vkCreateInstance = (PFN_vkCreateInstance)load(context, "vkCreateInstance");
139     vkEnumerateInstanceExtensionProperties = (PFN_vkEnumerateInstanceExtensionProperties)load(context, "vkEnumerateInstanceExtensionProperties");
140     vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)load(context, "vkEnumerateInstanceLayerProperties");
141 #endif /* defined(VK_VERSION_1_0) */
142 #if defined(VK_VERSION_1_1)
143     vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)load(context, "vkEnumerateInstanceVersion");
144 #endif /* defined(VK_VERSION_1_1) */
145     /* VOLK_GENERATE_LOAD_LOADER */
146 }
147 
volkGenLoadInstance(void * context,PFN_vkVoidFunction (* load)(void *,const char *))148 static void volkGenLoadInstance(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
149 {
150     /* VOLK_GENERATE_LOAD_INSTANCE */
151 #if defined(VK_VERSION_1_0)
152     vkCreateDevice = (PFN_vkCreateDevice)load(context, "vkCreateDevice");
153     vkDestroyInstance = (PFN_vkDestroyInstance)load(context, "vkDestroyInstance");
154     vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)load(context, "vkEnumerateDeviceExtensionProperties");
155     vkEnumerateDeviceLayerProperties = (PFN_vkEnumerateDeviceLayerProperties)load(context, "vkEnumerateDeviceLayerProperties");
156     vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)load(context, "vkEnumeratePhysicalDevices");
157     vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)load(context, "vkGetDeviceProcAddr");
158     vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)load(context, "vkGetPhysicalDeviceFeatures");
159     vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)load(context, "vkGetPhysicalDeviceFormatProperties");
160     vkGetPhysicalDeviceImageFormatProperties = (PFN_vkGetPhysicalDeviceImageFormatProperties)load(context, "vkGetPhysicalDeviceImageFormatProperties");
161     vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)load(context, "vkGetPhysicalDeviceMemoryProperties");
162     vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)load(context, "vkGetPhysicalDeviceProperties");
163     vkGetPhysicalDeviceQueueFamilyProperties = (PFN_vkGetPhysicalDeviceQueueFamilyProperties)load(context, "vkGetPhysicalDeviceQueueFamilyProperties");
164     vkGetPhysicalDeviceSparseImageFormatProperties = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties");
165 #endif /* defined(VK_VERSION_1_0) */
166 #if defined(VK_VERSION_1_1)
167     vkEnumeratePhysicalDeviceGroups = (PFN_vkEnumeratePhysicalDeviceGroups)load(context, "vkEnumeratePhysicalDeviceGroups");
168     vkGetPhysicalDeviceExternalBufferProperties = (PFN_vkGetPhysicalDeviceExternalBufferProperties)load(context, "vkGetPhysicalDeviceExternalBufferProperties");
169     vkGetPhysicalDeviceExternalFenceProperties = (PFN_vkGetPhysicalDeviceExternalFenceProperties)load(context, "vkGetPhysicalDeviceExternalFenceProperties");
170     vkGetPhysicalDeviceExternalSemaphoreProperties = (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)load(context, "vkGetPhysicalDeviceExternalSemaphoreProperties");
171     vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)load(context, "vkGetPhysicalDeviceFeatures2");
172     vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)load(context, "vkGetPhysicalDeviceFormatProperties2");
173     vkGetPhysicalDeviceImageFormatProperties2 = (PFN_vkGetPhysicalDeviceImageFormatProperties2)load(context, "vkGetPhysicalDeviceImageFormatProperties2");
174     vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)load(context, "vkGetPhysicalDeviceMemoryProperties2");
175     vkGetPhysicalDeviceProperties2 = (PFN_vkGetPhysicalDeviceProperties2)load(context, "vkGetPhysicalDeviceProperties2");
176     vkGetPhysicalDeviceQueueFamilyProperties2 = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2");
177     vkGetPhysicalDeviceSparseImageFormatProperties2 = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2");
178 #endif /* defined(VK_VERSION_1_1) */
179 #if defined(VK_VERSION_1_3)
180     vkGetPhysicalDeviceToolProperties = (PFN_vkGetPhysicalDeviceToolProperties)load(context, "vkGetPhysicalDeviceToolProperties");
181 #endif /* defined(VK_VERSION_1_3) */
182 #if defined(VK_EXT_acquire_drm_display)
183     vkAcquireDrmDisplayEXT = (PFN_vkAcquireDrmDisplayEXT)load(context, "vkAcquireDrmDisplayEXT");
184     vkGetDrmDisplayEXT = (PFN_vkGetDrmDisplayEXT)load(context, "vkGetDrmDisplayEXT");
185 #endif /* defined(VK_EXT_acquire_drm_display) */
186 #if defined(VK_EXT_acquire_xlib_display)
187     vkAcquireXlibDisplayEXT = (PFN_vkAcquireXlibDisplayEXT)load(context, "vkAcquireXlibDisplayEXT");
188     vkGetRandROutputDisplayEXT = (PFN_vkGetRandROutputDisplayEXT)load(context, "vkGetRandROutputDisplayEXT");
189 #endif /* defined(VK_EXT_acquire_xlib_display) */
190 #if defined(VK_EXT_calibrated_timestamps)
191     vkGetPhysicalDeviceCalibrateableTimeDomainsEXT = (PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT)load(context, "vkGetPhysicalDeviceCalibrateableTimeDomainsEXT");
192 #endif /* defined(VK_EXT_calibrated_timestamps) */
193 #if defined(VK_EXT_debug_report)
194     vkCreateDebugReportCallbackEXT = (PFN_vkCreateDebugReportCallbackEXT)load(context, "vkCreateDebugReportCallbackEXT");
195     vkDebugReportMessageEXT = (PFN_vkDebugReportMessageEXT)load(context, "vkDebugReportMessageEXT");
196     vkDestroyDebugReportCallbackEXT = (PFN_vkDestroyDebugReportCallbackEXT)load(context, "vkDestroyDebugReportCallbackEXT");
197 #endif /* defined(VK_EXT_debug_report) */
198 #if defined(VK_EXT_debug_utils)
199     vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)load(context, "vkCmdBeginDebugUtilsLabelEXT");
200     vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)load(context, "vkCmdEndDebugUtilsLabelEXT");
201     vkCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)load(context, "vkCmdInsertDebugUtilsLabelEXT");
202     vkCreateDebugUtilsMessengerEXT = (PFN_vkCreateDebugUtilsMessengerEXT)load(context, "vkCreateDebugUtilsMessengerEXT");
203     vkDestroyDebugUtilsMessengerEXT = (PFN_vkDestroyDebugUtilsMessengerEXT)load(context, "vkDestroyDebugUtilsMessengerEXT");
204     vkQueueBeginDebugUtilsLabelEXT = (PFN_vkQueueBeginDebugUtilsLabelEXT)load(context, "vkQueueBeginDebugUtilsLabelEXT");
205     vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)load(context, "vkQueueEndDebugUtilsLabelEXT");
206     vkQueueInsertDebugUtilsLabelEXT = (PFN_vkQueueInsertDebugUtilsLabelEXT)load(context, "vkQueueInsertDebugUtilsLabelEXT");
207     vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)load(context, "vkSetDebugUtilsObjectNameEXT");
208     vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)load(context, "vkSetDebugUtilsObjectTagEXT");
209     vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)load(context, "vkSubmitDebugUtilsMessageEXT");
210 #endif /* defined(VK_EXT_debug_utils) */
211 #if defined(VK_EXT_direct_mode_display)
212     vkReleaseDisplayEXT = (PFN_vkReleaseDisplayEXT)load(context, "vkReleaseDisplayEXT");
213 #endif /* defined(VK_EXT_direct_mode_display) */
214 #if defined(VK_EXT_directfb_surface)
215     vkCreateDirectFBSurfaceEXT = (PFN_vkCreateDirectFBSurfaceEXT)load(context, "vkCreateDirectFBSurfaceEXT");
216     vkGetPhysicalDeviceDirectFBPresentationSupportEXT = (PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT)load(context, "vkGetPhysicalDeviceDirectFBPresentationSupportEXT");
217 #endif /* defined(VK_EXT_directfb_surface) */
218 #if defined(VK_EXT_display_surface_counter)
219     vkGetPhysicalDeviceSurfaceCapabilities2EXT = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2EXT");
220 #endif /* defined(VK_EXT_display_surface_counter) */
221 #if defined(VK_EXT_full_screen_exclusive)
222     vkGetPhysicalDeviceSurfacePresentModes2EXT = (PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT)load(context, "vkGetPhysicalDeviceSurfacePresentModes2EXT");
223 #endif /* defined(VK_EXT_full_screen_exclusive) */
224 #if defined(VK_EXT_headless_surface)
225     vkCreateHeadlessSurfaceEXT = (PFN_vkCreateHeadlessSurfaceEXT)load(context, "vkCreateHeadlessSurfaceEXT");
226 #endif /* defined(VK_EXT_headless_surface) */
227 #if defined(VK_EXT_metal_surface)
228     vkCreateMetalSurfaceEXT = (PFN_vkCreateMetalSurfaceEXT)load(context, "vkCreateMetalSurfaceEXT");
229 #endif /* defined(VK_EXT_metal_surface) */
230 #if defined(VK_EXT_sample_locations)
231     vkGetPhysicalDeviceMultisamplePropertiesEXT = (PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT)load(context, "vkGetPhysicalDeviceMultisamplePropertiesEXT");
232 #endif /* defined(VK_EXT_sample_locations) */
233 #if defined(VK_EXT_tooling_info)
234     vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)load(context, "vkGetPhysicalDeviceToolPropertiesEXT");
235 #endif /* defined(VK_EXT_tooling_info) */
236 #if defined(VK_FUCHSIA_imagepipe_surface)
237     vkCreateImagePipeSurfaceFUCHSIA = (PFN_vkCreateImagePipeSurfaceFUCHSIA)load(context, "vkCreateImagePipeSurfaceFUCHSIA");
238 #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
239 #if defined(VK_GGP_stream_descriptor_surface)
240     vkCreateStreamDescriptorSurfaceGGP = (PFN_vkCreateStreamDescriptorSurfaceGGP)load(context, "vkCreateStreamDescriptorSurfaceGGP");
241 #endif /* defined(VK_GGP_stream_descriptor_surface) */
242 #if defined(VK_KHR_android_surface)
243     vkCreateAndroidSurfaceKHR = (PFN_vkCreateAndroidSurfaceKHR)load(context, "vkCreateAndroidSurfaceKHR");
244 #endif /* defined(VK_KHR_android_surface) */
245 #if defined(VK_KHR_device_group_creation)
246     vkEnumeratePhysicalDeviceGroupsKHR = (PFN_vkEnumeratePhysicalDeviceGroupsKHR)load(context, "vkEnumeratePhysicalDeviceGroupsKHR");
247 #endif /* defined(VK_KHR_device_group_creation) */
248 #if defined(VK_KHR_display)
249     vkCreateDisplayModeKHR = (PFN_vkCreateDisplayModeKHR)load(context, "vkCreateDisplayModeKHR");
250     vkCreateDisplayPlaneSurfaceKHR = (PFN_vkCreateDisplayPlaneSurfaceKHR)load(context, "vkCreateDisplayPlaneSurfaceKHR");
251     vkGetDisplayModePropertiesKHR = (PFN_vkGetDisplayModePropertiesKHR)load(context, "vkGetDisplayModePropertiesKHR");
252     vkGetDisplayPlaneCapabilitiesKHR = (PFN_vkGetDisplayPlaneCapabilitiesKHR)load(context, "vkGetDisplayPlaneCapabilitiesKHR");
253     vkGetDisplayPlaneSupportedDisplaysKHR = (PFN_vkGetDisplayPlaneSupportedDisplaysKHR)load(context, "vkGetDisplayPlaneSupportedDisplaysKHR");
254     vkGetPhysicalDeviceDisplayPlanePropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPlanePropertiesKHR");
255     vkGetPhysicalDeviceDisplayPropertiesKHR = (PFN_vkGetPhysicalDeviceDisplayPropertiesKHR)load(context, "vkGetPhysicalDeviceDisplayPropertiesKHR");
256 #endif /* defined(VK_KHR_display) */
257 #if defined(VK_KHR_external_fence_capabilities)
258     vkGetPhysicalDeviceExternalFencePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
259 #endif /* defined(VK_KHR_external_fence_capabilities) */
260 #if defined(VK_KHR_external_memory_capabilities)
261     vkGetPhysicalDeviceExternalBufferPropertiesKHR = (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)load(context, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
262 #endif /* defined(VK_KHR_external_memory_capabilities) */
263 #if defined(VK_KHR_external_semaphore_capabilities)
264     vkGetPhysicalDeviceExternalSemaphorePropertiesKHR = (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)load(context, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
265 #endif /* defined(VK_KHR_external_semaphore_capabilities) */
266 #if defined(VK_KHR_fragment_shading_rate)
267     vkGetPhysicalDeviceFragmentShadingRatesKHR = (PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR)load(context, "vkGetPhysicalDeviceFragmentShadingRatesKHR");
268 #endif /* defined(VK_KHR_fragment_shading_rate) */
269 #if defined(VK_KHR_get_display_properties2)
270     vkGetDisplayModeProperties2KHR = (PFN_vkGetDisplayModeProperties2KHR)load(context, "vkGetDisplayModeProperties2KHR");
271     vkGetDisplayPlaneCapabilities2KHR = (PFN_vkGetDisplayPlaneCapabilities2KHR)load(context, "vkGetDisplayPlaneCapabilities2KHR");
272     vkGetPhysicalDeviceDisplayPlaneProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayPlaneProperties2KHR");
273     vkGetPhysicalDeviceDisplayProperties2KHR = (PFN_vkGetPhysicalDeviceDisplayProperties2KHR)load(context, "vkGetPhysicalDeviceDisplayProperties2KHR");
274 #endif /* defined(VK_KHR_get_display_properties2) */
275 #if defined(VK_KHR_get_physical_device_properties2)
276     vkGetPhysicalDeviceFeatures2KHR = (PFN_vkGetPhysicalDeviceFeatures2KHR)load(context, "vkGetPhysicalDeviceFeatures2KHR");
277     vkGetPhysicalDeviceFormatProperties2KHR = (PFN_vkGetPhysicalDeviceFormatProperties2KHR)load(context, "vkGetPhysicalDeviceFormatProperties2KHR");
278     vkGetPhysicalDeviceImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceImageFormatProperties2KHR");
279     vkGetPhysicalDeviceMemoryProperties2KHR = (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)load(context, "vkGetPhysicalDeviceMemoryProperties2KHR");
280     vkGetPhysicalDeviceProperties2KHR = (PFN_vkGetPhysicalDeviceProperties2KHR)load(context, "vkGetPhysicalDeviceProperties2KHR");
281     vkGetPhysicalDeviceQueueFamilyProperties2KHR = (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)load(context, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
282     vkGetPhysicalDeviceSparseImageFormatProperties2KHR = (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)load(context, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
283 #endif /* defined(VK_KHR_get_physical_device_properties2) */
284 #if defined(VK_KHR_get_surface_capabilities2)
285     vkGetPhysicalDeviceSurfaceCapabilities2KHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilities2KHR");
286     vkGetPhysicalDeviceSurfaceFormats2KHR = (PFN_vkGetPhysicalDeviceSurfaceFormats2KHR)load(context, "vkGetPhysicalDeviceSurfaceFormats2KHR");
287 #endif /* defined(VK_KHR_get_surface_capabilities2) */
288 #if defined(VK_KHR_performance_query)
289     vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR = (PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR)load(context, "vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR");
290     vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR = (PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR)load(context, "vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR");
291 #endif /* defined(VK_KHR_performance_query) */
292 #if defined(VK_KHR_surface)
293     vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)load(context, "vkDestroySurfaceKHR");
294     vkGetPhysicalDeviceSurfaceCapabilitiesKHR = (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)load(context, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
295     vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)load(context, "vkGetPhysicalDeviceSurfaceFormatsKHR");
296     vkGetPhysicalDeviceSurfacePresentModesKHR = (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)load(context, "vkGetPhysicalDeviceSurfacePresentModesKHR");
297     vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)load(context, "vkGetPhysicalDeviceSurfaceSupportKHR");
298 #endif /* defined(VK_KHR_surface) */
299 #if defined(VK_KHR_video_queue)
300     vkGetPhysicalDeviceVideoCapabilitiesKHR = (PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR)load(context, "vkGetPhysicalDeviceVideoCapabilitiesKHR");
301     vkGetPhysicalDeviceVideoFormatPropertiesKHR = (PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR)load(context, "vkGetPhysicalDeviceVideoFormatPropertiesKHR");
302 #endif /* defined(VK_KHR_video_queue) */
303 #if defined(VK_KHR_wayland_surface)
304     vkCreateWaylandSurfaceKHR = (PFN_vkCreateWaylandSurfaceKHR)load(context, "vkCreateWaylandSurfaceKHR");
305     vkGetPhysicalDeviceWaylandPresentationSupportKHR = (PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR)load(context, "vkGetPhysicalDeviceWaylandPresentationSupportKHR");
306 #endif /* defined(VK_KHR_wayland_surface) */
307 #if defined(VK_KHR_win32_surface)
308     vkCreateWin32SurfaceKHR = (PFN_vkCreateWin32SurfaceKHR)load(context, "vkCreateWin32SurfaceKHR");
309     vkGetPhysicalDeviceWin32PresentationSupportKHR = (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)load(context, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
310 #endif /* defined(VK_KHR_win32_surface) */
311 #if defined(VK_KHR_xcb_surface)
312     vkCreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)load(context, "vkCreateXcbSurfaceKHR");
313     vkGetPhysicalDeviceXcbPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
314 #endif /* defined(VK_KHR_xcb_surface) */
315 #if defined(VK_KHR_xlib_surface)
316     vkCreateXlibSurfaceKHR = (PFN_vkCreateXlibSurfaceKHR)load(context, "vkCreateXlibSurfaceKHR");
317     vkGetPhysicalDeviceXlibPresentationSupportKHR = (PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR)load(context, "vkGetPhysicalDeviceXlibPresentationSupportKHR");
318 #endif /* defined(VK_KHR_xlib_surface) */
319 #if defined(VK_MVK_ios_surface)
320     vkCreateIOSSurfaceMVK = (PFN_vkCreateIOSSurfaceMVK)load(context, "vkCreateIOSSurfaceMVK");
321 #endif /* defined(VK_MVK_ios_surface) */
322 #if defined(VK_MVK_macos_surface)
323     vkCreateMacOSSurfaceMVK = (PFN_vkCreateMacOSSurfaceMVK)load(context, "vkCreateMacOSSurfaceMVK");
324 #endif /* defined(VK_MVK_macos_surface) */
325 #if defined(VK_NN_vi_surface)
326     vkCreateViSurfaceNN = (PFN_vkCreateViSurfaceNN)load(context, "vkCreateViSurfaceNN");
327 #endif /* defined(VK_NN_vi_surface) */
328 #if defined(VK_NV_acquire_winrt_display)
329     vkAcquireWinrtDisplayNV = (PFN_vkAcquireWinrtDisplayNV)load(context, "vkAcquireWinrtDisplayNV");
330     vkGetWinrtDisplayNV = (PFN_vkGetWinrtDisplayNV)load(context, "vkGetWinrtDisplayNV");
331 #endif /* defined(VK_NV_acquire_winrt_display) */
332 #if defined(VK_NV_cooperative_matrix)
333     vkGetPhysicalDeviceCooperativeMatrixPropertiesNV = (PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV)load(context, "vkGetPhysicalDeviceCooperativeMatrixPropertiesNV");
334 #endif /* defined(VK_NV_cooperative_matrix) */
335 #if defined(VK_NV_coverage_reduction_mode)
336     vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV = (PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV)load(context, "vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV");
337 #endif /* defined(VK_NV_coverage_reduction_mode) */
338 #if defined(VK_NV_external_memory_capabilities)
339     vkGetPhysicalDeviceExternalImageFormatPropertiesNV = (PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV)load(context, "vkGetPhysicalDeviceExternalImageFormatPropertiesNV");
340 #endif /* defined(VK_NV_external_memory_capabilities) */
341 #if defined(VK_QNX_screen_surface)
342     vkCreateScreenSurfaceQNX = (PFN_vkCreateScreenSurfaceQNX)load(context, "vkCreateScreenSurfaceQNX");
343     vkGetPhysicalDeviceScreenPresentationSupportQNX = (PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX)load(context, "vkGetPhysicalDeviceScreenPresentationSupportQNX");
344 #endif /* defined(VK_QNX_screen_surface) */
345 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
346     vkGetPhysicalDevicePresentRectanglesKHR = (PFN_vkGetPhysicalDevicePresentRectanglesKHR)load(context, "vkGetPhysicalDevicePresentRectanglesKHR");
347 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
348     /* VOLK_GENERATE_LOAD_INSTANCE */
349 }
350 
volkGenLoadDevice(void * context,PFN_vkVoidFunction (* load)(void *,const char *))351 static void volkGenLoadDevice(void* context, PFN_vkVoidFunction (*load)(void*, const char*))
352 {
353     /* VOLK_GENERATE_LOAD_DEVICE */
354 #if defined(VK_VERSION_1_0)
355     vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
356     vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
357     vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
358     vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
359     vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
360     vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
361     vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
362     vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
363     vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
364     vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
365     vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
366     vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
367     vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
368     vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
369     vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
370     vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
371     vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
372     vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
373     vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
374     vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
375     vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
376     vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
377     vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
378     vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
379     vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
380     vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
381     vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
382     vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
383     vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
384     vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
385     vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
386     vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
387     vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
388     vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
389     vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
390     vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
391     vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
392     vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
393     vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
394     vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
395     vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
396     vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
397     vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
398     vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
399     vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
400     vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
401     vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
402     vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
403     vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
404     vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
405     vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
406     vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
407     vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
408     vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
409     vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
410     vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
411     vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
412     vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
413     vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
414     vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
415     vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
416     vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
417     vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
418     vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
419     vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
420     vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
421     vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
422     vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
423     vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
424     vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
425     vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
426     vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
427     vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
428     vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
429     vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
430     vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
431     vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
432     vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
433     vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
434     vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
435     vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
436     vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
437     vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
438     vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
439     vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
440     vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
441     vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
442     vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
443     vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
444     vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
445     vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
446     vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
447     vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
448     vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
449     vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
450     vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
451     vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
452     vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
453     vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
454     vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
455     vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
456     vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
457     vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
458     vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
459     vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
460     vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
461     vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
462     vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
463     vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
464     vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
465     vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
466     vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
467     vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
468     vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
469     vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
470     vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
471     vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
472     vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
473     vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
474     vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
475 #endif /* defined(VK_VERSION_1_0) */
476 #if defined(VK_VERSION_1_1)
477     vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
478     vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
479     vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
480     vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
481     vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
482     vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
483     vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
484     vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
485     vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
486     vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
487     vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
488     vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
489     vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
490     vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
491     vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
492     vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
493 #endif /* defined(VK_VERSION_1_1) */
494 #if defined(VK_VERSION_1_2)
495     vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2");
496     vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount");
497     vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount");
498     vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2");
499     vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2");
500     vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2");
501     vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress");
502     vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress");
503     vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress");
504     vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue");
505     vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool");
506     vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore");
507     vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores");
508 #endif /* defined(VK_VERSION_1_2) */
509 #if defined(VK_VERSION_1_3)
510     vkCmdBeginRendering = (PFN_vkCmdBeginRendering)load(context, "vkCmdBeginRendering");
511     vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)load(context, "vkCmdBindVertexBuffers2");
512     vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)load(context, "vkCmdBlitImage2");
513     vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)load(context, "vkCmdCopyBuffer2");
514     vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)load(context, "vkCmdCopyBufferToImage2");
515     vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)load(context, "vkCmdCopyImage2");
516     vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)load(context, "vkCmdCopyImageToBuffer2");
517     vkCmdEndRendering = (PFN_vkCmdEndRendering)load(context, "vkCmdEndRendering");
518     vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)load(context, "vkCmdPipelineBarrier2");
519     vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)load(context, "vkCmdResetEvent2");
520     vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)load(context, "vkCmdResolveImage2");
521     vkCmdSetCullMode = (PFN_vkCmdSetCullMode)load(context, "vkCmdSetCullMode");
522     vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)load(context, "vkCmdSetDepthBiasEnable");
523     vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)load(context, "vkCmdSetDepthBoundsTestEnable");
524     vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)load(context, "vkCmdSetDepthCompareOp");
525     vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)load(context, "vkCmdSetDepthTestEnable");
526     vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)load(context, "vkCmdSetDepthWriteEnable");
527     vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)load(context, "vkCmdSetEvent2");
528     vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)load(context, "vkCmdSetFrontFace");
529     vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)load(context, "vkCmdSetPrimitiveRestartEnable");
530     vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)load(context, "vkCmdSetPrimitiveTopology");
531     vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)load(context, "vkCmdSetRasterizerDiscardEnable");
532     vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)load(context, "vkCmdSetScissorWithCount");
533     vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)load(context, "vkCmdSetStencilOp");
534     vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)load(context, "vkCmdSetStencilTestEnable");
535     vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)load(context, "vkCmdSetViewportWithCount");
536     vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)load(context, "vkCmdWaitEvents2");
537     vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)load(context, "vkCmdWriteTimestamp2");
538     vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)load(context, "vkCreatePrivateDataSlot");
539     vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)load(context, "vkDestroyPrivateDataSlot");
540     vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)load(context, "vkGetDeviceBufferMemoryRequirements");
541     vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)load(context, "vkGetDeviceImageMemoryRequirements");
542     vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)load(context, "vkGetDeviceImageSparseMemoryRequirements");
543     vkGetPrivateData = (PFN_vkGetPrivateData)load(context, "vkGetPrivateData");
544     vkQueueSubmit2 = (PFN_vkQueueSubmit2)load(context, "vkQueueSubmit2");
545     vkSetPrivateData = (PFN_vkSetPrivateData)load(context, "vkSetPrivateData");
546 #endif /* defined(VK_VERSION_1_3) */
547 #if defined(VK_AMD_buffer_marker)
548     vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
549 #endif /* defined(VK_AMD_buffer_marker) */
550 #if defined(VK_AMD_display_native_hdr)
551     vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
552 #endif /* defined(VK_AMD_display_native_hdr) */
553 #if defined(VK_AMD_draw_indirect_count)
554     vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
555     vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
556 #endif /* defined(VK_AMD_draw_indirect_count) */
557 #if defined(VK_AMD_shader_info)
558     vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
559 #endif /* defined(VK_AMD_shader_info) */
560 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
561     vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
562     vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
563 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
564 #if defined(VK_EXT_buffer_device_address)
565     vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
566 #endif /* defined(VK_EXT_buffer_device_address) */
567 #if defined(VK_EXT_calibrated_timestamps)
568     vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
569 #endif /* defined(VK_EXT_calibrated_timestamps) */
570 #if defined(VK_EXT_color_write_enable)
571     vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)load(context, "vkCmdSetColorWriteEnableEXT");
572 #endif /* defined(VK_EXT_color_write_enable) */
573 #if defined(VK_EXT_conditional_rendering)
574     vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
575     vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
576 #endif /* defined(VK_EXT_conditional_rendering) */
577 #if defined(VK_EXT_debug_marker)
578     vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
579     vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
580     vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
581     vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
582     vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
583 #endif /* defined(VK_EXT_debug_marker) */
584 #if defined(VK_EXT_discard_rectangles)
585     vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
586 #endif /* defined(VK_EXT_discard_rectangles) */
587 #if defined(VK_EXT_display_control)
588     vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
589     vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
590     vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
591     vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
592 #endif /* defined(VK_EXT_display_control) */
593 #if defined(VK_EXT_extended_dynamic_state)
594     vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT");
595     vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT");
596     vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT");
597     vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT");
598     vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT");
599     vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT");
600     vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT");
601     vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT");
602     vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT");
603     vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT");
604     vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT");
605     vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT");
606 #endif /* defined(VK_EXT_extended_dynamic_state) */
607 #if defined(VK_EXT_extended_dynamic_state2)
608     vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)load(context, "vkCmdSetDepthBiasEnableEXT");
609     vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)load(context, "vkCmdSetLogicOpEXT");
610     vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)load(context, "vkCmdSetPatchControlPointsEXT");
611     vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)load(context, "vkCmdSetPrimitiveRestartEnableEXT");
612     vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)load(context, "vkCmdSetRasterizerDiscardEnableEXT");
613 #endif /* defined(VK_EXT_extended_dynamic_state2) */
614 #if defined(VK_EXT_external_memory_host)
615     vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
616 #endif /* defined(VK_EXT_external_memory_host) */
617 #if defined(VK_EXT_full_screen_exclusive)
618     vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
619     vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
620 #endif /* defined(VK_EXT_full_screen_exclusive) */
621 #if defined(VK_EXT_hdr_metadata)
622     vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
623 #endif /* defined(VK_EXT_hdr_metadata) */
624 #if defined(VK_EXT_host_query_reset)
625     vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
626 #endif /* defined(VK_EXT_host_query_reset) */
627 #if defined(VK_EXT_image_drm_format_modifier)
628     vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
629 #endif /* defined(VK_EXT_image_drm_format_modifier) */
630 #if defined(VK_EXT_line_rasterization)
631     vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
632 #endif /* defined(VK_EXT_line_rasterization) */
633 #if defined(VK_EXT_multi_draw)
634     vkCmdDrawMultiEXT = (PFN_vkCmdDrawMultiEXT)load(context, "vkCmdDrawMultiEXT");
635     vkCmdDrawMultiIndexedEXT = (PFN_vkCmdDrawMultiIndexedEXT)load(context, "vkCmdDrawMultiIndexedEXT");
636 #endif /* defined(VK_EXT_multi_draw) */
637 #if defined(VK_EXT_pageable_device_local_memory)
638     vkSetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)load(context, "vkSetDeviceMemoryPriorityEXT");
639 #endif /* defined(VK_EXT_pageable_device_local_memory) */
640 #if defined(VK_EXT_private_data)
641     vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT");
642     vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT");
643     vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT");
644     vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT");
645 #endif /* defined(VK_EXT_private_data) */
646 #if defined(VK_EXT_sample_locations)
647     vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
648 #endif /* defined(VK_EXT_sample_locations) */
649 #if defined(VK_EXT_transform_feedback)
650     vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
651     vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
652     vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
653     vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
654     vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
655     vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
656 #endif /* defined(VK_EXT_transform_feedback) */
657 #if defined(VK_EXT_validation_cache)
658     vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
659     vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
660     vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
661     vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
662 #endif /* defined(VK_EXT_validation_cache) */
663 #if defined(VK_EXT_vertex_input_dynamic_state)
664     vkCmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT)load(context, "vkCmdSetVertexInputEXT");
665 #endif /* defined(VK_EXT_vertex_input_dynamic_state) */
666 #if defined(VK_FUCHSIA_buffer_collection)
667     vkCreateBufferCollectionFUCHSIA = (PFN_vkCreateBufferCollectionFUCHSIA)load(context, "vkCreateBufferCollectionFUCHSIA");
668     vkDestroyBufferCollectionFUCHSIA = (PFN_vkDestroyBufferCollectionFUCHSIA)load(context, "vkDestroyBufferCollectionFUCHSIA");
669     vkGetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)load(context, "vkGetBufferCollectionPropertiesFUCHSIA");
670     vkSetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)load(context, "vkSetBufferCollectionBufferConstraintsFUCHSIA");
671     vkSetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)load(context, "vkSetBufferCollectionImageConstraintsFUCHSIA");
672 #endif /* defined(VK_FUCHSIA_buffer_collection) */
673 #if defined(VK_FUCHSIA_external_memory)
674     vkGetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)load(context, "vkGetMemoryZirconHandleFUCHSIA");
675     vkGetMemoryZirconHandlePropertiesFUCHSIA = (PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)load(context, "vkGetMemoryZirconHandlePropertiesFUCHSIA");
676 #endif /* defined(VK_FUCHSIA_external_memory) */
677 #if defined(VK_FUCHSIA_external_semaphore)
678     vkGetSemaphoreZirconHandleFUCHSIA = (PFN_vkGetSemaphoreZirconHandleFUCHSIA)load(context, "vkGetSemaphoreZirconHandleFUCHSIA");
679     vkImportSemaphoreZirconHandleFUCHSIA = (PFN_vkImportSemaphoreZirconHandleFUCHSIA)load(context, "vkImportSemaphoreZirconHandleFUCHSIA");
680 #endif /* defined(VK_FUCHSIA_external_semaphore) */
681 #if defined(VK_GOOGLE_display_timing)
682     vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
683     vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
684 #endif /* defined(VK_GOOGLE_display_timing) */
685 #if defined(VK_HUAWEI_invocation_mask)
686     vkCmdBindInvocationMaskHUAWEI = (PFN_vkCmdBindInvocationMaskHUAWEI)load(context, "vkCmdBindInvocationMaskHUAWEI");
687 #endif /* defined(VK_HUAWEI_invocation_mask) */
688 #if defined(VK_HUAWEI_subpass_shading)
689     vkCmdSubpassShadingHUAWEI = (PFN_vkCmdSubpassShadingHUAWEI)load(context, "vkCmdSubpassShadingHUAWEI");
690     vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)load(context, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
691 #endif /* defined(VK_HUAWEI_subpass_shading) */
692 #if defined(VK_INTEL_performance_query)
693     vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
694     vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
695     vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
696     vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
697     vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
698     vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
699     vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
700     vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
701     vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
702 #endif /* defined(VK_INTEL_performance_query) */
703 #if defined(VK_KHR_acceleration_structure)
704     vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR");
705     vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR");
706     vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR");
707     vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR");
708     vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR");
709     vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR");
710     vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR");
711     vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR");
712     vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR");
713     vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR");
714     vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR");
715     vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR");
716     vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR");
717     vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR");
718     vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR");
719     vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR");
720 #endif /* defined(VK_KHR_acceleration_structure) */
721 #if defined(VK_KHR_bind_memory2)
722     vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
723     vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
724 #endif /* defined(VK_KHR_bind_memory2) */
725 #if defined(VK_KHR_buffer_device_address)
726     vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
727     vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
728     vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
729 #endif /* defined(VK_KHR_buffer_device_address) */
730 #if defined(VK_KHR_copy_commands2)
731     vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR");
732     vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR");
733     vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR");
734     vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR");
735     vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
736     vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR");
737 #endif /* defined(VK_KHR_copy_commands2) */
738 #if defined(VK_KHR_create_renderpass2)
739     vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
740     vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
741     vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
742     vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
743 #endif /* defined(VK_KHR_create_renderpass2) */
744 #if defined(VK_KHR_deferred_host_operations)
745     vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR");
746     vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR");
747     vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR");
748     vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR");
749     vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR");
750 #endif /* defined(VK_KHR_deferred_host_operations) */
751 #if defined(VK_KHR_descriptor_update_template)
752     vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
753     vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
754     vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
755 #endif /* defined(VK_KHR_descriptor_update_template) */
756 #if defined(VK_KHR_device_group)
757     vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
758     vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
759     vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
760 #endif /* defined(VK_KHR_device_group) */
761 #if defined(VK_KHR_display_swapchain)
762     vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
763 #endif /* defined(VK_KHR_display_swapchain) */
764 #if defined(VK_KHR_draw_indirect_count)
765     vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
766     vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
767 #endif /* defined(VK_KHR_draw_indirect_count) */
768 #if defined(VK_KHR_dynamic_rendering)
769     vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)load(context, "vkCmdBeginRenderingKHR");
770     vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)load(context, "vkCmdEndRenderingKHR");
771 #endif /* defined(VK_KHR_dynamic_rendering) */
772 #if defined(VK_KHR_external_fence_fd)
773     vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
774     vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
775 #endif /* defined(VK_KHR_external_fence_fd) */
776 #if defined(VK_KHR_external_fence_win32)
777     vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
778     vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
779 #endif /* defined(VK_KHR_external_fence_win32) */
780 #if defined(VK_KHR_external_memory_fd)
781     vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
782     vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
783 #endif /* defined(VK_KHR_external_memory_fd) */
784 #if defined(VK_KHR_external_memory_win32)
785     vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
786     vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
787 #endif /* defined(VK_KHR_external_memory_win32) */
788 #if defined(VK_KHR_external_semaphore_fd)
789     vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
790     vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
791 #endif /* defined(VK_KHR_external_semaphore_fd) */
792 #if defined(VK_KHR_external_semaphore_win32)
793     vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
794     vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
795 #endif /* defined(VK_KHR_external_semaphore_win32) */
796 #if defined(VK_KHR_fragment_shading_rate)
797     vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR");
798 #endif /* defined(VK_KHR_fragment_shading_rate) */
799 #if defined(VK_KHR_get_memory_requirements2)
800     vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
801     vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
802     vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
803 #endif /* defined(VK_KHR_get_memory_requirements2) */
804 #if defined(VK_KHR_maintenance1)
805     vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
806 #endif /* defined(VK_KHR_maintenance1) */
807 #if defined(VK_KHR_maintenance3)
808     vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
809 #endif /* defined(VK_KHR_maintenance3) */
810 #if defined(VK_KHR_maintenance4)
811     vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)load(context, "vkGetDeviceBufferMemoryRequirementsKHR");
812     vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)load(context, "vkGetDeviceImageMemoryRequirementsKHR");
813     vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)load(context, "vkGetDeviceImageSparseMemoryRequirementsKHR");
814 #endif /* defined(VK_KHR_maintenance4) */
815 #if defined(VK_KHR_performance_query)
816     vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
817     vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
818 #endif /* defined(VK_KHR_performance_query) */
819 #if defined(VK_KHR_pipeline_executable_properties)
820     vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
821     vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
822     vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
823 #endif /* defined(VK_KHR_pipeline_executable_properties) */
824 #if defined(VK_KHR_present_wait)
825     vkWaitForPresentKHR = (PFN_vkWaitForPresentKHR)load(context, "vkWaitForPresentKHR");
826 #endif /* defined(VK_KHR_present_wait) */
827 #if defined(VK_KHR_push_descriptor)
828     vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
829 #endif /* defined(VK_KHR_push_descriptor) */
830 #if defined(VK_KHR_ray_tracing_pipeline)
831     vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR");
832     vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR");
833     vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR");
834     vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR");
835     vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
836     vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR");
837     vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR");
838 #endif /* defined(VK_KHR_ray_tracing_pipeline) */
839 #if defined(VK_KHR_sampler_ycbcr_conversion)
840     vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
841     vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
842 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
843 #if defined(VK_KHR_shared_presentable_image)
844     vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
845 #endif /* defined(VK_KHR_shared_presentable_image) */
846 #if defined(VK_KHR_swapchain)
847     vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
848     vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
849     vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
850     vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
851     vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
852 #endif /* defined(VK_KHR_swapchain) */
853 #if defined(VK_KHR_synchronization2)
854     vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)load(context, "vkCmdPipelineBarrier2KHR");
855     vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)load(context, "vkCmdResetEvent2KHR");
856     vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)load(context, "vkCmdSetEvent2KHR");
857     vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)load(context, "vkCmdWaitEvents2KHR");
858     vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)load(context, "vkCmdWriteTimestamp2KHR");
859     vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)load(context, "vkQueueSubmit2KHR");
860 #endif /* defined(VK_KHR_synchronization2) */
861 #if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
862     vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)load(context, "vkCmdWriteBufferMarker2AMD");
863 #endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
864 #if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
865     vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)load(context, "vkGetQueueCheckpointData2NV");
866 #endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
867 #if defined(VK_KHR_timeline_semaphore)
868     vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
869     vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
870     vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
871 #endif /* defined(VK_KHR_timeline_semaphore) */
872 #if defined(VK_KHR_video_decode_queue)
873     vkCmdDecodeVideoKHR = (PFN_vkCmdDecodeVideoKHR)load(context, "vkCmdDecodeVideoKHR");
874 #endif /* defined(VK_KHR_video_decode_queue) */
875 #if defined(VK_KHR_video_encode_queue)
876     vkCmdEncodeVideoKHR = (PFN_vkCmdEncodeVideoKHR)load(context, "vkCmdEncodeVideoKHR");
877 #endif /* defined(VK_KHR_video_encode_queue) */
878 #if defined(VK_KHR_video_queue)
879     vkBindVideoSessionMemoryKHR = (PFN_vkBindVideoSessionMemoryKHR)load(context, "vkBindVideoSessionMemoryKHR");
880     vkCmdBeginVideoCodingKHR = (PFN_vkCmdBeginVideoCodingKHR)load(context, "vkCmdBeginVideoCodingKHR");
881     vkCmdControlVideoCodingKHR = (PFN_vkCmdControlVideoCodingKHR)load(context, "vkCmdControlVideoCodingKHR");
882     vkCmdEndVideoCodingKHR = (PFN_vkCmdEndVideoCodingKHR)load(context, "vkCmdEndVideoCodingKHR");
883     vkCreateVideoSessionKHR = (PFN_vkCreateVideoSessionKHR)load(context, "vkCreateVideoSessionKHR");
884     vkCreateVideoSessionParametersKHR = (PFN_vkCreateVideoSessionParametersKHR)load(context, "vkCreateVideoSessionParametersKHR");
885     vkDestroyVideoSessionKHR = (PFN_vkDestroyVideoSessionKHR)load(context, "vkDestroyVideoSessionKHR");
886     vkDestroyVideoSessionParametersKHR = (PFN_vkDestroyVideoSessionParametersKHR)load(context, "vkDestroyVideoSessionParametersKHR");
887     vkGetVideoSessionMemoryRequirementsKHR = (PFN_vkGetVideoSessionMemoryRequirementsKHR)load(context, "vkGetVideoSessionMemoryRequirementsKHR");
888     vkUpdateVideoSessionParametersKHR = (PFN_vkUpdateVideoSessionParametersKHR)load(context, "vkUpdateVideoSessionParametersKHR");
889 #endif /* defined(VK_KHR_video_queue) */
890 #if defined(VK_NVX_binary_import)
891     vkCmdCuLaunchKernelNVX = (PFN_vkCmdCuLaunchKernelNVX)load(context, "vkCmdCuLaunchKernelNVX");
892     vkCreateCuFunctionNVX = (PFN_vkCreateCuFunctionNVX)load(context, "vkCreateCuFunctionNVX");
893     vkCreateCuModuleNVX = (PFN_vkCreateCuModuleNVX)load(context, "vkCreateCuModuleNVX");
894     vkDestroyCuFunctionNVX = (PFN_vkDestroyCuFunctionNVX)load(context, "vkDestroyCuFunctionNVX");
895     vkDestroyCuModuleNVX = (PFN_vkDestroyCuModuleNVX)load(context, "vkDestroyCuModuleNVX");
896 #endif /* defined(VK_NVX_binary_import) */
897 #if defined(VK_NVX_image_view_handle)
898     vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX");
899     vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
900 #endif /* defined(VK_NVX_image_view_handle) */
901 #if defined(VK_NV_clip_space_w_scaling)
902     vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
903 #endif /* defined(VK_NV_clip_space_w_scaling) */
904 #if defined(VK_NV_device_diagnostic_checkpoints)
905     vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
906     vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
907 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
908 #if defined(VK_NV_device_generated_commands)
909     vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV");
910     vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV");
911     vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV");
912     vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV");
913     vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV");
914     vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV");
915 #endif /* defined(VK_NV_device_generated_commands) */
916 #if defined(VK_NV_external_memory_rdma)
917     vkGetMemoryRemoteAddressNV = (PFN_vkGetMemoryRemoteAddressNV)load(context, "vkGetMemoryRemoteAddressNV");
918 #endif /* defined(VK_NV_external_memory_rdma) */
919 #if defined(VK_NV_external_memory_win32)
920     vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
921 #endif /* defined(VK_NV_external_memory_win32) */
922 #if defined(VK_NV_fragment_shading_rate_enums)
923     vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV");
924 #endif /* defined(VK_NV_fragment_shading_rate_enums) */
925 #if defined(VK_NV_mesh_shader)
926     vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
927     vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
928     vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
929 #endif /* defined(VK_NV_mesh_shader) */
930 #if defined(VK_NV_ray_tracing)
931     vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
932     vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
933     vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
934     vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
935     vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
936     vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
937     vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
938     vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
939     vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
940     vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
941     vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
942     vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
943 #endif /* defined(VK_NV_ray_tracing) */
944 #if defined(VK_NV_scissor_exclusive)
945     vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
946 #endif /* defined(VK_NV_scissor_exclusive) */
947 #if defined(VK_NV_shading_rate_image)
948     vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
949     vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
950     vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
951 #endif /* defined(VK_NV_shading_rate_image) */
952 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
953     vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
954 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
955 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
956     vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
957 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
958 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
959     vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
960     vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
961 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
962 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
963     vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
964 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
965     /* VOLK_GENERATE_LOAD_DEVICE */
966 }
967 
volkGenLoadDeviceTable(struct VolkDeviceTable * table,void * context,PFN_vkVoidFunction (* load)(void *,const char *))968 static void volkGenLoadDeviceTable(struct VolkDeviceTable* table, void* context, PFN_vkVoidFunction (*load)(void*, const char*))
969 {
970     /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
971 #if defined(VK_VERSION_1_0)
972     table->vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)load(context, "vkAllocateCommandBuffers");
973     table->vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)load(context, "vkAllocateDescriptorSets");
974     table->vkAllocateMemory = (PFN_vkAllocateMemory)load(context, "vkAllocateMemory");
975     table->vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)load(context, "vkBeginCommandBuffer");
976     table->vkBindBufferMemory = (PFN_vkBindBufferMemory)load(context, "vkBindBufferMemory");
977     table->vkBindImageMemory = (PFN_vkBindImageMemory)load(context, "vkBindImageMemory");
978     table->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)load(context, "vkCmdBeginQuery");
979     table->vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)load(context, "vkCmdBeginRenderPass");
980     table->vkCmdBindDescriptorSets = (PFN_vkCmdBindDescriptorSets)load(context, "vkCmdBindDescriptorSets");
981     table->vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)load(context, "vkCmdBindIndexBuffer");
982     table->vkCmdBindPipeline = (PFN_vkCmdBindPipeline)load(context, "vkCmdBindPipeline");
983     table->vkCmdBindVertexBuffers = (PFN_vkCmdBindVertexBuffers)load(context, "vkCmdBindVertexBuffers");
984     table->vkCmdBlitImage = (PFN_vkCmdBlitImage)load(context, "vkCmdBlitImage");
985     table->vkCmdClearAttachments = (PFN_vkCmdClearAttachments)load(context, "vkCmdClearAttachments");
986     table->vkCmdClearColorImage = (PFN_vkCmdClearColorImage)load(context, "vkCmdClearColorImage");
987     table->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)load(context, "vkCmdClearDepthStencilImage");
988     table->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)load(context, "vkCmdCopyBuffer");
989     table->vkCmdCopyBufferToImage = (PFN_vkCmdCopyBufferToImage)load(context, "vkCmdCopyBufferToImage");
990     table->vkCmdCopyImage = (PFN_vkCmdCopyImage)load(context, "vkCmdCopyImage");
991     table->vkCmdCopyImageToBuffer = (PFN_vkCmdCopyImageToBuffer)load(context, "vkCmdCopyImageToBuffer");
992     table->vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)load(context, "vkCmdCopyQueryPoolResults");
993     table->vkCmdDispatch = (PFN_vkCmdDispatch)load(context, "vkCmdDispatch");
994     table->vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)load(context, "vkCmdDispatchIndirect");
995     table->vkCmdDraw = (PFN_vkCmdDraw)load(context, "vkCmdDraw");
996     table->vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)load(context, "vkCmdDrawIndexed");
997     table->vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)load(context, "vkCmdDrawIndexedIndirect");
998     table->vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)load(context, "vkCmdDrawIndirect");
999     table->vkCmdEndQuery = (PFN_vkCmdEndQuery)load(context, "vkCmdEndQuery");
1000     table->vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)load(context, "vkCmdEndRenderPass");
1001     table->vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)load(context, "vkCmdExecuteCommands");
1002     table->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)load(context, "vkCmdFillBuffer");
1003     table->vkCmdNextSubpass = (PFN_vkCmdNextSubpass)load(context, "vkCmdNextSubpass");
1004     table->vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)load(context, "vkCmdPipelineBarrier");
1005     table->vkCmdPushConstants = (PFN_vkCmdPushConstants)load(context, "vkCmdPushConstants");
1006     table->vkCmdResetEvent = (PFN_vkCmdResetEvent)load(context, "vkCmdResetEvent");
1007     table->vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)load(context, "vkCmdResetQueryPool");
1008     table->vkCmdResolveImage = (PFN_vkCmdResolveImage)load(context, "vkCmdResolveImage");
1009     table->vkCmdSetBlendConstants = (PFN_vkCmdSetBlendConstants)load(context, "vkCmdSetBlendConstants");
1010     table->vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)load(context, "vkCmdSetDepthBias");
1011     table->vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)load(context, "vkCmdSetDepthBounds");
1012     table->vkCmdSetEvent = (PFN_vkCmdSetEvent)load(context, "vkCmdSetEvent");
1013     table->vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)load(context, "vkCmdSetLineWidth");
1014     table->vkCmdSetScissor = (PFN_vkCmdSetScissor)load(context, "vkCmdSetScissor");
1015     table->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)load(context, "vkCmdSetStencilCompareMask");
1016     table->vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)load(context, "vkCmdSetStencilReference");
1017     table->vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)load(context, "vkCmdSetStencilWriteMask");
1018     table->vkCmdSetViewport = (PFN_vkCmdSetViewport)load(context, "vkCmdSetViewport");
1019     table->vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)load(context, "vkCmdUpdateBuffer");
1020     table->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)load(context, "vkCmdWaitEvents");
1021     table->vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)load(context, "vkCmdWriteTimestamp");
1022     table->vkCreateBuffer = (PFN_vkCreateBuffer)load(context, "vkCreateBuffer");
1023     table->vkCreateBufferView = (PFN_vkCreateBufferView)load(context, "vkCreateBufferView");
1024     table->vkCreateCommandPool = (PFN_vkCreateCommandPool)load(context, "vkCreateCommandPool");
1025     table->vkCreateComputePipelines = (PFN_vkCreateComputePipelines)load(context, "vkCreateComputePipelines");
1026     table->vkCreateDescriptorPool = (PFN_vkCreateDescriptorPool)load(context, "vkCreateDescriptorPool");
1027     table->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)load(context, "vkCreateDescriptorSetLayout");
1028     table->vkCreateEvent = (PFN_vkCreateEvent)load(context, "vkCreateEvent");
1029     table->vkCreateFence = (PFN_vkCreateFence)load(context, "vkCreateFence");
1030     table->vkCreateFramebuffer = (PFN_vkCreateFramebuffer)load(context, "vkCreateFramebuffer");
1031     table->vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)load(context, "vkCreateGraphicsPipelines");
1032     table->vkCreateImage = (PFN_vkCreateImage)load(context, "vkCreateImage");
1033     table->vkCreateImageView = (PFN_vkCreateImageView)load(context, "vkCreateImageView");
1034     table->vkCreatePipelineCache = (PFN_vkCreatePipelineCache)load(context, "vkCreatePipelineCache");
1035     table->vkCreatePipelineLayout = (PFN_vkCreatePipelineLayout)load(context, "vkCreatePipelineLayout");
1036     table->vkCreateQueryPool = (PFN_vkCreateQueryPool)load(context, "vkCreateQueryPool");
1037     table->vkCreateRenderPass = (PFN_vkCreateRenderPass)load(context, "vkCreateRenderPass");
1038     table->vkCreateSampler = (PFN_vkCreateSampler)load(context, "vkCreateSampler");
1039     table->vkCreateSemaphore = (PFN_vkCreateSemaphore)load(context, "vkCreateSemaphore");
1040     table->vkCreateShaderModule = (PFN_vkCreateShaderModule)load(context, "vkCreateShaderModule");
1041     table->vkDestroyBuffer = (PFN_vkDestroyBuffer)load(context, "vkDestroyBuffer");
1042     table->vkDestroyBufferView = (PFN_vkDestroyBufferView)load(context, "vkDestroyBufferView");
1043     table->vkDestroyCommandPool = (PFN_vkDestroyCommandPool)load(context, "vkDestroyCommandPool");
1044     table->vkDestroyDescriptorPool = (PFN_vkDestroyDescriptorPool)load(context, "vkDestroyDescriptorPool");
1045     table->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)load(context, "vkDestroyDescriptorSetLayout");
1046     table->vkDestroyDevice = (PFN_vkDestroyDevice)load(context, "vkDestroyDevice");
1047     table->vkDestroyEvent = (PFN_vkDestroyEvent)load(context, "vkDestroyEvent");
1048     table->vkDestroyFence = (PFN_vkDestroyFence)load(context, "vkDestroyFence");
1049     table->vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)load(context, "vkDestroyFramebuffer");
1050     table->vkDestroyImage = (PFN_vkDestroyImage)load(context, "vkDestroyImage");
1051     table->vkDestroyImageView = (PFN_vkDestroyImageView)load(context, "vkDestroyImageView");
1052     table->vkDestroyPipeline = (PFN_vkDestroyPipeline)load(context, "vkDestroyPipeline");
1053     table->vkDestroyPipelineCache = (PFN_vkDestroyPipelineCache)load(context, "vkDestroyPipelineCache");
1054     table->vkDestroyPipelineLayout = (PFN_vkDestroyPipelineLayout)load(context, "vkDestroyPipelineLayout");
1055     table->vkDestroyQueryPool = (PFN_vkDestroyQueryPool)load(context, "vkDestroyQueryPool");
1056     table->vkDestroyRenderPass = (PFN_vkDestroyRenderPass)load(context, "vkDestroyRenderPass");
1057     table->vkDestroySampler = (PFN_vkDestroySampler)load(context, "vkDestroySampler");
1058     table->vkDestroySemaphore = (PFN_vkDestroySemaphore)load(context, "vkDestroySemaphore");
1059     table->vkDestroyShaderModule = (PFN_vkDestroyShaderModule)load(context, "vkDestroyShaderModule");
1060     table->vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)load(context, "vkDeviceWaitIdle");
1061     table->vkEndCommandBuffer = (PFN_vkEndCommandBuffer)load(context, "vkEndCommandBuffer");
1062     table->vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)load(context, "vkFlushMappedMemoryRanges");
1063     table->vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)load(context, "vkFreeCommandBuffers");
1064     table->vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)load(context, "vkFreeDescriptorSets");
1065     table->vkFreeMemory = (PFN_vkFreeMemory)load(context, "vkFreeMemory");
1066     table->vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)load(context, "vkGetBufferMemoryRequirements");
1067     table->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)load(context, "vkGetDeviceMemoryCommitment");
1068     table->vkGetDeviceQueue = (PFN_vkGetDeviceQueue)load(context, "vkGetDeviceQueue");
1069     table->vkGetEventStatus = (PFN_vkGetEventStatus)load(context, "vkGetEventStatus");
1070     table->vkGetFenceStatus = (PFN_vkGetFenceStatus)load(context, "vkGetFenceStatus");
1071     table->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)load(context, "vkGetImageMemoryRequirements");
1072     table->vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)load(context, "vkGetImageSparseMemoryRequirements");
1073     table->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)load(context, "vkGetImageSubresourceLayout");
1074     table->vkGetPipelineCacheData = (PFN_vkGetPipelineCacheData)load(context, "vkGetPipelineCacheData");
1075     table->vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)load(context, "vkGetQueryPoolResults");
1076     table->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)load(context, "vkGetRenderAreaGranularity");
1077     table->vkInvalidateMappedMemoryRanges = (PFN_vkInvalidateMappedMemoryRanges)load(context, "vkInvalidateMappedMemoryRanges");
1078     table->vkMapMemory = (PFN_vkMapMemory)load(context, "vkMapMemory");
1079     table->vkMergePipelineCaches = (PFN_vkMergePipelineCaches)load(context, "vkMergePipelineCaches");
1080     table->vkQueueBindSparse = (PFN_vkQueueBindSparse)load(context, "vkQueueBindSparse");
1081     table->vkQueueSubmit = (PFN_vkQueueSubmit)load(context, "vkQueueSubmit");
1082     table->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)load(context, "vkQueueWaitIdle");
1083     table->vkResetCommandBuffer = (PFN_vkResetCommandBuffer)load(context, "vkResetCommandBuffer");
1084     table->vkResetCommandPool = (PFN_vkResetCommandPool)load(context, "vkResetCommandPool");
1085     table->vkResetDescriptorPool = (PFN_vkResetDescriptorPool)load(context, "vkResetDescriptorPool");
1086     table->vkResetEvent = (PFN_vkResetEvent)load(context, "vkResetEvent");
1087     table->vkResetFences = (PFN_vkResetFences)load(context, "vkResetFences");
1088     table->vkSetEvent = (PFN_vkSetEvent)load(context, "vkSetEvent");
1089     table->vkUnmapMemory = (PFN_vkUnmapMemory)load(context, "vkUnmapMemory");
1090     table->vkUpdateDescriptorSets = (PFN_vkUpdateDescriptorSets)load(context, "vkUpdateDescriptorSets");
1091     table->vkWaitForFences = (PFN_vkWaitForFences)load(context, "vkWaitForFences");
1092 #endif /* defined(VK_VERSION_1_0) */
1093 #if defined(VK_VERSION_1_1)
1094     table->vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)load(context, "vkBindBufferMemory2");
1095     table->vkBindImageMemory2 = (PFN_vkBindImageMemory2)load(context, "vkBindImageMemory2");
1096     table->vkCmdDispatchBase = (PFN_vkCmdDispatchBase)load(context, "vkCmdDispatchBase");
1097     table->vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)load(context, "vkCmdSetDeviceMask");
1098     table->vkCreateDescriptorUpdateTemplate = (PFN_vkCreateDescriptorUpdateTemplate)load(context, "vkCreateDescriptorUpdateTemplate");
1099     table->vkCreateSamplerYcbcrConversion = (PFN_vkCreateSamplerYcbcrConversion)load(context, "vkCreateSamplerYcbcrConversion");
1100     table->vkDestroyDescriptorUpdateTemplate = (PFN_vkDestroyDescriptorUpdateTemplate)load(context, "vkDestroyDescriptorUpdateTemplate");
1101     table->vkDestroySamplerYcbcrConversion = (PFN_vkDestroySamplerYcbcrConversion)load(context, "vkDestroySamplerYcbcrConversion");
1102     table->vkGetBufferMemoryRequirements2 = (PFN_vkGetBufferMemoryRequirements2)load(context, "vkGetBufferMemoryRequirements2");
1103     table->vkGetDescriptorSetLayoutSupport = (PFN_vkGetDescriptorSetLayoutSupport)load(context, "vkGetDescriptorSetLayoutSupport");
1104     table->vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)load(context, "vkGetDeviceGroupPeerMemoryFeatures");
1105     table->vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)load(context, "vkGetDeviceQueue2");
1106     table->vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)load(context, "vkGetImageMemoryRequirements2");
1107     table->vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)load(context, "vkGetImageSparseMemoryRequirements2");
1108     table->vkTrimCommandPool = (PFN_vkTrimCommandPool)load(context, "vkTrimCommandPool");
1109     table->vkUpdateDescriptorSetWithTemplate = (PFN_vkUpdateDescriptorSetWithTemplate)load(context, "vkUpdateDescriptorSetWithTemplate");
1110 #endif /* defined(VK_VERSION_1_1) */
1111 #if defined(VK_VERSION_1_2)
1112     table->vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)load(context, "vkCmdBeginRenderPass2");
1113     table->vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)load(context, "vkCmdDrawIndexedIndirectCount");
1114     table->vkCmdDrawIndirectCount = (PFN_vkCmdDrawIndirectCount)load(context, "vkCmdDrawIndirectCount");
1115     table->vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)load(context, "vkCmdEndRenderPass2");
1116     table->vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)load(context, "vkCmdNextSubpass2");
1117     table->vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)load(context, "vkCreateRenderPass2");
1118     table->vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)load(context, "vkGetBufferDeviceAddress");
1119     table->vkGetBufferOpaqueCaptureAddress = (PFN_vkGetBufferOpaqueCaptureAddress)load(context, "vkGetBufferOpaqueCaptureAddress");
1120     table->vkGetDeviceMemoryOpaqueCaptureAddress = (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)load(context, "vkGetDeviceMemoryOpaqueCaptureAddress");
1121     table->vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)load(context, "vkGetSemaphoreCounterValue");
1122     table->vkResetQueryPool = (PFN_vkResetQueryPool)load(context, "vkResetQueryPool");
1123     table->vkSignalSemaphore = (PFN_vkSignalSemaphore)load(context, "vkSignalSemaphore");
1124     table->vkWaitSemaphores = (PFN_vkWaitSemaphores)load(context, "vkWaitSemaphores");
1125 #endif /* defined(VK_VERSION_1_2) */
1126 #if defined(VK_VERSION_1_3)
1127     table->vkCmdBeginRendering = (PFN_vkCmdBeginRendering)load(context, "vkCmdBeginRendering");
1128     table->vkCmdBindVertexBuffers2 = (PFN_vkCmdBindVertexBuffers2)load(context, "vkCmdBindVertexBuffers2");
1129     table->vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)load(context, "vkCmdBlitImage2");
1130     table->vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)load(context, "vkCmdCopyBuffer2");
1131     table->vkCmdCopyBufferToImage2 = (PFN_vkCmdCopyBufferToImage2)load(context, "vkCmdCopyBufferToImage2");
1132     table->vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)load(context, "vkCmdCopyImage2");
1133     table->vkCmdCopyImageToBuffer2 = (PFN_vkCmdCopyImageToBuffer2)load(context, "vkCmdCopyImageToBuffer2");
1134     table->vkCmdEndRendering = (PFN_vkCmdEndRendering)load(context, "vkCmdEndRendering");
1135     table->vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)load(context, "vkCmdPipelineBarrier2");
1136     table->vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)load(context, "vkCmdResetEvent2");
1137     table->vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)load(context, "vkCmdResolveImage2");
1138     table->vkCmdSetCullMode = (PFN_vkCmdSetCullMode)load(context, "vkCmdSetCullMode");
1139     table->vkCmdSetDepthBiasEnable = (PFN_vkCmdSetDepthBiasEnable)load(context, "vkCmdSetDepthBiasEnable");
1140     table->vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)load(context, "vkCmdSetDepthBoundsTestEnable");
1141     table->vkCmdSetDepthCompareOp = (PFN_vkCmdSetDepthCompareOp)load(context, "vkCmdSetDepthCompareOp");
1142     table->vkCmdSetDepthTestEnable = (PFN_vkCmdSetDepthTestEnable)load(context, "vkCmdSetDepthTestEnable");
1143     table->vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)load(context, "vkCmdSetDepthWriteEnable");
1144     table->vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)load(context, "vkCmdSetEvent2");
1145     table->vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)load(context, "vkCmdSetFrontFace");
1146     table->vkCmdSetPrimitiveRestartEnable = (PFN_vkCmdSetPrimitiveRestartEnable)load(context, "vkCmdSetPrimitiveRestartEnable");
1147     table->vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)load(context, "vkCmdSetPrimitiveTopology");
1148     table->vkCmdSetRasterizerDiscardEnable = (PFN_vkCmdSetRasterizerDiscardEnable)load(context, "vkCmdSetRasterizerDiscardEnable");
1149     table->vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)load(context, "vkCmdSetScissorWithCount");
1150     table->vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)load(context, "vkCmdSetStencilOp");
1151     table->vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)load(context, "vkCmdSetStencilTestEnable");
1152     table->vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)load(context, "vkCmdSetViewportWithCount");
1153     table->vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)load(context, "vkCmdWaitEvents2");
1154     table->vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)load(context, "vkCmdWriteTimestamp2");
1155     table->vkCreatePrivateDataSlot = (PFN_vkCreatePrivateDataSlot)load(context, "vkCreatePrivateDataSlot");
1156     table->vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)load(context, "vkDestroyPrivateDataSlot");
1157     table->vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)load(context, "vkGetDeviceBufferMemoryRequirements");
1158     table->vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)load(context, "vkGetDeviceImageMemoryRequirements");
1159     table->vkGetDeviceImageSparseMemoryRequirements = (PFN_vkGetDeviceImageSparseMemoryRequirements)load(context, "vkGetDeviceImageSparseMemoryRequirements");
1160     table->vkGetPrivateData = (PFN_vkGetPrivateData)load(context, "vkGetPrivateData");
1161     table->vkQueueSubmit2 = (PFN_vkQueueSubmit2)load(context, "vkQueueSubmit2");
1162     table->vkSetPrivateData = (PFN_vkSetPrivateData)load(context, "vkSetPrivateData");
1163 #endif /* defined(VK_VERSION_1_3) */
1164 #if defined(VK_AMD_buffer_marker)
1165     table->vkCmdWriteBufferMarkerAMD = (PFN_vkCmdWriteBufferMarkerAMD)load(context, "vkCmdWriteBufferMarkerAMD");
1166 #endif /* defined(VK_AMD_buffer_marker) */
1167 #if defined(VK_AMD_display_native_hdr)
1168     table->vkSetLocalDimmingAMD = (PFN_vkSetLocalDimmingAMD)load(context, "vkSetLocalDimmingAMD");
1169 #endif /* defined(VK_AMD_display_native_hdr) */
1170 #if defined(VK_AMD_draw_indirect_count)
1171     table->vkCmdDrawIndexedIndirectCountAMD = (PFN_vkCmdDrawIndexedIndirectCountAMD)load(context, "vkCmdDrawIndexedIndirectCountAMD");
1172     table->vkCmdDrawIndirectCountAMD = (PFN_vkCmdDrawIndirectCountAMD)load(context, "vkCmdDrawIndirectCountAMD");
1173 #endif /* defined(VK_AMD_draw_indirect_count) */
1174 #if defined(VK_AMD_shader_info)
1175     table->vkGetShaderInfoAMD = (PFN_vkGetShaderInfoAMD)load(context, "vkGetShaderInfoAMD");
1176 #endif /* defined(VK_AMD_shader_info) */
1177 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
1178     table->vkGetAndroidHardwareBufferPropertiesANDROID = (PFN_vkGetAndroidHardwareBufferPropertiesANDROID)load(context, "vkGetAndroidHardwareBufferPropertiesANDROID");
1179     table->vkGetMemoryAndroidHardwareBufferANDROID = (PFN_vkGetMemoryAndroidHardwareBufferANDROID)load(context, "vkGetMemoryAndroidHardwareBufferANDROID");
1180 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
1181 #if defined(VK_EXT_buffer_device_address)
1182     table->vkGetBufferDeviceAddressEXT = (PFN_vkGetBufferDeviceAddressEXT)load(context, "vkGetBufferDeviceAddressEXT");
1183 #endif /* defined(VK_EXT_buffer_device_address) */
1184 #if defined(VK_EXT_calibrated_timestamps)
1185     table->vkGetCalibratedTimestampsEXT = (PFN_vkGetCalibratedTimestampsEXT)load(context, "vkGetCalibratedTimestampsEXT");
1186 #endif /* defined(VK_EXT_calibrated_timestamps) */
1187 #if defined(VK_EXT_color_write_enable)
1188     table->vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)load(context, "vkCmdSetColorWriteEnableEXT");
1189 #endif /* defined(VK_EXT_color_write_enable) */
1190 #if defined(VK_EXT_conditional_rendering)
1191     table->vkCmdBeginConditionalRenderingEXT = (PFN_vkCmdBeginConditionalRenderingEXT)load(context, "vkCmdBeginConditionalRenderingEXT");
1192     table->vkCmdEndConditionalRenderingEXT = (PFN_vkCmdEndConditionalRenderingEXT)load(context, "vkCmdEndConditionalRenderingEXT");
1193 #endif /* defined(VK_EXT_conditional_rendering) */
1194 #if defined(VK_EXT_debug_marker)
1195     table->vkCmdDebugMarkerBeginEXT = (PFN_vkCmdDebugMarkerBeginEXT)load(context, "vkCmdDebugMarkerBeginEXT");
1196     table->vkCmdDebugMarkerEndEXT = (PFN_vkCmdDebugMarkerEndEXT)load(context, "vkCmdDebugMarkerEndEXT");
1197     table->vkCmdDebugMarkerInsertEXT = (PFN_vkCmdDebugMarkerInsertEXT)load(context, "vkCmdDebugMarkerInsertEXT");
1198     table->vkDebugMarkerSetObjectNameEXT = (PFN_vkDebugMarkerSetObjectNameEXT)load(context, "vkDebugMarkerSetObjectNameEXT");
1199     table->vkDebugMarkerSetObjectTagEXT = (PFN_vkDebugMarkerSetObjectTagEXT)load(context, "vkDebugMarkerSetObjectTagEXT");
1200 #endif /* defined(VK_EXT_debug_marker) */
1201 #if defined(VK_EXT_discard_rectangles)
1202     table->vkCmdSetDiscardRectangleEXT = (PFN_vkCmdSetDiscardRectangleEXT)load(context, "vkCmdSetDiscardRectangleEXT");
1203 #endif /* defined(VK_EXT_discard_rectangles) */
1204 #if defined(VK_EXT_display_control)
1205     table->vkDisplayPowerControlEXT = (PFN_vkDisplayPowerControlEXT)load(context, "vkDisplayPowerControlEXT");
1206     table->vkGetSwapchainCounterEXT = (PFN_vkGetSwapchainCounterEXT)load(context, "vkGetSwapchainCounterEXT");
1207     table->vkRegisterDeviceEventEXT = (PFN_vkRegisterDeviceEventEXT)load(context, "vkRegisterDeviceEventEXT");
1208     table->vkRegisterDisplayEventEXT = (PFN_vkRegisterDisplayEventEXT)load(context, "vkRegisterDisplayEventEXT");
1209 #endif /* defined(VK_EXT_display_control) */
1210 #if defined(VK_EXT_extended_dynamic_state)
1211     table->vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)load(context, "vkCmdBindVertexBuffers2EXT");
1212     table->vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)load(context, "vkCmdSetCullModeEXT");
1213     table->vkCmdSetDepthBoundsTestEnableEXT = (PFN_vkCmdSetDepthBoundsTestEnableEXT)load(context, "vkCmdSetDepthBoundsTestEnableEXT");
1214     table->vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)load(context, "vkCmdSetDepthCompareOpEXT");
1215     table->vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)load(context, "vkCmdSetDepthTestEnableEXT");
1216     table->vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)load(context, "vkCmdSetDepthWriteEnableEXT");
1217     table->vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)load(context, "vkCmdSetFrontFaceEXT");
1218     table->vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)load(context, "vkCmdSetPrimitiveTopologyEXT");
1219     table->vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)load(context, "vkCmdSetScissorWithCountEXT");
1220     table->vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)load(context, "vkCmdSetStencilOpEXT");
1221     table->vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)load(context, "vkCmdSetStencilTestEnableEXT");
1222     table->vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)load(context, "vkCmdSetViewportWithCountEXT");
1223 #endif /* defined(VK_EXT_extended_dynamic_state) */
1224 #if defined(VK_EXT_extended_dynamic_state2)
1225     table->vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)load(context, "vkCmdSetDepthBiasEnableEXT");
1226     table->vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)load(context, "vkCmdSetLogicOpEXT");
1227     table->vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)load(context, "vkCmdSetPatchControlPointsEXT");
1228     table->vkCmdSetPrimitiveRestartEnableEXT = (PFN_vkCmdSetPrimitiveRestartEnableEXT)load(context, "vkCmdSetPrimitiveRestartEnableEXT");
1229     table->vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)load(context, "vkCmdSetRasterizerDiscardEnableEXT");
1230 #endif /* defined(VK_EXT_extended_dynamic_state2) */
1231 #if defined(VK_EXT_external_memory_host)
1232     table->vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)load(context, "vkGetMemoryHostPointerPropertiesEXT");
1233 #endif /* defined(VK_EXT_external_memory_host) */
1234 #if defined(VK_EXT_full_screen_exclusive)
1235     table->vkAcquireFullScreenExclusiveModeEXT = (PFN_vkAcquireFullScreenExclusiveModeEXT)load(context, "vkAcquireFullScreenExclusiveModeEXT");
1236     table->vkReleaseFullScreenExclusiveModeEXT = (PFN_vkReleaseFullScreenExclusiveModeEXT)load(context, "vkReleaseFullScreenExclusiveModeEXT");
1237 #endif /* defined(VK_EXT_full_screen_exclusive) */
1238 #if defined(VK_EXT_hdr_metadata)
1239     table->vkSetHdrMetadataEXT = (PFN_vkSetHdrMetadataEXT)load(context, "vkSetHdrMetadataEXT");
1240 #endif /* defined(VK_EXT_hdr_metadata) */
1241 #if defined(VK_EXT_host_query_reset)
1242     table->vkResetQueryPoolEXT = (PFN_vkResetQueryPoolEXT)load(context, "vkResetQueryPoolEXT");
1243 #endif /* defined(VK_EXT_host_query_reset) */
1244 #if defined(VK_EXT_image_drm_format_modifier)
1245     table->vkGetImageDrmFormatModifierPropertiesEXT = (PFN_vkGetImageDrmFormatModifierPropertiesEXT)load(context, "vkGetImageDrmFormatModifierPropertiesEXT");
1246 #endif /* defined(VK_EXT_image_drm_format_modifier) */
1247 #if defined(VK_EXT_line_rasterization)
1248     table->vkCmdSetLineStippleEXT = (PFN_vkCmdSetLineStippleEXT)load(context, "vkCmdSetLineStippleEXT");
1249 #endif /* defined(VK_EXT_line_rasterization) */
1250 #if defined(VK_EXT_multi_draw)
1251     table->vkCmdDrawMultiEXT = (PFN_vkCmdDrawMultiEXT)load(context, "vkCmdDrawMultiEXT");
1252     table->vkCmdDrawMultiIndexedEXT = (PFN_vkCmdDrawMultiIndexedEXT)load(context, "vkCmdDrawMultiIndexedEXT");
1253 #endif /* defined(VK_EXT_multi_draw) */
1254 #if defined(VK_EXT_pageable_device_local_memory)
1255     table->vkSetDeviceMemoryPriorityEXT = (PFN_vkSetDeviceMemoryPriorityEXT)load(context, "vkSetDeviceMemoryPriorityEXT");
1256 #endif /* defined(VK_EXT_pageable_device_local_memory) */
1257 #if defined(VK_EXT_private_data)
1258     table->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)load(context, "vkCreatePrivateDataSlotEXT");
1259     table->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)load(context, "vkDestroyPrivateDataSlotEXT");
1260     table->vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)load(context, "vkGetPrivateDataEXT");
1261     table->vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)load(context, "vkSetPrivateDataEXT");
1262 #endif /* defined(VK_EXT_private_data) */
1263 #if defined(VK_EXT_sample_locations)
1264     table->vkCmdSetSampleLocationsEXT = (PFN_vkCmdSetSampleLocationsEXT)load(context, "vkCmdSetSampleLocationsEXT");
1265 #endif /* defined(VK_EXT_sample_locations) */
1266 #if defined(VK_EXT_transform_feedback)
1267     table->vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)load(context, "vkCmdBeginQueryIndexedEXT");
1268     table->vkCmdBeginTransformFeedbackEXT = (PFN_vkCmdBeginTransformFeedbackEXT)load(context, "vkCmdBeginTransformFeedbackEXT");
1269     table->vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)load(context, "vkCmdBindTransformFeedbackBuffersEXT");
1270     table->vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)load(context, "vkCmdDrawIndirectByteCountEXT");
1271     table->vkCmdEndQueryIndexedEXT = (PFN_vkCmdEndQueryIndexedEXT)load(context, "vkCmdEndQueryIndexedEXT");
1272     table->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)load(context, "vkCmdEndTransformFeedbackEXT");
1273 #endif /* defined(VK_EXT_transform_feedback) */
1274 #if defined(VK_EXT_validation_cache)
1275     table->vkCreateValidationCacheEXT = (PFN_vkCreateValidationCacheEXT)load(context, "vkCreateValidationCacheEXT");
1276     table->vkDestroyValidationCacheEXT = (PFN_vkDestroyValidationCacheEXT)load(context, "vkDestroyValidationCacheEXT");
1277     table->vkGetValidationCacheDataEXT = (PFN_vkGetValidationCacheDataEXT)load(context, "vkGetValidationCacheDataEXT");
1278     table->vkMergeValidationCachesEXT = (PFN_vkMergeValidationCachesEXT)load(context, "vkMergeValidationCachesEXT");
1279 #endif /* defined(VK_EXT_validation_cache) */
1280 #if defined(VK_EXT_vertex_input_dynamic_state)
1281     table->vkCmdSetVertexInputEXT = (PFN_vkCmdSetVertexInputEXT)load(context, "vkCmdSetVertexInputEXT");
1282 #endif /* defined(VK_EXT_vertex_input_dynamic_state) */
1283 #if defined(VK_FUCHSIA_buffer_collection)
1284     table->vkCreateBufferCollectionFUCHSIA = (PFN_vkCreateBufferCollectionFUCHSIA)load(context, "vkCreateBufferCollectionFUCHSIA");
1285     table->vkDestroyBufferCollectionFUCHSIA = (PFN_vkDestroyBufferCollectionFUCHSIA)load(context, "vkDestroyBufferCollectionFUCHSIA");
1286     table->vkGetBufferCollectionPropertiesFUCHSIA = (PFN_vkGetBufferCollectionPropertiesFUCHSIA)load(context, "vkGetBufferCollectionPropertiesFUCHSIA");
1287     table->vkSetBufferCollectionBufferConstraintsFUCHSIA = (PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA)load(context, "vkSetBufferCollectionBufferConstraintsFUCHSIA");
1288     table->vkSetBufferCollectionImageConstraintsFUCHSIA = (PFN_vkSetBufferCollectionImageConstraintsFUCHSIA)load(context, "vkSetBufferCollectionImageConstraintsFUCHSIA");
1289 #endif /* defined(VK_FUCHSIA_buffer_collection) */
1290 #if defined(VK_FUCHSIA_external_memory)
1291     table->vkGetMemoryZirconHandleFUCHSIA = (PFN_vkGetMemoryZirconHandleFUCHSIA)load(context, "vkGetMemoryZirconHandleFUCHSIA");
1292     table->vkGetMemoryZirconHandlePropertiesFUCHSIA = (PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA)load(context, "vkGetMemoryZirconHandlePropertiesFUCHSIA");
1293 #endif /* defined(VK_FUCHSIA_external_memory) */
1294 #if defined(VK_FUCHSIA_external_semaphore)
1295     table->vkGetSemaphoreZirconHandleFUCHSIA = (PFN_vkGetSemaphoreZirconHandleFUCHSIA)load(context, "vkGetSemaphoreZirconHandleFUCHSIA");
1296     table->vkImportSemaphoreZirconHandleFUCHSIA = (PFN_vkImportSemaphoreZirconHandleFUCHSIA)load(context, "vkImportSemaphoreZirconHandleFUCHSIA");
1297 #endif /* defined(VK_FUCHSIA_external_semaphore) */
1298 #if defined(VK_GOOGLE_display_timing)
1299     table->vkGetPastPresentationTimingGOOGLE = (PFN_vkGetPastPresentationTimingGOOGLE)load(context, "vkGetPastPresentationTimingGOOGLE");
1300     table->vkGetRefreshCycleDurationGOOGLE = (PFN_vkGetRefreshCycleDurationGOOGLE)load(context, "vkGetRefreshCycleDurationGOOGLE");
1301 #endif /* defined(VK_GOOGLE_display_timing) */
1302 #if defined(VK_HUAWEI_invocation_mask)
1303     table->vkCmdBindInvocationMaskHUAWEI = (PFN_vkCmdBindInvocationMaskHUAWEI)load(context, "vkCmdBindInvocationMaskHUAWEI");
1304 #endif /* defined(VK_HUAWEI_invocation_mask) */
1305 #if defined(VK_HUAWEI_subpass_shading)
1306     table->vkCmdSubpassShadingHUAWEI = (PFN_vkCmdSubpassShadingHUAWEI)load(context, "vkCmdSubpassShadingHUAWEI");
1307     table->vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI = (PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI)load(context, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI");
1308 #endif /* defined(VK_HUAWEI_subpass_shading) */
1309 #if defined(VK_INTEL_performance_query)
1310     table->vkAcquirePerformanceConfigurationINTEL = (PFN_vkAcquirePerformanceConfigurationINTEL)load(context, "vkAcquirePerformanceConfigurationINTEL");
1311     table->vkCmdSetPerformanceMarkerINTEL = (PFN_vkCmdSetPerformanceMarkerINTEL)load(context, "vkCmdSetPerformanceMarkerINTEL");
1312     table->vkCmdSetPerformanceOverrideINTEL = (PFN_vkCmdSetPerformanceOverrideINTEL)load(context, "vkCmdSetPerformanceOverrideINTEL");
1313     table->vkCmdSetPerformanceStreamMarkerINTEL = (PFN_vkCmdSetPerformanceStreamMarkerINTEL)load(context, "vkCmdSetPerformanceStreamMarkerINTEL");
1314     table->vkGetPerformanceParameterINTEL = (PFN_vkGetPerformanceParameterINTEL)load(context, "vkGetPerformanceParameterINTEL");
1315     table->vkInitializePerformanceApiINTEL = (PFN_vkInitializePerformanceApiINTEL)load(context, "vkInitializePerformanceApiINTEL");
1316     table->vkQueueSetPerformanceConfigurationINTEL = (PFN_vkQueueSetPerformanceConfigurationINTEL)load(context, "vkQueueSetPerformanceConfigurationINTEL");
1317     table->vkReleasePerformanceConfigurationINTEL = (PFN_vkReleasePerformanceConfigurationINTEL)load(context, "vkReleasePerformanceConfigurationINTEL");
1318     table->vkUninitializePerformanceApiINTEL = (PFN_vkUninitializePerformanceApiINTEL)load(context, "vkUninitializePerformanceApiINTEL");
1319 #endif /* defined(VK_INTEL_performance_query) */
1320 #if defined(VK_KHR_acceleration_structure)
1321     table->vkBuildAccelerationStructuresKHR = (PFN_vkBuildAccelerationStructuresKHR)load(context, "vkBuildAccelerationStructuresKHR");
1322     table->vkCmdBuildAccelerationStructuresIndirectKHR = (PFN_vkCmdBuildAccelerationStructuresIndirectKHR)load(context, "vkCmdBuildAccelerationStructuresIndirectKHR");
1323     table->vkCmdBuildAccelerationStructuresKHR = (PFN_vkCmdBuildAccelerationStructuresKHR)load(context, "vkCmdBuildAccelerationStructuresKHR");
1324     table->vkCmdCopyAccelerationStructureKHR = (PFN_vkCmdCopyAccelerationStructureKHR)load(context, "vkCmdCopyAccelerationStructureKHR");
1325     table->vkCmdCopyAccelerationStructureToMemoryKHR = (PFN_vkCmdCopyAccelerationStructureToMemoryKHR)load(context, "vkCmdCopyAccelerationStructureToMemoryKHR");
1326     table->vkCmdCopyMemoryToAccelerationStructureKHR = (PFN_vkCmdCopyMemoryToAccelerationStructureKHR)load(context, "vkCmdCopyMemoryToAccelerationStructureKHR");
1327     table->vkCmdWriteAccelerationStructuresPropertiesKHR = (PFN_vkCmdWriteAccelerationStructuresPropertiesKHR)load(context, "vkCmdWriteAccelerationStructuresPropertiesKHR");
1328     table->vkCopyAccelerationStructureKHR = (PFN_vkCopyAccelerationStructureKHR)load(context, "vkCopyAccelerationStructureKHR");
1329     table->vkCopyAccelerationStructureToMemoryKHR = (PFN_vkCopyAccelerationStructureToMemoryKHR)load(context, "vkCopyAccelerationStructureToMemoryKHR");
1330     table->vkCopyMemoryToAccelerationStructureKHR = (PFN_vkCopyMemoryToAccelerationStructureKHR)load(context, "vkCopyMemoryToAccelerationStructureKHR");
1331     table->vkCreateAccelerationStructureKHR = (PFN_vkCreateAccelerationStructureKHR)load(context, "vkCreateAccelerationStructureKHR");
1332     table->vkDestroyAccelerationStructureKHR = (PFN_vkDestroyAccelerationStructureKHR)load(context, "vkDestroyAccelerationStructureKHR");
1333     table->vkGetAccelerationStructureBuildSizesKHR = (PFN_vkGetAccelerationStructureBuildSizesKHR)load(context, "vkGetAccelerationStructureBuildSizesKHR");
1334     table->vkGetAccelerationStructureDeviceAddressKHR = (PFN_vkGetAccelerationStructureDeviceAddressKHR)load(context, "vkGetAccelerationStructureDeviceAddressKHR");
1335     table->vkGetDeviceAccelerationStructureCompatibilityKHR = (PFN_vkGetDeviceAccelerationStructureCompatibilityKHR)load(context, "vkGetDeviceAccelerationStructureCompatibilityKHR");
1336     table->vkWriteAccelerationStructuresPropertiesKHR = (PFN_vkWriteAccelerationStructuresPropertiesKHR)load(context, "vkWriteAccelerationStructuresPropertiesKHR");
1337 #endif /* defined(VK_KHR_acceleration_structure) */
1338 #if defined(VK_KHR_bind_memory2)
1339     table->vkBindBufferMemory2KHR = (PFN_vkBindBufferMemory2KHR)load(context, "vkBindBufferMemory2KHR");
1340     table->vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)load(context, "vkBindImageMemory2KHR");
1341 #endif /* defined(VK_KHR_bind_memory2) */
1342 #if defined(VK_KHR_buffer_device_address)
1343     table->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)load(context, "vkGetBufferDeviceAddressKHR");
1344     table->vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)load(context, "vkGetBufferOpaqueCaptureAddressKHR");
1345     table->vkGetDeviceMemoryOpaqueCaptureAddressKHR = (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)load(context, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
1346 #endif /* defined(VK_KHR_buffer_device_address) */
1347 #if defined(VK_KHR_copy_commands2)
1348     table->vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)load(context, "vkCmdBlitImage2KHR");
1349     table->vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)load(context, "vkCmdCopyBuffer2KHR");
1350     table->vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)load(context, "vkCmdCopyBufferToImage2KHR");
1351     table->vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)load(context, "vkCmdCopyImage2KHR");
1352     table->vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)load(context, "vkCmdCopyImageToBuffer2KHR");
1353     table->vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)load(context, "vkCmdResolveImage2KHR");
1354 #endif /* defined(VK_KHR_copy_commands2) */
1355 #if defined(VK_KHR_create_renderpass2)
1356     table->vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)load(context, "vkCmdBeginRenderPass2KHR");
1357     table->vkCmdEndRenderPass2KHR = (PFN_vkCmdEndRenderPass2KHR)load(context, "vkCmdEndRenderPass2KHR");
1358     table->vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)load(context, "vkCmdNextSubpass2KHR");
1359     table->vkCreateRenderPass2KHR = (PFN_vkCreateRenderPass2KHR)load(context, "vkCreateRenderPass2KHR");
1360 #endif /* defined(VK_KHR_create_renderpass2) */
1361 #if defined(VK_KHR_deferred_host_operations)
1362     table->vkCreateDeferredOperationKHR = (PFN_vkCreateDeferredOperationKHR)load(context, "vkCreateDeferredOperationKHR");
1363     table->vkDeferredOperationJoinKHR = (PFN_vkDeferredOperationJoinKHR)load(context, "vkDeferredOperationJoinKHR");
1364     table->vkDestroyDeferredOperationKHR = (PFN_vkDestroyDeferredOperationKHR)load(context, "vkDestroyDeferredOperationKHR");
1365     table->vkGetDeferredOperationMaxConcurrencyKHR = (PFN_vkGetDeferredOperationMaxConcurrencyKHR)load(context, "vkGetDeferredOperationMaxConcurrencyKHR");
1366     table->vkGetDeferredOperationResultKHR = (PFN_vkGetDeferredOperationResultKHR)load(context, "vkGetDeferredOperationResultKHR");
1367 #endif /* defined(VK_KHR_deferred_host_operations) */
1368 #if defined(VK_KHR_descriptor_update_template)
1369     table->vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)load(context, "vkCreateDescriptorUpdateTemplateKHR");
1370     table->vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)load(context, "vkDestroyDescriptorUpdateTemplateKHR");
1371     table->vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)load(context, "vkUpdateDescriptorSetWithTemplateKHR");
1372 #endif /* defined(VK_KHR_descriptor_update_template) */
1373 #if defined(VK_KHR_device_group)
1374     table->vkCmdDispatchBaseKHR = (PFN_vkCmdDispatchBaseKHR)load(context, "vkCmdDispatchBaseKHR");
1375     table->vkCmdSetDeviceMaskKHR = (PFN_vkCmdSetDeviceMaskKHR)load(context, "vkCmdSetDeviceMaskKHR");
1376     table->vkGetDeviceGroupPeerMemoryFeaturesKHR = (PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR)load(context, "vkGetDeviceGroupPeerMemoryFeaturesKHR");
1377 #endif /* defined(VK_KHR_device_group) */
1378 #if defined(VK_KHR_display_swapchain)
1379     table->vkCreateSharedSwapchainsKHR = (PFN_vkCreateSharedSwapchainsKHR)load(context, "vkCreateSharedSwapchainsKHR");
1380 #endif /* defined(VK_KHR_display_swapchain) */
1381 #if defined(VK_KHR_draw_indirect_count)
1382     table->vkCmdDrawIndexedIndirectCountKHR = (PFN_vkCmdDrawIndexedIndirectCountKHR)load(context, "vkCmdDrawIndexedIndirectCountKHR");
1383     table->vkCmdDrawIndirectCountKHR = (PFN_vkCmdDrawIndirectCountKHR)load(context, "vkCmdDrawIndirectCountKHR");
1384 #endif /* defined(VK_KHR_draw_indirect_count) */
1385 #if defined(VK_KHR_dynamic_rendering)
1386     table->vkCmdBeginRenderingKHR = (PFN_vkCmdBeginRenderingKHR)load(context, "vkCmdBeginRenderingKHR");
1387     table->vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)load(context, "vkCmdEndRenderingKHR");
1388 #endif /* defined(VK_KHR_dynamic_rendering) */
1389 #if defined(VK_KHR_external_fence_fd)
1390     table->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)load(context, "vkGetFenceFdKHR");
1391     table->vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)load(context, "vkImportFenceFdKHR");
1392 #endif /* defined(VK_KHR_external_fence_fd) */
1393 #if defined(VK_KHR_external_fence_win32)
1394     table->vkGetFenceWin32HandleKHR = (PFN_vkGetFenceWin32HandleKHR)load(context, "vkGetFenceWin32HandleKHR");
1395     table->vkImportFenceWin32HandleKHR = (PFN_vkImportFenceWin32HandleKHR)load(context, "vkImportFenceWin32HandleKHR");
1396 #endif /* defined(VK_KHR_external_fence_win32) */
1397 #if defined(VK_KHR_external_memory_fd)
1398     table->vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)load(context, "vkGetMemoryFdKHR");
1399     table->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)load(context, "vkGetMemoryFdPropertiesKHR");
1400 #endif /* defined(VK_KHR_external_memory_fd) */
1401 #if defined(VK_KHR_external_memory_win32)
1402     table->vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)load(context, "vkGetMemoryWin32HandleKHR");
1403     table->vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)load(context, "vkGetMemoryWin32HandlePropertiesKHR");
1404 #endif /* defined(VK_KHR_external_memory_win32) */
1405 #if defined(VK_KHR_external_semaphore_fd)
1406     table->vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)load(context, "vkGetSemaphoreFdKHR");
1407     table->vkImportSemaphoreFdKHR = (PFN_vkImportSemaphoreFdKHR)load(context, "vkImportSemaphoreFdKHR");
1408 #endif /* defined(VK_KHR_external_semaphore_fd) */
1409 #if defined(VK_KHR_external_semaphore_win32)
1410     table->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)load(context, "vkGetSemaphoreWin32HandleKHR");
1411     table->vkImportSemaphoreWin32HandleKHR = (PFN_vkImportSemaphoreWin32HandleKHR)load(context, "vkImportSemaphoreWin32HandleKHR");
1412 #endif /* defined(VK_KHR_external_semaphore_win32) */
1413 #if defined(VK_KHR_fragment_shading_rate)
1414     table->vkCmdSetFragmentShadingRateKHR = (PFN_vkCmdSetFragmentShadingRateKHR)load(context, "vkCmdSetFragmentShadingRateKHR");
1415 #endif /* defined(VK_KHR_fragment_shading_rate) */
1416 #if defined(VK_KHR_get_memory_requirements2)
1417     table->vkGetBufferMemoryRequirements2KHR = (PFN_vkGetBufferMemoryRequirements2KHR)load(context, "vkGetBufferMemoryRequirements2KHR");
1418     table->vkGetImageMemoryRequirements2KHR = (PFN_vkGetImageMemoryRequirements2KHR)load(context, "vkGetImageMemoryRequirements2KHR");
1419     table->vkGetImageSparseMemoryRequirements2KHR = (PFN_vkGetImageSparseMemoryRequirements2KHR)load(context, "vkGetImageSparseMemoryRequirements2KHR");
1420 #endif /* defined(VK_KHR_get_memory_requirements2) */
1421 #if defined(VK_KHR_maintenance1)
1422     table->vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)load(context, "vkTrimCommandPoolKHR");
1423 #endif /* defined(VK_KHR_maintenance1) */
1424 #if defined(VK_KHR_maintenance3)
1425     table->vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)load(context, "vkGetDescriptorSetLayoutSupportKHR");
1426 #endif /* defined(VK_KHR_maintenance3) */
1427 #if defined(VK_KHR_maintenance4)
1428     table->vkGetDeviceBufferMemoryRequirementsKHR = (PFN_vkGetDeviceBufferMemoryRequirementsKHR)load(context, "vkGetDeviceBufferMemoryRequirementsKHR");
1429     table->vkGetDeviceImageMemoryRequirementsKHR = (PFN_vkGetDeviceImageMemoryRequirementsKHR)load(context, "vkGetDeviceImageMemoryRequirementsKHR");
1430     table->vkGetDeviceImageSparseMemoryRequirementsKHR = (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)load(context, "vkGetDeviceImageSparseMemoryRequirementsKHR");
1431 #endif /* defined(VK_KHR_maintenance4) */
1432 #if defined(VK_KHR_performance_query)
1433     table->vkAcquireProfilingLockKHR = (PFN_vkAcquireProfilingLockKHR)load(context, "vkAcquireProfilingLockKHR");
1434     table->vkReleaseProfilingLockKHR = (PFN_vkReleaseProfilingLockKHR)load(context, "vkReleaseProfilingLockKHR");
1435 #endif /* defined(VK_KHR_performance_query) */
1436 #if defined(VK_KHR_pipeline_executable_properties)
1437     table->vkGetPipelineExecutableInternalRepresentationsKHR = (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)load(context, "vkGetPipelineExecutableInternalRepresentationsKHR");
1438     table->vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)load(context, "vkGetPipelineExecutablePropertiesKHR");
1439     table->vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)load(context, "vkGetPipelineExecutableStatisticsKHR");
1440 #endif /* defined(VK_KHR_pipeline_executable_properties) */
1441 #if defined(VK_KHR_present_wait)
1442     table->vkWaitForPresentKHR = (PFN_vkWaitForPresentKHR)load(context, "vkWaitForPresentKHR");
1443 #endif /* defined(VK_KHR_present_wait) */
1444 #if defined(VK_KHR_push_descriptor)
1445     table->vkCmdPushDescriptorSetKHR = (PFN_vkCmdPushDescriptorSetKHR)load(context, "vkCmdPushDescriptorSetKHR");
1446 #endif /* defined(VK_KHR_push_descriptor) */
1447 #if defined(VK_KHR_ray_tracing_pipeline)
1448     table->vkCmdSetRayTracingPipelineStackSizeKHR = (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)load(context, "vkCmdSetRayTracingPipelineStackSizeKHR");
1449     table->vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)load(context, "vkCmdTraceRaysIndirectKHR");
1450     table->vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)load(context, "vkCmdTraceRaysKHR");
1451     table->vkCreateRayTracingPipelinesKHR = (PFN_vkCreateRayTracingPipelinesKHR)load(context, "vkCreateRayTracingPipelinesKHR");
1452     table->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR = (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)load(context, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
1453     table->vkGetRayTracingShaderGroupHandlesKHR = (PFN_vkGetRayTracingShaderGroupHandlesKHR)load(context, "vkGetRayTracingShaderGroupHandlesKHR");
1454     table->vkGetRayTracingShaderGroupStackSizeKHR = (PFN_vkGetRayTracingShaderGroupStackSizeKHR)load(context, "vkGetRayTracingShaderGroupStackSizeKHR");
1455 #endif /* defined(VK_KHR_ray_tracing_pipeline) */
1456 #if defined(VK_KHR_sampler_ycbcr_conversion)
1457     table->vkCreateSamplerYcbcrConversionKHR = (PFN_vkCreateSamplerYcbcrConversionKHR)load(context, "vkCreateSamplerYcbcrConversionKHR");
1458     table->vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)load(context, "vkDestroySamplerYcbcrConversionKHR");
1459 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
1460 #if defined(VK_KHR_shared_presentable_image)
1461     table->vkGetSwapchainStatusKHR = (PFN_vkGetSwapchainStatusKHR)load(context, "vkGetSwapchainStatusKHR");
1462 #endif /* defined(VK_KHR_shared_presentable_image) */
1463 #if defined(VK_KHR_swapchain)
1464     table->vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)load(context, "vkAcquireNextImageKHR");
1465     table->vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)load(context, "vkCreateSwapchainKHR");
1466     table->vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)load(context, "vkDestroySwapchainKHR");
1467     table->vkGetSwapchainImagesKHR = (PFN_vkGetSwapchainImagesKHR)load(context, "vkGetSwapchainImagesKHR");
1468     table->vkQueuePresentKHR = (PFN_vkQueuePresentKHR)load(context, "vkQueuePresentKHR");
1469 #endif /* defined(VK_KHR_swapchain) */
1470 #if defined(VK_KHR_synchronization2)
1471     table->vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)load(context, "vkCmdPipelineBarrier2KHR");
1472     table->vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)load(context, "vkCmdResetEvent2KHR");
1473     table->vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)load(context, "vkCmdSetEvent2KHR");
1474     table->vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)load(context, "vkCmdWaitEvents2KHR");
1475     table->vkCmdWriteTimestamp2KHR = (PFN_vkCmdWriteTimestamp2KHR)load(context, "vkCmdWriteTimestamp2KHR");
1476     table->vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)load(context, "vkQueueSubmit2KHR");
1477 #endif /* defined(VK_KHR_synchronization2) */
1478 #if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
1479     table->vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)load(context, "vkCmdWriteBufferMarker2AMD");
1480 #endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
1481 #if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
1482     table->vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)load(context, "vkGetQueueCheckpointData2NV");
1483 #endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
1484 #if defined(VK_KHR_timeline_semaphore)
1485     table->vkGetSemaphoreCounterValueKHR = (PFN_vkGetSemaphoreCounterValueKHR)load(context, "vkGetSemaphoreCounterValueKHR");
1486     table->vkSignalSemaphoreKHR = (PFN_vkSignalSemaphoreKHR)load(context, "vkSignalSemaphoreKHR");
1487     table->vkWaitSemaphoresKHR = (PFN_vkWaitSemaphoresKHR)load(context, "vkWaitSemaphoresKHR");
1488 #endif /* defined(VK_KHR_timeline_semaphore) */
1489 #if defined(VK_KHR_video_decode_queue)
1490     table->vkCmdDecodeVideoKHR = (PFN_vkCmdDecodeVideoKHR)load(context, "vkCmdDecodeVideoKHR");
1491 #endif /* defined(VK_KHR_video_decode_queue) */
1492 #if defined(VK_KHR_video_encode_queue)
1493     table->vkCmdEncodeVideoKHR = (PFN_vkCmdEncodeVideoKHR)load(context, "vkCmdEncodeVideoKHR");
1494 #endif /* defined(VK_KHR_video_encode_queue) */
1495 #if defined(VK_KHR_video_queue)
1496     table->vkBindVideoSessionMemoryKHR = (PFN_vkBindVideoSessionMemoryKHR)load(context, "vkBindVideoSessionMemoryKHR");
1497     table->vkCmdBeginVideoCodingKHR = (PFN_vkCmdBeginVideoCodingKHR)load(context, "vkCmdBeginVideoCodingKHR");
1498     table->vkCmdControlVideoCodingKHR = (PFN_vkCmdControlVideoCodingKHR)load(context, "vkCmdControlVideoCodingKHR");
1499     table->vkCmdEndVideoCodingKHR = (PFN_vkCmdEndVideoCodingKHR)load(context, "vkCmdEndVideoCodingKHR");
1500     table->vkCreateVideoSessionKHR = (PFN_vkCreateVideoSessionKHR)load(context, "vkCreateVideoSessionKHR");
1501     table->vkCreateVideoSessionParametersKHR = (PFN_vkCreateVideoSessionParametersKHR)load(context, "vkCreateVideoSessionParametersKHR");
1502     table->vkDestroyVideoSessionKHR = (PFN_vkDestroyVideoSessionKHR)load(context, "vkDestroyVideoSessionKHR");
1503     table->vkDestroyVideoSessionParametersKHR = (PFN_vkDestroyVideoSessionParametersKHR)load(context, "vkDestroyVideoSessionParametersKHR");
1504     table->vkGetVideoSessionMemoryRequirementsKHR = (PFN_vkGetVideoSessionMemoryRequirementsKHR)load(context, "vkGetVideoSessionMemoryRequirementsKHR");
1505     table->vkUpdateVideoSessionParametersKHR = (PFN_vkUpdateVideoSessionParametersKHR)load(context, "vkUpdateVideoSessionParametersKHR");
1506 #endif /* defined(VK_KHR_video_queue) */
1507 #if defined(VK_NVX_binary_import)
1508     table->vkCmdCuLaunchKernelNVX = (PFN_vkCmdCuLaunchKernelNVX)load(context, "vkCmdCuLaunchKernelNVX");
1509     table->vkCreateCuFunctionNVX = (PFN_vkCreateCuFunctionNVX)load(context, "vkCreateCuFunctionNVX");
1510     table->vkCreateCuModuleNVX = (PFN_vkCreateCuModuleNVX)load(context, "vkCreateCuModuleNVX");
1511     table->vkDestroyCuFunctionNVX = (PFN_vkDestroyCuFunctionNVX)load(context, "vkDestroyCuFunctionNVX");
1512     table->vkDestroyCuModuleNVX = (PFN_vkDestroyCuModuleNVX)load(context, "vkDestroyCuModuleNVX");
1513 #endif /* defined(VK_NVX_binary_import) */
1514 #if defined(VK_NVX_image_view_handle)
1515     table->vkGetImageViewAddressNVX = (PFN_vkGetImageViewAddressNVX)load(context, "vkGetImageViewAddressNVX");
1516     table->vkGetImageViewHandleNVX = (PFN_vkGetImageViewHandleNVX)load(context, "vkGetImageViewHandleNVX");
1517 #endif /* defined(VK_NVX_image_view_handle) */
1518 #if defined(VK_NV_clip_space_w_scaling)
1519     table->vkCmdSetViewportWScalingNV = (PFN_vkCmdSetViewportWScalingNV)load(context, "vkCmdSetViewportWScalingNV");
1520 #endif /* defined(VK_NV_clip_space_w_scaling) */
1521 #if defined(VK_NV_device_diagnostic_checkpoints)
1522     table->vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)load(context, "vkCmdSetCheckpointNV");
1523     table->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)load(context, "vkGetQueueCheckpointDataNV");
1524 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
1525 #if defined(VK_NV_device_generated_commands)
1526     table->vkCmdBindPipelineShaderGroupNV = (PFN_vkCmdBindPipelineShaderGroupNV)load(context, "vkCmdBindPipelineShaderGroupNV");
1527     table->vkCmdExecuteGeneratedCommandsNV = (PFN_vkCmdExecuteGeneratedCommandsNV)load(context, "vkCmdExecuteGeneratedCommandsNV");
1528     table->vkCmdPreprocessGeneratedCommandsNV = (PFN_vkCmdPreprocessGeneratedCommandsNV)load(context, "vkCmdPreprocessGeneratedCommandsNV");
1529     table->vkCreateIndirectCommandsLayoutNV = (PFN_vkCreateIndirectCommandsLayoutNV)load(context, "vkCreateIndirectCommandsLayoutNV");
1530     table->vkDestroyIndirectCommandsLayoutNV = (PFN_vkDestroyIndirectCommandsLayoutNV)load(context, "vkDestroyIndirectCommandsLayoutNV");
1531     table->vkGetGeneratedCommandsMemoryRequirementsNV = (PFN_vkGetGeneratedCommandsMemoryRequirementsNV)load(context, "vkGetGeneratedCommandsMemoryRequirementsNV");
1532 #endif /* defined(VK_NV_device_generated_commands) */
1533 #if defined(VK_NV_external_memory_rdma)
1534     table->vkGetMemoryRemoteAddressNV = (PFN_vkGetMemoryRemoteAddressNV)load(context, "vkGetMemoryRemoteAddressNV");
1535 #endif /* defined(VK_NV_external_memory_rdma) */
1536 #if defined(VK_NV_external_memory_win32)
1537     table->vkGetMemoryWin32HandleNV = (PFN_vkGetMemoryWin32HandleNV)load(context, "vkGetMemoryWin32HandleNV");
1538 #endif /* defined(VK_NV_external_memory_win32) */
1539 #if defined(VK_NV_fragment_shading_rate_enums)
1540     table->vkCmdSetFragmentShadingRateEnumNV = (PFN_vkCmdSetFragmentShadingRateEnumNV)load(context, "vkCmdSetFragmentShadingRateEnumNV");
1541 #endif /* defined(VK_NV_fragment_shading_rate_enums) */
1542 #if defined(VK_NV_mesh_shader)
1543     table->vkCmdDrawMeshTasksIndirectCountNV = (PFN_vkCmdDrawMeshTasksIndirectCountNV)load(context, "vkCmdDrawMeshTasksIndirectCountNV");
1544     table->vkCmdDrawMeshTasksIndirectNV = (PFN_vkCmdDrawMeshTasksIndirectNV)load(context, "vkCmdDrawMeshTasksIndirectNV");
1545     table->vkCmdDrawMeshTasksNV = (PFN_vkCmdDrawMeshTasksNV)load(context, "vkCmdDrawMeshTasksNV");
1546 #endif /* defined(VK_NV_mesh_shader) */
1547 #if defined(VK_NV_ray_tracing)
1548     table->vkBindAccelerationStructureMemoryNV = (PFN_vkBindAccelerationStructureMemoryNV)load(context, "vkBindAccelerationStructureMemoryNV");
1549     table->vkCmdBuildAccelerationStructureNV = (PFN_vkCmdBuildAccelerationStructureNV)load(context, "vkCmdBuildAccelerationStructureNV");
1550     table->vkCmdCopyAccelerationStructureNV = (PFN_vkCmdCopyAccelerationStructureNV)load(context, "vkCmdCopyAccelerationStructureNV");
1551     table->vkCmdTraceRaysNV = (PFN_vkCmdTraceRaysNV)load(context, "vkCmdTraceRaysNV");
1552     table->vkCmdWriteAccelerationStructuresPropertiesNV = (PFN_vkCmdWriteAccelerationStructuresPropertiesNV)load(context, "vkCmdWriteAccelerationStructuresPropertiesNV");
1553     table->vkCompileDeferredNV = (PFN_vkCompileDeferredNV)load(context, "vkCompileDeferredNV");
1554     table->vkCreateAccelerationStructureNV = (PFN_vkCreateAccelerationStructureNV)load(context, "vkCreateAccelerationStructureNV");
1555     table->vkCreateRayTracingPipelinesNV = (PFN_vkCreateRayTracingPipelinesNV)load(context, "vkCreateRayTracingPipelinesNV");
1556     table->vkDestroyAccelerationStructureNV = (PFN_vkDestroyAccelerationStructureNV)load(context, "vkDestroyAccelerationStructureNV");
1557     table->vkGetAccelerationStructureHandleNV = (PFN_vkGetAccelerationStructureHandleNV)load(context, "vkGetAccelerationStructureHandleNV");
1558     table->vkGetAccelerationStructureMemoryRequirementsNV = (PFN_vkGetAccelerationStructureMemoryRequirementsNV)load(context, "vkGetAccelerationStructureMemoryRequirementsNV");
1559     table->vkGetRayTracingShaderGroupHandlesNV = (PFN_vkGetRayTracingShaderGroupHandlesNV)load(context, "vkGetRayTracingShaderGroupHandlesNV");
1560 #endif /* defined(VK_NV_ray_tracing) */
1561 #if defined(VK_NV_scissor_exclusive)
1562     table->vkCmdSetExclusiveScissorNV = (PFN_vkCmdSetExclusiveScissorNV)load(context, "vkCmdSetExclusiveScissorNV");
1563 #endif /* defined(VK_NV_scissor_exclusive) */
1564 #if defined(VK_NV_shading_rate_image)
1565     table->vkCmdBindShadingRateImageNV = (PFN_vkCmdBindShadingRateImageNV)load(context, "vkCmdBindShadingRateImageNV");
1566     table->vkCmdSetCoarseSampleOrderNV = (PFN_vkCmdSetCoarseSampleOrderNV)load(context, "vkCmdSetCoarseSampleOrderNV");
1567     table->vkCmdSetViewportShadingRatePaletteNV = (PFN_vkCmdSetViewportShadingRatePaletteNV)load(context, "vkCmdSetViewportShadingRatePaletteNV");
1568 #endif /* defined(VK_NV_shading_rate_image) */
1569 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
1570     table->vkGetDeviceGroupSurfacePresentModes2EXT = (PFN_vkGetDeviceGroupSurfacePresentModes2EXT)load(context, "vkGetDeviceGroupSurfacePresentModes2EXT");
1571 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
1572 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
1573     table->vkCmdPushDescriptorSetWithTemplateKHR = (PFN_vkCmdPushDescriptorSetWithTemplateKHR)load(context, "vkCmdPushDescriptorSetWithTemplateKHR");
1574 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
1575 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1576     table->vkGetDeviceGroupPresentCapabilitiesKHR = (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)load(context, "vkGetDeviceGroupPresentCapabilitiesKHR");
1577     table->vkGetDeviceGroupSurfacePresentModesKHR = (PFN_vkGetDeviceGroupSurfacePresentModesKHR)load(context, "vkGetDeviceGroupSurfacePresentModesKHR");
1578 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1579 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
1580     table->vkAcquireNextImage2KHR = (PFN_vkAcquireNextImage2KHR)load(context, "vkAcquireNextImage2KHR");
1581 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
1582     /* VOLK_GENERATE_LOAD_DEVICE_TABLE */
1583 }
1584 
1585 #ifdef __GNUC__
1586 #ifdef VOLK_DEFAULT_VISIBILITY
1587 #   pragma GCC visibility push(default)
1588 #else
1589 #   pragma GCC visibility push(hidden)
1590 #endif
1591 #endif
1592 
1593 /* VOLK_GENERATE_PROTOTYPES_C */
1594 #if defined(VK_VERSION_1_0)
1595 PFN_vkAllocateCommandBuffers vkAllocateCommandBuffers;
1596 PFN_vkAllocateDescriptorSets vkAllocateDescriptorSets;
1597 PFN_vkAllocateMemory vkAllocateMemory;
1598 PFN_vkBeginCommandBuffer vkBeginCommandBuffer;
1599 PFN_vkBindBufferMemory vkBindBufferMemory;
1600 PFN_vkBindImageMemory vkBindImageMemory;
1601 PFN_vkCmdBeginQuery vkCmdBeginQuery;
1602 PFN_vkCmdBeginRenderPass vkCmdBeginRenderPass;
1603 PFN_vkCmdBindDescriptorSets vkCmdBindDescriptorSets;
1604 PFN_vkCmdBindIndexBuffer vkCmdBindIndexBuffer;
1605 PFN_vkCmdBindPipeline vkCmdBindPipeline;
1606 PFN_vkCmdBindVertexBuffers vkCmdBindVertexBuffers;
1607 PFN_vkCmdBlitImage vkCmdBlitImage;
1608 PFN_vkCmdClearAttachments vkCmdClearAttachments;
1609 PFN_vkCmdClearColorImage vkCmdClearColorImage;
1610 PFN_vkCmdClearDepthStencilImage vkCmdClearDepthStencilImage;
1611 PFN_vkCmdCopyBuffer vkCmdCopyBuffer;
1612 PFN_vkCmdCopyBufferToImage vkCmdCopyBufferToImage;
1613 PFN_vkCmdCopyImage vkCmdCopyImage;
1614 PFN_vkCmdCopyImageToBuffer vkCmdCopyImageToBuffer;
1615 PFN_vkCmdCopyQueryPoolResults vkCmdCopyQueryPoolResults;
1616 PFN_vkCmdDispatch vkCmdDispatch;
1617 PFN_vkCmdDispatchIndirect vkCmdDispatchIndirect;
1618 PFN_vkCmdDraw vkCmdDraw;
1619 PFN_vkCmdDrawIndexed vkCmdDrawIndexed;
1620 PFN_vkCmdDrawIndexedIndirect vkCmdDrawIndexedIndirect;
1621 PFN_vkCmdDrawIndirect vkCmdDrawIndirect;
1622 PFN_vkCmdEndQuery vkCmdEndQuery;
1623 PFN_vkCmdEndRenderPass vkCmdEndRenderPass;
1624 PFN_vkCmdExecuteCommands vkCmdExecuteCommands;
1625 PFN_vkCmdFillBuffer vkCmdFillBuffer;
1626 PFN_vkCmdNextSubpass vkCmdNextSubpass;
1627 PFN_vkCmdPipelineBarrier vkCmdPipelineBarrier;
1628 PFN_vkCmdPushConstants vkCmdPushConstants;
1629 PFN_vkCmdResetEvent vkCmdResetEvent;
1630 PFN_vkCmdResetQueryPool vkCmdResetQueryPool;
1631 PFN_vkCmdResolveImage vkCmdResolveImage;
1632 PFN_vkCmdSetBlendConstants vkCmdSetBlendConstants;
1633 PFN_vkCmdSetDepthBias vkCmdSetDepthBias;
1634 PFN_vkCmdSetDepthBounds vkCmdSetDepthBounds;
1635 PFN_vkCmdSetEvent vkCmdSetEvent;
1636 PFN_vkCmdSetLineWidth vkCmdSetLineWidth;
1637 PFN_vkCmdSetScissor vkCmdSetScissor;
1638 PFN_vkCmdSetStencilCompareMask vkCmdSetStencilCompareMask;
1639 PFN_vkCmdSetStencilReference vkCmdSetStencilReference;
1640 PFN_vkCmdSetStencilWriteMask vkCmdSetStencilWriteMask;
1641 PFN_vkCmdSetViewport vkCmdSetViewport;
1642 PFN_vkCmdUpdateBuffer vkCmdUpdateBuffer;
1643 PFN_vkCmdWaitEvents vkCmdWaitEvents;
1644 PFN_vkCmdWriteTimestamp vkCmdWriteTimestamp;
1645 PFN_vkCreateBuffer vkCreateBuffer;
1646 PFN_vkCreateBufferView vkCreateBufferView;
1647 PFN_vkCreateCommandPool vkCreateCommandPool;
1648 PFN_vkCreateComputePipelines vkCreateComputePipelines;
1649 PFN_vkCreateDescriptorPool vkCreateDescriptorPool;
1650 PFN_vkCreateDescriptorSetLayout vkCreateDescriptorSetLayout;
1651 PFN_vkCreateDevice vkCreateDevice;
1652 PFN_vkCreateEvent vkCreateEvent;
1653 PFN_vkCreateFence vkCreateFence;
1654 PFN_vkCreateFramebuffer vkCreateFramebuffer;
1655 PFN_vkCreateGraphicsPipelines vkCreateGraphicsPipelines;
1656 PFN_vkCreateImage vkCreateImage;
1657 PFN_vkCreateImageView vkCreateImageView;
1658 PFN_vkCreateInstance vkCreateInstance;
1659 PFN_vkCreatePipelineCache vkCreatePipelineCache;
1660 PFN_vkCreatePipelineLayout vkCreatePipelineLayout;
1661 PFN_vkCreateQueryPool vkCreateQueryPool;
1662 PFN_vkCreateRenderPass vkCreateRenderPass;
1663 PFN_vkCreateSampler vkCreateSampler;
1664 PFN_vkCreateSemaphore vkCreateSemaphore;
1665 PFN_vkCreateShaderModule vkCreateShaderModule;
1666 PFN_vkDestroyBuffer vkDestroyBuffer;
1667 PFN_vkDestroyBufferView vkDestroyBufferView;
1668 PFN_vkDestroyCommandPool vkDestroyCommandPool;
1669 PFN_vkDestroyDescriptorPool vkDestroyDescriptorPool;
1670 PFN_vkDestroyDescriptorSetLayout vkDestroyDescriptorSetLayout;
1671 PFN_vkDestroyDevice vkDestroyDevice;
1672 PFN_vkDestroyEvent vkDestroyEvent;
1673 PFN_vkDestroyFence vkDestroyFence;
1674 PFN_vkDestroyFramebuffer vkDestroyFramebuffer;
1675 PFN_vkDestroyImage vkDestroyImage;
1676 PFN_vkDestroyImageView vkDestroyImageView;
1677 PFN_vkDestroyInstance vkDestroyInstance;
1678 PFN_vkDestroyPipeline vkDestroyPipeline;
1679 PFN_vkDestroyPipelineCache vkDestroyPipelineCache;
1680 PFN_vkDestroyPipelineLayout vkDestroyPipelineLayout;
1681 PFN_vkDestroyQueryPool vkDestroyQueryPool;
1682 PFN_vkDestroyRenderPass vkDestroyRenderPass;
1683 PFN_vkDestroySampler vkDestroySampler;
1684 PFN_vkDestroySemaphore vkDestroySemaphore;
1685 PFN_vkDestroyShaderModule vkDestroyShaderModule;
1686 PFN_vkDeviceWaitIdle vkDeviceWaitIdle;
1687 PFN_vkEndCommandBuffer vkEndCommandBuffer;
1688 PFN_vkEnumerateDeviceExtensionProperties vkEnumerateDeviceExtensionProperties;
1689 PFN_vkEnumerateDeviceLayerProperties vkEnumerateDeviceLayerProperties;
1690 PFN_vkEnumerateInstanceExtensionProperties vkEnumerateInstanceExtensionProperties;
1691 PFN_vkEnumerateInstanceLayerProperties vkEnumerateInstanceLayerProperties;
1692 PFN_vkEnumeratePhysicalDevices vkEnumeratePhysicalDevices;
1693 PFN_vkFlushMappedMemoryRanges vkFlushMappedMemoryRanges;
1694 PFN_vkFreeCommandBuffers vkFreeCommandBuffers;
1695 PFN_vkFreeDescriptorSets vkFreeDescriptorSets;
1696 PFN_vkFreeMemory vkFreeMemory;
1697 PFN_vkGetBufferMemoryRequirements vkGetBufferMemoryRequirements;
1698 PFN_vkGetDeviceMemoryCommitment vkGetDeviceMemoryCommitment;
1699 PFN_vkGetDeviceProcAddr vkGetDeviceProcAddr;
1700 PFN_vkGetDeviceQueue vkGetDeviceQueue;
1701 PFN_vkGetEventStatus vkGetEventStatus;
1702 PFN_vkGetFenceStatus vkGetFenceStatus;
1703 PFN_vkGetImageMemoryRequirements vkGetImageMemoryRequirements;
1704 PFN_vkGetImageSparseMemoryRequirements vkGetImageSparseMemoryRequirements;
1705 PFN_vkGetImageSubresourceLayout vkGetImageSubresourceLayout;
1706 PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr;
1707 PFN_vkGetPhysicalDeviceFeatures vkGetPhysicalDeviceFeatures;
1708 PFN_vkGetPhysicalDeviceFormatProperties vkGetPhysicalDeviceFormatProperties;
1709 PFN_vkGetPhysicalDeviceImageFormatProperties vkGetPhysicalDeviceImageFormatProperties;
1710 PFN_vkGetPhysicalDeviceMemoryProperties vkGetPhysicalDeviceMemoryProperties;
1711 PFN_vkGetPhysicalDeviceProperties vkGetPhysicalDeviceProperties;
1712 PFN_vkGetPhysicalDeviceQueueFamilyProperties vkGetPhysicalDeviceQueueFamilyProperties;
1713 PFN_vkGetPhysicalDeviceSparseImageFormatProperties vkGetPhysicalDeviceSparseImageFormatProperties;
1714 PFN_vkGetPipelineCacheData vkGetPipelineCacheData;
1715 PFN_vkGetQueryPoolResults vkGetQueryPoolResults;
1716 PFN_vkGetRenderAreaGranularity vkGetRenderAreaGranularity;
1717 PFN_vkInvalidateMappedMemoryRanges vkInvalidateMappedMemoryRanges;
1718 PFN_vkMapMemory vkMapMemory;
1719 PFN_vkMergePipelineCaches vkMergePipelineCaches;
1720 PFN_vkQueueBindSparse vkQueueBindSparse;
1721 PFN_vkQueueSubmit vkQueueSubmit;
1722 PFN_vkQueueWaitIdle vkQueueWaitIdle;
1723 PFN_vkResetCommandBuffer vkResetCommandBuffer;
1724 PFN_vkResetCommandPool vkResetCommandPool;
1725 PFN_vkResetDescriptorPool vkResetDescriptorPool;
1726 PFN_vkResetEvent vkResetEvent;
1727 PFN_vkResetFences vkResetFences;
1728 PFN_vkSetEvent vkSetEvent;
1729 PFN_vkUnmapMemory vkUnmapMemory;
1730 PFN_vkUpdateDescriptorSets vkUpdateDescriptorSets;
1731 PFN_vkWaitForFences vkWaitForFences;
1732 #endif /* defined(VK_VERSION_1_0) */
1733 #if defined(VK_VERSION_1_1)
1734 PFN_vkBindBufferMemory2 vkBindBufferMemory2;
1735 PFN_vkBindImageMemory2 vkBindImageMemory2;
1736 PFN_vkCmdDispatchBase vkCmdDispatchBase;
1737 PFN_vkCmdSetDeviceMask vkCmdSetDeviceMask;
1738 PFN_vkCreateDescriptorUpdateTemplate vkCreateDescriptorUpdateTemplate;
1739 PFN_vkCreateSamplerYcbcrConversion vkCreateSamplerYcbcrConversion;
1740 PFN_vkDestroyDescriptorUpdateTemplate vkDestroyDescriptorUpdateTemplate;
1741 PFN_vkDestroySamplerYcbcrConversion vkDestroySamplerYcbcrConversion;
1742 PFN_vkEnumerateInstanceVersion vkEnumerateInstanceVersion;
1743 PFN_vkEnumeratePhysicalDeviceGroups vkEnumeratePhysicalDeviceGroups;
1744 PFN_vkGetBufferMemoryRequirements2 vkGetBufferMemoryRequirements2;
1745 PFN_vkGetDescriptorSetLayoutSupport vkGetDescriptorSetLayoutSupport;
1746 PFN_vkGetDeviceGroupPeerMemoryFeatures vkGetDeviceGroupPeerMemoryFeatures;
1747 PFN_vkGetDeviceQueue2 vkGetDeviceQueue2;
1748 PFN_vkGetImageMemoryRequirements2 vkGetImageMemoryRequirements2;
1749 PFN_vkGetImageSparseMemoryRequirements2 vkGetImageSparseMemoryRequirements2;
1750 PFN_vkGetPhysicalDeviceExternalBufferProperties vkGetPhysicalDeviceExternalBufferProperties;
1751 PFN_vkGetPhysicalDeviceExternalFenceProperties vkGetPhysicalDeviceExternalFenceProperties;
1752 PFN_vkGetPhysicalDeviceExternalSemaphoreProperties vkGetPhysicalDeviceExternalSemaphoreProperties;
1753 PFN_vkGetPhysicalDeviceFeatures2 vkGetPhysicalDeviceFeatures2;
1754 PFN_vkGetPhysicalDeviceFormatProperties2 vkGetPhysicalDeviceFormatProperties2;
1755 PFN_vkGetPhysicalDeviceImageFormatProperties2 vkGetPhysicalDeviceImageFormatProperties2;
1756 PFN_vkGetPhysicalDeviceMemoryProperties2 vkGetPhysicalDeviceMemoryProperties2;
1757 PFN_vkGetPhysicalDeviceProperties2 vkGetPhysicalDeviceProperties2;
1758 PFN_vkGetPhysicalDeviceQueueFamilyProperties2 vkGetPhysicalDeviceQueueFamilyProperties2;
1759 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 vkGetPhysicalDeviceSparseImageFormatProperties2;
1760 PFN_vkTrimCommandPool vkTrimCommandPool;
1761 PFN_vkUpdateDescriptorSetWithTemplate vkUpdateDescriptorSetWithTemplate;
1762 #endif /* defined(VK_VERSION_1_1) */
1763 #if defined(VK_VERSION_1_2)
1764 PFN_vkCmdBeginRenderPass2 vkCmdBeginRenderPass2;
1765 PFN_vkCmdDrawIndexedIndirectCount vkCmdDrawIndexedIndirectCount;
1766 PFN_vkCmdDrawIndirectCount vkCmdDrawIndirectCount;
1767 PFN_vkCmdEndRenderPass2 vkCmdEndRenderPass2;
1768 PFN_vkCmdNextSubpass2 vkCmdNextSubpass2;
1769 PFN_vkCreateRenderPass2 vkCreateRenderPass2;
1770 PFN_vkGetBufferDeviceAddress vkGetBufferDeviceAddress;
1771 PFN_vkGetBufferOpaqueCaptureAddress vkGetBufferOpaqueCaptureAddress;
1772 PFN_vkGetDeviceMemoryOpaqueCaptureAddress vkGetDeviceMemoryOpaqueCaptureAddress;
1773 PFN_vkGetSemaphoreCounterValue vkGetSemaphoreCounterValue;
1774 PFN_vkResetQueryPool vkResetQueryPool;
1775 PFN_vkSignalSemaphore vkSignalSemaphore;
1776 PFN_vkWaitSemaphores vkWaitSemaphores;
1777 #endif /* defined(VK_VERSION_1_2) */
1778 #if defined(VK_VERSION_1_3)
1779 PFN_vkCmdBeginRendering vkCmdBeginRendering;
1780 PFN_vkCmdBindVertexBuffers2 vkCmdBindVertexBuffers2;
1781 PFN_vkCmdBlitImage2 vkCmdBlitImage2;
1782 PFN_vkCmdCopyBuffer2 vkCmdCopyBuffer2;
1783 PFN_vkCmdCopyBufferToImage2 vkCmdCopyBufferToImage2;
1784 PFN_vkCmdCopyImage2 vkCmdCopyImage2;
1785 PFN_vkCmdCopyImageToBuffer2 vkCmdCopyImageToBuffer2;
1786 PFN_vkCmdEndRendering vkCmdEndRendering;
1787 PFN_vkCmdPipelineBarrier2 vkCmdPipelineBarrier2;
1788 PFN_vkCmdResetEvent2 vkCmdResetEvent2;
1789 PFN_vkCmdResolveImage2 vkCmdResolveImage2;
1790 PFN_vkCmdSetCullMode vkCmdSetCullMode;
1791 PFN_vkCmdSetDepthBiasEnable vkCmdSetDepthBiasEnable;
1792 PFN_vkCmdSetDepthBoundsTestEnable vkCmdSetDepthBoundsTestEnable;
1793 PFN_vkCmdSetDepthCompareOp vkCmdSetDepthCompareOp;
1794 PFN_vkCmdSetDepthTestEnable vkCmdSetDepthTestEnable;
1795 PFN_vkCmdSetDepthWriteEnable vkCmdSetDepthWriteEnable;
1796 PFN_vkCmdSetEvent2 vkCmdSetEvent2;
1797 PFN_vkCmdSetFrontFace vkCmdSetFrontFace;
1798 PFN_vkCmdSetPrimitiveRestartEnable vkCmdSetPrimitiveRestartEnable;
1799 PFN_vkCmdSetPrimitiveTopology vkCmdSetPrimitiveTopology;
1800 PFN_vkCmdSetRasterizerDiscardEnable vkCmdSetRasterizerDiscardEnable;
1801 PFN_vkCmdSetScissorWithCount vkCmdSetScissorWithCount;
1802 PFN_vkCmdSetStencilOp vkCmdSetStencilOp;
1803 PFN_vkCmdSetStencilTestEnable vkCmdSetStencilTestEnable;
1804 PFN_vkCmdSetViewportWithCount vkCmdSetViewportWithCount;
1805 PFN_vkCmdWaitEvents2 vkCmdWaitEvents2;
1806 PFN_vkCmdWriteTimestamp2 vkCmdWriteTimestamp2;
1807 PFN_vkCreatePrivateDataSlot vkCreatePrivateDataSlot;
1808 PFN_vkDestroyPrivateDataSlot vkDestroyPrivateDataSlot;
1809 PFN_vkGetDeviceBufferMemoryRequirements vkGetDeviceBufferMemoryRequirements;
1810 PFN_vkGetDeviceImageMemoryRequirements vkGetDeviceImageMemoryRequirements;
1811 PFN_vkGetDeviceImageSparseMemoryRequirements vkGetDeviceImageSparseMemoryRequirements;
1812 PFN_vkGetPhysicalDeviceToolProperties vkGetPhysicalDeviceToolProperties;
1813 PFN_vkGetPrivateData vkGetPrivateData;
1814 PFN_vkQueueSubmit2 vkQueueSubmit2;
1815 PFN_vkSetPrivateData vkSetPrivateData;
1816 #endif /* defined(VK_VERSION_1_3) */
1817 #if defined(VK_AMD_buffer_marker)
1818 PFN_vkCmdWriteBufferMarkerAMD vkCmdWriteBufferMarkerAMD;
1819 #endif /* defined(VK_AMD_buffer_marker) */
1820 #if defined(VK_AMD_display_native_hdr)
1821 PFN_vkSetLocalDimmingAMD vkSetLocalDimmingAMD;
1822 #endif /* defined(VK_AMD_display_native_hdr) */
1823 #if defined(VK_AMD_draw_indirect_count)
1824 PFN_vkCmdDrawIndexedIndirectCountAMD vkCmdDrawIndexedIndirectCountAMD;
1825 PFN_vkCmdDrawIndirectCountAMD vkCmdDrawIndirectCountAMD;
1826 #endif /* defined(VK_AMD_draw_indirect_count) */
1827 #if defined(VK_AMD_shader_info)
1828 PFN_vkGetShaderInfoAMD vkGetShaderInfoAMD;
1829 #endif /* defined(VK_AMD_shader_info) */
1830 #if defined(VK_ANDROID_external_memory_android_hardware_buffer)
1831 PFN_vkGetAndroidHardwareBufferPropertiesANDROID vkGetAndroidHardwareBufferPropertiesANDROID;
1832 PFN_vkGetMemoryAndroidHardwareBufferANDROID vkGetMemoryAndroidHardwareBufferANDROID;
1833 #endif /* defined(VK_ANDROID_external_memory_android_hardware_buffer) */
1834 #if defined(VK_EXT_acquire_drm_display)
1835 PFN_vkAcquireDrmDisplayEXT vkAcquireDrmDisplayEXT;
1836 PFN_vkGetDrmDisplayEXT vkGetDrmDisplayEXT;
1837 #endif /* defined(VK_EXT_acquire_drm_display) */
1838 #if defined(VK_EXT_acquire_xlib_display)
1839 PFN_vkAcquireXlibDisplayEXT vkAcquireXlibDisplayEXT;
1840 PFN_vkGetRandROutputDisplayEXT vkGetRandROutputDisplayEXT;
1841 #endif /* defined(VK_EXT_acquire_xlib_display) */
1842 #if defined(VK_EXT_buffer_device_address)
1843 PFN_vkGetBufferDeviceAddressEXT vkGetBufferDeviceAddressEXT;
1844 #endif /* defined(VK_EXT_buffer_device_address) */
1845 #if defined(VK_EXT_calibrated_timestamps)
1846 PFN_vkGetCalibratedTimestampsEXT vkGetCalibratedTimestampsEXT;
1847 PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT vkGetPhysicalDeviceCalibrateableTimeDomainsEXT;
1848 #endif /* defined(VK_EXT_calibrated_timestamps) */
1849 #if defined(VK_EXT_color_write_enable)
1850 PFN_vkCmdSetColorWriteEnableEXT vkCmdSetColorWriteEnableEXT;
1851 #endif /* defined(VK_EXT_color_write_enable) */
1852 #if defined(VK_EXT_conditional_rendering)
1853 PFN_vkCmdBeginConditionalRenderingEXT vkCmdBeginConditionalRenderingEXT;
1854 PFN_vkCmdEndConditionalRenderingEXT vkCmdEndConditionalRenderingEXT;
1855 #endif /* defined(VK_EXT_conditional_rendering) */
1856 #if defined(VK_EXT_debug_marker)
1857 PFN_vkCmdDebugMarkerBeginEXT vkCmdDebugMarkerBeginEXT;
1858 PFN_vkCmdDebugMarkerEndEXT vkCmdDebugMarkerEndEXT;
1859 PFN_vkCmdDebugMarkerInsertEXT vkCmdDebugMarkerInsertEXT;
1860 PFN_vkDebugMarkerSetObjectNameEXT vkDebugMarkerSetObjectNameEXT;
1861 PFN_vkDebugMarkerSetObjectTagEXT vkDebugMarkerSetObjectTagEXT;
1862 #endif /* defined(VK_EXT_debug_marker) */
1863 #if defined(VK_EXT_debug_report)
1864 PFN_vkCreateDebugReportCallbackEXT vkCreateDebugReportCallbackEXT;
1865 PFN_vkDebugReportMessageEXT vkDebugReportMessageEXT;
1866 PFN_vkDestroyDebugReportCallbackEXT vkDestroyDebugReportCallbackEXT;
1867 #endif /* defined(VK_EXT_debug_report) */
1868 #if defined(VK_EXT_debug_utils)
1869 PFN_vkCmdBeginDebugUtilsLabelEXT vkCmdBeginDebugUtilsLabelEXT;
1870 PFN_vkCmdEndDebugUtilsLabelEXT vkCmdEndDebugUtilsLabelEXT;
1871 PFN_vkCmdInsertDebugUtilsLabelEXT vkCmdInsertDebugUtilsLabelEXT;
1872 PFN_vkCreateDebugUtilsMessengerEXT vkCreateDebugUtilsMessengerEXT;
1873 PFN_vkDestroyDebugUtilsMessengerEXT vkDestroyDebugUtilsMessengerEXT;
1874 PFN_vkQueueBeginDebugUtilsLabelEXT vkQueueBeginDebugUtilsLabelEXT;
1875 PFN_vkQueueEndDebugUtilsLabelEXT vkQueueEndDebugUtilsLabelEXT;
1876 PFN_vkQueueInsertDebugUtilsLabelEXT vkQueueInsertDebugUtilsLabelEXT;
1877 PFN_vkSetDebugUtilsObjectNameEXT vkSetDebugUtilsObjectNameEXT;
1878 PFN_vkSetDebugUtilsObjectTagEXT vkSetDebugUtilsObjectTagEXT;
1879 PFN_vkSubmitDebugUtilsMessageEXT vkSubmitDebugUtilsMessageEXT;
1880 #endif /* defined(VK_EXT_debug_utils) */
1881 #if defined(VK_EXT_direct_mode_display)
1882 PFN_vkReleaseDisplayEXT vkReleaseDisplayEXT;
1883 #endif /* defined(VK_EXT_direct_mode_display) */
1884 #if defined(VK_EXT_directfb_surface)
1885 PFN_vkCreateDirectFBSurfaceEXT vkCreateDirectFBSurfaceEXT;
1886 PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT vkGetPhysicalDeviceDirectFBPresentationSupportEXT;
1887 #endif /* defined(VK_EXT_directfb_surface) */
1888 #if defined(VK_EXT_discard_rectangles)
1889 PFN_vkCmdSetDiscardRectangleEXT vkCmdSetDiscardRectangleEXT;
1890 #endif /* defined(VK_EXT_discard_rectangles) */
1891 #if defined(VK_EXT_display_control)
1892 PFN_vkDisplayPowerControlEXT vkDisplayPowerControlEXT;
1893 PFN_vkGetSwapchainCounterEXT vkGetSwapchainCounterEXT;
1894 PFN_vkRegisterDeviceEventEXT vkRegisterDeviceEventEXT;
1895 PFN_vkRegisterDisplayEventEXT vkRegisterDisplayEventEXT;
1896 #endif /* defined(VK_EXT_display_control) */
1897 #if defined(VK_EXT_display_surface_counter)
1898 PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT vkGetPhysicalDeviceSurfaceCapabilities2EXT;
1899 #endif /* defined(VK_EXT_display_surface_counter) */
1900 #if defined(VK_EXT_extended_dynamic_state)
1901 PFN_vkCmdBindVertexBuffers2EXT vkCmdBindVertexBuffers2EXT;
1902 PFN_vkCmdSetCullModeEXT vkCmdSetCullModeEXT;
1903 PFN_vkCmdSetDepthBoundsTestEnableEXT vkCmdSetDepthBoundsTestEnableEXT;
1904 PFN_vkCmdSetDepthCompareOpEXT vkCmdSetDepthCompareOpEXT;
1905 PFN_vkCmdSetDepthTestEnableEXT vkCmdSetDepthTestEnableEXT;
1906 PFN_vkCmdSetDepthWriteEnableEXT vkCmdSetDepthWriteEnableEXT;
1907 PFN_vkCmdSetFrontFaceEXT vkCmdSetFrontFaceEXT;
1908 PFN_vkCmdSetPrimitiveTopologyEXT vkCmdSetPrimitiveTopologyEXT;
1909 PFN_vkCmdSetScissorWithCountEXT vkCmdSetScissorWithCountEXT;
1910 PFN_vkCmdSetStencilOpEXT vkCmdSetStencilOpEXT;
1911 PFN_vkCmdSetStencilTestEnableEXT vkCmdSetStencilTestEnableEXT;
1912 PFN_vkCmdSetViewportWithCountEXT vkCmdSetViewportWithCountEXT;
1913 #endif /* defined(VK_EXT_extended_dynamic_state) */
1914 #if defined(VK_EXT_extended_dynamic_state2)
1915 PFN_vkCmdSetDepthBiasEnableEXT vkCmdSetDepthBiasEnableEXT;
1916 PFN_vkCmdSetLogicOpEXT vkCmdSetLogicOpEXT;
1917 PFN_vkCmdSetPatchControlPointsEXT vkCmdSetPatchControlPointsEXT;
1918 PFN_vkCmdSetPrimitiveRestartEnableEXT vkCmdSetPrimitiveRestartEnableEXT;
1919 PFN_vkCmdSetRasterizerDiscardEnableEXT vkCmdSetRasterizerDiscardEnableEXT;
1920 #endif /* defined(VK_EXT_extended_dynamic_state2) */
1921 #if defined(VK_EXT_external_memory_host)
1922 PFN_vkGetMemoryHostPointerPropertiesEXT vkGetMemoryHostPointerPropertiesEXT;
1923 #endif /* defined(VK_EXT_external_memory_host) */
1924 #if defined(VK_EXT_full_screen_exclusive)
1925 PFN_vkAcquireFullScreenExclusiveModeEXT vkAcquireFullScreenExclusiveModeEXT;
1926 PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT vkGetPhysicalDeviceSurfacePresentModes2EXT;
1927 PFN_vkReleaseFullScreenExclusiveModeEXT vkReleaseFullScreenExclusiveModeEXT;
1928 #endif /* defined(VK_EXT_full_screen_exclusive) */
1929 #if defined(VK_EXT_hdr_metadata)
1930 PFN_vkSetHdrMetadataEXT vkSetHdrMetadataEXT;
1931 #endif /* defined(VK_EXT_hdr_metadata) */
1932 #if defined(VK_EXT_headless_surface)
1933 PFN_vkCreateHeadlessSurfaceEXT vkCreateHeadlessSurfaceEXT;
1934 #endif /* defined(VK_EXT_headless_surface) */
1935 #if defined(VK_EXT_host_query_reset)
1936 PFN_vkResetQueryPoolEXT vkResetQueryPoolEXT;
1937 #endif /* defined(VK_EXT_host_query_reset) */
1938 #if defined(VK_EXT_image_drm_format_modifier)
1939 PFN_vkGetImageDrmFormatModifierPropertiesEXT vkGetImageDrmFormatModifierPropertiesEXT;
1940 #endif /* defined(VK_EXT_image_drm_format_modifier) */
1941 #if defined(VK_EXT_line_rasterization)
1942 PFN_vkCmdSetLineStippleEXT vkCmdSetLineStippleEXT;
1943 #endif /* defined(VK_EXT_line_rasterization) */
1944 #if defined(VK_EXT_metal_surface)
1945 PFN_vkCreateMetalSurfaceEXT vkCreateMetalSurfaceEXT;
1946 #endif /* defined(VK_EXT_metal_surface) */
1947 #if defined(VK_EXT_multi_draw)
1948 PFN_vkCmdDrawMultiEXT vkCmdDrawMultiEXT;
1949 PFN_vkCmdDrawMultiIndexedEXT vkCmdDrawMultiIndexedEXT;
1950 #endif /* defined(VK_EXT_multi_draw) */
1951 #if defined(VK_EXT_pageable_device_local_memory)
1952 PFN_vkSetDeviceMemoryPriorityEXT vkSetDeviceMemoryPriorityEXT;
1953 #endif /* defined(VK_EXT_pageable_device_local_memory) */
1954 #if defined(VK_EXT_private_data)
1955 PFN_vkCreatePrivateDataSlotEXT vkCreatePrivateDataSlotEXT;
1956 PFN_vkDestroyPrivateDataSlotEXT vkDestroyPrivateDataSlotEXT;
1957 PFN_vkGetPrivateDataEXT vkGetPrivateDataEXT;
1958 PFN_vkSetPrivateDataEXT vkSetPrivateDataEXT;
1959 #endif /* defined(VK_EXT_private_data) */
1960 #if defined(VK_EXT_sample_locations)
1961 PFN_vkCmdSetSampleLocationsEXT vkCmdSetSampleLocationsEXT;
1962 PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT vkGetPhysicalDeviceMultisamplePropertiesEXT;
1963 #endif /* defined(VK_EXT_sample_locations) */
1964 #if defined(VK_EXT_tooling_info)
1965 PFN_vkGetPhysicalDeviceToolPropertiesEXT vkGetPhysicalDeviceToolPropertiesEXT;
1966 #endif /* defined(VK_EXT_tooling_info) */
1967 #if defined(VK_EXT_transform_feedback)
1968 PFN_vkCmdBeginQueryIndexedEXT vkCmdBeginQueryIndexedEXT;
1969 PFN_vkCmdBeginTransformFeedbackEXT vkCmdBeginTransformFeedbackEXT;
1970 PFN_vkCmdBindTransformFeedbackBuffersEXT vkCmdBindTransformFeedbackBuffersEXT;
1971 PFN_vkCmdDrawIndirectByteCountEXT vkCmdDrawIndirectByteCountEXT;
1972 PFN_vkCmdEndQueryIndexedEXT vkCmdEndQueryIndexedEXT;
1973 PFN_vkCmdEndTransformFeedbackEXT vkCmdEndTransformFeedbackEXT;
1974 #endif /* defined(VK_EXT_transform_feedback) */
1975 #if defined(VK_EXT_validation_cache)
1976 PFN_vkCreateValidationCacheEXT vkCreateValidationCacheEXT;
1977 PFN_vkDestroyValidationCacheEXT vkDestroyValidationCacheEXT;
1978 PFN_vkGetValidationCacheDataEXT vkGetValidationCacheDataEXT;
1979 PFN_vkMergeValidationCachesEXT vkMergeValidationCachesEXT;
1980 #endif /* defined(VK_EXT_validation_cache) */
1981 #if defined(VK_EXT_vertex_input_dynamic_state)
1982 PFN_vkCmdSetVertexInputEXT vkCmdSetVertexInputEXT;
1983 #endif /* defined(VK_EXT_vertex_input_dynamic_state) */
1984 #if defined(VK_FUCHSIA_buffer_collection)
1985 PFN_vkCreateBufferCollectionFUCHSIA vkCreateBufferCollectionFUCHSIA;
1986 PFN_vkDestroyBufferCollectionFUCHSIA vkDestroyBufferCollectionFUCHSIA;
1987 PFN_vkGetBufferCollectionPropertiesFUCHSIA vkGetBufferCollectionPropertiesFUCHSIA;
1988 PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA vkSetBufferCollectionBufferConstraintsFUCHSIA;
1989 PFN_vkSetBufferCollectionImageConstraintsFUCHSIA vkSetBufferCollectionImageConstraintsFUCHSIA;
1990 #endif /* defined(VK_FUCHSIA_buffer_collection) */
1991 #if defined(VK_FUCHSIA_external_memory)
1992 PFN_vkGetMemoryZirconHandleFUCHSIA vkGetMemoryZirconHandleFUCHSIA;
1993 PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA vkGetMemoryZirconHandlePropertiesFUCHSIA;
1994 #endif /* defined(VK_FUCHSIA_external_memory) */
1995 #if defined(VK_FUCHSIA_external_semaphore)
1996 PFN_vkGetSemaphoreZirconHandleFUCHSIA vkGetSemaphoreZirconHandleFUCHSIA;
1997 PFN_vkImportSemaphoreZirconHandleFUCHSIA vkImportSemaphoreZirconHandleFUCHSIA;
1998 #endif /* defined(VK_FUCHSIA_external_semaphore) */
1999 #if defined(VK_FUCHSIA_imagepipe_surface)
2000 PFN_vkCreateImagePipeSurfaceFUCHSIA vkCreateImagePipeSurfaceFUCHSIA;
2001 #endif /* defined(VK_FUCHSIA_imagepipe_surface) */
2002 #if defined(VK_GGP_stream_descriptor_surface)
2003 PFN_vkCreateStreamDescriptorSurfaceGGP vkCreateStreamDescriptorSurfaceGGP;
2004 #endif /* defined(VK_GGP_stream_descriptor_surface) */
2005 #if defined(VK_GOOGLE_display_timing)
2006 PFN_vkGetPastPresentationTimingGOOGLE vkGetPastPresentationTimingGOOGLE;
2007 PFN_vkGetRefreshCycleDurationGOOGLE vkGetRefreshCycleDurationGOOGLE;
2008 #endif /* defined(VK_GOOGLE_display_timing) */
2009 #if defined(VK_HUAWEI_invocation_mask)
2010 PFN_vkCmdBindInvocationMaskHUAWEI vkCmdBindInvocationMaskHUAWEI;
2011 #endif /* defined(VK_HUAWEI_invocation_mask) */
2012 #if defined(VK_HUAWEI_subpass_shading)
2013 PFN_vkCmdSubpassShadingHUAWEI vkCmdSubpassShadingHUAWEI;
2014 PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
2015 #endif /* defined(VK_HUAWEI_subpass_shading) */
2016 #if defined(VK_INTEL_performance_query)
2017 PFN_vkAcquirePerformanceConfigurationINTEL vkAcquirePerformanceConfigurationINTEL;
2018 PFN_vkCmdSetPerformanceMarkerINTEL vkCmdSetPerformanceMarkerINTEL;
2019 PFN_vkCmdSetPerformanceOverrideINTEL vkCmdSetPerformanceOverrideINTEL;
2020 PFN_vkCmdSetPerformanceStreamMarkerINTEL vkCmdSetPerformanceStreamMarkerINTEL;
2021 PFN_vkGetPerformanceParameterINTEL vkGetPerformanceParameterINTEL;
2022 PFN_vkInitializePerformanceApiINTEL vkInitializePerformanceApiINTEL;
2023 PFN_vkQueueSetPerformanceConfigurationINTEL vkQueueSetPerformanceConfigurationINTEL;
2024 PFN_vkReleasePerformanceConfigurationINTEL vkReleasePerformanceConfigurationINTEL;
2025 PFN_vkUninitializePerformanceApiINTEL vkUninitializePerformanceApiINTEL;
2026 #endif /* defined(VK_INTEL_performance_query) */
2027 #if defined(VK_KHR_acceleration_structure)
2028 PFN_vkBuildAccelerationStructuresKHR vkBuildAccelerationStructuresKHR;
2029 PFN_vkCmdBuildAccelerationStructuresIndirectKHR vkCmdBuildAccelerationStructuresIndirectKHR;
2030 PFN_vkCmdBuildAccelerationStructuresKHR vkCmdBuildAccelerationStructuresKHR;
2031 PFN_vkCmdCopyAccelerationStructureKHR vkCmdCopyAccelerationStructureKHR;
2032 PFN_vkCmdCopyAccelerationStructureToMemoryKHR vkCmdCopyAccelerationStructureToMemoryKHR;
2033 PFN_vkCmdCopyMemoryToAccelerationStructureKHR vkCmdCopyMemoryToAccelerationStructureKHR;
2034 PFN_vkCmdWriteAccelerationStructuresPropertiesKHR vkCmdWriteAccelerationStructuresPropertiesKHR;
2035 PFN_vkCopyAccelerationStructureKHR vkCopyAccelerationStructureKHR;
2036 PFN_vkCopyAccelerationStructureToMemoryKHR vkCopyAccelerationStructureToMemoryKHR;
2037 PFN_vkCopyMemoryToAccelerationStructureKHR vkCopyMemoryToAccelerationStructureKHR;
2038 PFN_vkCreateAccelerationStructureKHR vkCreateAccelerationStructureKHR;
2039 PFN_vkDestroyAccelerationStructureKHR vkDestroyAccelerationStructureKHR;
2040 PFN_vkGetAccelerationStructureBuildSizesKHR vkGetAccelerationStructureBuildSizesKHR;
2041 PFN_vkGetAccelerationStructureDeviceAddressKHR vkGetAccelerationStructureDeviceAddressKHR;
2042 PFN_vkGetDeviceAccelerationStructureCompatibilityKHR vkGetDeviceAccelerationStructureCompatibilityKHR;
2043 PFN_vkWriteAccelerationStructuresPropertiesKHR vkWriteAccelerationStructuresPropertiesKHR;
2044 #endif /* defined(VK_KHR_acceleration_structure) */
2045 #if defined(VK_KHR_android_surface)
2046 PFN_vkCreateAndroidSurfaceKHR vkCreateAndroidSurfaceKHR;
2047 #endif /* defined(VK_KHR_android_surface) */
2048 #if defined(VK_KHR_bind_memory2)
2049 PFN_vkBindBufferMemory2KHR vkBindBufferMemory2KHR;
2050 PFN_vkBindImageMemory2KHR vkBindImageMemory2KHR;
2051 #endif /* defined(VK_KHR_bind_memory2) */
2052 #if defined(VK_KHR_buffer_device_address)
2053 PFN_vkGetBufferDeviceAddressKHR vkGetBufferDeviceAddressKHR;
2054 PFN_vkGetBufferOpaqueCaptureAddressKHR vkGetBufferOpaqueCaptureAddressKHR;
2055 PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR vkGetDeviceMemoryOpaqueCaptureAddressKHR;
2056 #endif /* defined(VK_KHR_buffer_device_address) */
2057 #if defined(VK_KHR_copy_commands2)
2058 PFN_vkCmdBlitImage2KHR vkCmdBlitImage2KHR;
2059 PFN_vkCmdCopyBuffer2KHR vkCmdCopyBuffer2KHR;
2060 PFN_vkCmdCopyBufferToImage2KHR vkCmdCopyBufferToImage2KHR;
2061 PFN_vkCmdCopyImage2KHR vkCmdCopyImage2KHR;
2062 PFN_vkCmdCopyImageToBuffer2KHR vkCmdCopyImageToBuffer2KHR;
2063 PFN_vkCmdResolveImage2KHR vkCmdResolveImage2KHR;
2064 #endif /* defined(VK_KHR_copy_commands2) */
2065 #if defined(VK_KHR_create_renderpass2)
2066 PFN_vkCmdBeginRenderPass2KHR vkCmdBeginRenderPass2KHR;
2067 PFN_vkCmdEndRenderPass2KHR vkCmdEndRenderPass2KHR;
2068 PFN_vkCmdNextSubpass2KHR vkCmdNextSubpass2KHR;
2069 PFN_vkCreateRenderPass2KHR vkCreateRenderPass2KHR;
2070 #endif /* defined(VK_KHR_create_renderpass2) */
2071 #if defined(VK_KHR_deferred_host_operations)
2072 PFN_vkCreateDeferredOperationKHR vkCreateDeferredOperationKHR;
2073 PFN_vkDeferredOperationJoinKHR vkDeferredOperationJoinKHR;
2074 PFN_vkDestroyDeferredOperationKHR vkDestroyDeferredOperationKHR;
2075 PFN_vkGetDeferredOperationMaxConcurrencyKHR vkGetDeferredOperationMaxConcurrencyKHR;
2076 PFN_vkGetDeferredOperationResultKHR vkGetDeferredOperationResultKHR;
2077 #endif /* defined(VK_KHR_deferred_host_operations) */
2078 #if defined(VK_KHR_descriptor_update_template)
2079 PFN_vkCreateDescriptorUpdateTemplateKHR vkCreateDescriptorUpdateTemplateKHR;
2080 PFN_vkDestroyDescriptorUpdateTemplateKHR vkDestroyDescriptorUpdateTemplateKHR;
2081 PFN_vkUpdateDescriptorSetWithTemplateKHR vkUpdateDescriptorSetWithTemplateKHR;
2082 #endif /* defined(VK_KHR_descriptor_update_template) */
2083 #if defined(VK_KHR_device_group)
2084 PFN_vkCmdDispatchBaseKHR vkCmdDispatchBaseKHR;
2085 PFN_vkCmdSetDeviceMaskKHR vkCmdSetDeviceMaskKHR;
2086 PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR vkGetDeviceGroupPeerMemoryFeaturesKHR;
2087 #endif /* defined(VK_KHR_device_group) */
2088 #if defined(VK_KHR_device_group_creation)
2089 PFN_vkEnumeratePhysicalDeviceGroupsKHR vkEnumeratePhysicalDeviceGroupsKHR;
2090 #endif /* defined(VK_KHR_device_group_creation) */
2091 #if defined(VK_KHR_display)
2092 PFN_vkCreateDisplayModeKHR vkCreateDisplayModeKHR;
2093 PFN_vkCreateDisplayPlaneSurfaceKHR vkCreateDisplayPlaneSurfaceKHR;
2094 PFN_vkGetDisplayModePropertiesKHR vkGetDisplayModePropertiesKHR;
2095 PFN_vkGetDisplayPlaneCapabilitiesKHR vkGetDisplayPlaneCapabilitiesKHR;
2096 PFN_vkGetDisplayPlaneSupportedDisplaysKHR vkGetDisplayPlaneSupportedDisplaysKHR;
2097 PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR vkGetPhysicalDeviceDisplayPlanePropertiesKHR;
2098 PFN_vkGetPhysicalDeviceDisplayPropertiesKHR vkGetPhysicalDeviceDisplayPropertiesKHR;
2099 #endif /* defined(VK_KHR_display) */
2100 #if defined(VK_KHR_display_swapchain)
2101 PFN_vkCreateSharedSwapchainsKHR vkCreateSharedSwapchainsKHR;
2102 #endif /* defined(VK_KHR_display_swapchain) */
2103 #if defined(VK_KHR_draw_indirect_count)
2104 PFN_vkCmdDrawIndexedIndirectCountKHR vkCmdDrawIndexedIndirectCountKHR;
2105 PFN_vkCmdDrawIndirectCountKHR vkCmdDrawIndirectCountKHR;
2106 #endif /* defined(VK_KHR_draw_indirect_count) */
2107 #if defined(VK_KHR_dynamic_rendering)
2108 PFN_vkCmdBeginRenderingKHR vkCmdBeginRenderingKHR;
2109 PFN_vkCmdEndRenderingKHR vkCmdEndRenderingKHR;
2110 #endif /* defined(VK_KHR_dynamic_rendering) */
2111 #if defined(VK_KHR_external_fence_capabilities)
2112 PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR vkGetPhysicalDeviceExternalFencePropertiesKHR;
2113 #endif /* defined(VK_KHR_external_fence_capabilities) */
2114 #if defined(VK_KHR_external_fence_fd)
2115 PFN_vkGetFenceFdKHR vkGetFenceFdKHR;
2116 PFN_vkImportFenceFdKHR vkImportFenceFdKHR;
2117 #endif /* defined(VK_KHR_external_fence_fd) */
2118 #if defined(VK_KHR_external_fence_win32)
2119 PFN_vkGetFenceWin32HandleKHR vkGetFenceWin32HandleKHR;
2120 PFN_vkImportFenceWin32HandleKHR vkImportFenceWin32HandleKHR;
2121 #endif /* defined(VK_KHR_external_fence_win32) */
2122 #if defined(VK_KHR_external_memory_capabilities)
2123 PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR vkGetPhysicalDeviceExternalBufferPropertiesKHR;
2124 #endif /* defined(VK_KHR_external_memory_capabilities) */
2125 #if defined(VK_KHR_external_memory_fd)
2126 PFN_vkGetMemoryFdKHR vkGetMemoryFdKHR;
2127 PFN_vkGetMemoryFdPropertiesKHR vkGetMemoryFdPropertiesKHR;
2128 #endif /* defined(VK_KHR_external_memory_fd) */
2129 #if defined(VK_KHR_external_memory_win32)
2130 PFN_vkGetMemoryWin32HandleKHR vkGetMemoryWin32HandleKHR;
2131 PFN_vkGetMemoryWin32HandlePropertiesKHR vkGetMemoryWin32HandlePropertiesKHR;
2132 #endif /* defined(VK_KHR_external_memory_win32) */
2133 #if defined(VK_KHR_external_semaphore_capabilities)
2134 PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR vkGetPhysicalDeviceExternalSemaphorePropertiesKHR;
2135 #endif /* defined(VK_KHR_external_semaphore_capabilities) */
2136 #if defined(VK_KHR_external_semaphore_fd)
2137 PFN_vkGetSemaphoreFdKHR vkGetSemaphoreFdKHR;
2138 PFN_vkImportSemaphoreFdKHR vkImportSemaphoreFdKHR;
2139 #endif /* defined(VK_KHR_external_semaphore_fd) */
2140 #if defined(VK_KHR_external_semaphore_win32)
2141 PFN_vkGetSemaphoreWin32HandleKHR vkGetSemaphoreWin32HandleKHR;
2142 PFN_vkImportSemaphoreWin32HandleKHR vkImportSemaphoreWin32HandleKHR;
2143 #endif /* defined(VK_KHR_external_semaphore_win32) */
2144 #if defined(VK_KHR_fragment_shading_rate)
2145 PFN_vkCmdSetFragmentShadingRateKHR vkCmdSetFragmentShadingRateKHR;
2146 PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR vkGetPhysicalDeviceFragmentShadingRatesKHR;
2147 #endif /* defined(VK_KHR_fragment_shading_rate) */
2148 #if defined(VK_KHR_get_display_properties2)
2149 PFN_vkGetDisplayModeProperties2KHR vkGetDisplayModeProperties2KHR;
2150 PFN_vkGetDisplayPlaneCapabilities2KHR vkGetDisplayPlaneCapabilities2KHR;
2151 PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR vkGetPhysicalDeviceDisplayPlaneProperties2KHR;
2152 PFN_vkGetPhysicalDeviceDisplayProperties2KHR vkGetPhysicalDeviceDisplayProperties2KHR;
2153 #endif /* defined(VK_KHR_get_display_properties2) */
2154 #if defined(VK_KHR_get_memory_requirements2)
2155 PFN_vkGetBufferMemoryRequirements2KHR vkGetBufferMemoryRequirements2KHR;
2156 PFN_vkGetImageMemoryRequirements2KHR vkGetImageMemoryRequirements2KHR;
2157 PFN_vkGetImageSparseMemoryRequirements2KHR vkGetImageSparseMemoryRequirements2KHR;
2158 #endif /* defined(VK_KHR_get_memory_requirements2) */
2159 #if defined(VK_KHR_get_physical_device_properties2)
2160 PFN_vkGetPhysicalDeviceFeatures2KHR vkGetPhysicalDeviceFeatures2KHR;
2161 PFN_vkGetPhysicalDeviceFormatProperties2KHR vkGetPhysicalDeviceFormatProperties2KHR;
2162 PFN_vkGetPhysicalDeviceImageFormatProperties2KHR vkGetPhysicalDeviceImageFormatProperties2KHR;
2163 PFN_vkGetPhysicalDeviceMemoryProperties2KHR vkGetPhysicalDeviceMemoryProperties2KHR;
2164 PFN_vkGetPhysicalDeviceProperties2KHR vkGetPhysicalDeviceProperties2KHR;
2165 PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR vkGetPhysicalDeviceQueueFamilyProperties2KHR;
2166 PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR vkGetPhysicalDeviceSparseImageFormatProperties2KHR;
2167 #endif /* defined(VK_KHR_get_physical_device_properties2) */
2168 #if defined(VK_KHR_get_surface_capabilities2)
2169 PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR vkGetPhysicalDeviceSurfaceCapabilities2KHR;
2170 PFN_vkGetPhysicalDeviceSurfaceFormats2KHR vkGetPhysicalDeviceSurfaceFormats2KHR;
2171 #endif /* defined(VK_KHR_get_surface_capabilities2) */
2172 #if defined(VK_KHR_maintenance1)
2173 PFN_vkTrimCommandPoolKHR vkTrimCommandPoolKHR;
2174 #endif /* defined(VK_KHR_maintenance1) */
2175 #if defined(VK_KHR_maintenance3)
2176 PFN_vkGetDescriptorSetLayoutSupportKHR vkGetDescriptorSetLayoutSupportKHR;
2177 #endif /* defined(VK_KHR_maintenance3) */
2178 #if defined(VK_KHR_maintenance4)
2179 PFN_vkGetDeviceBufferMemoryRequirementsKHR vkGetDeviceBufferMemoryRequirementsKHR;
2180 PFN_vkGetDeviceImageMemoryRequirementsKHR vkGetDeviceImageMemoryRequirementsKHR;
2181 PFN_vkGetDeviceImageSparseMemoryRequirementsKHR vkGetDeviceImageSparseMemoryRequirementsKHR;
2182 #endif /* defined(VK_KHR_maintenance4) */
2183 #if defined(VK_KHR_performance_query)
2184 PFN_vkAcquireProfilingLockKHR vkAcquireProfilingLockKHR;
2185 PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
2186 PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
2187 PFN_vkReleaseProfilingLockKHR vkReleaseProfilingLockKHR;
2188 #endif /* defined(VK_KHR_performance_query) */
2189 #if defined(VK_KHR_pipeline_executable_properties)
2190 PFN_vkGetPipelineExecutableInternalRepresentationsKHR vkGetPipelineExecutableInternalRepresentationsKHR;
2191 PFN_vkGetPipelineExecutablePropertiesKHR vkGetPipelineExecutablePropertiesKHR;
2192 PFN_vkGetPipelineExecutableStatisticsKHR vkGetPipelineExecutableStatisticsKHR;
2193 #endif /* defined(VK_KHR_pipeline_executable_properties) */
2194 #if defined(VK_KHR_present_wait)
2195 PFN_vkWaitForPresentKHR vkWaitForPresentKHR;
2196 #endif /* defined(VK_KHR_present_wait) */
2197 #if defined(VK_KHR_push_descriptor)
2198 PFN_vkCmdPushDescriptorSetKHR vkCmdPushDescriptorSetKHR;
2199 #endif /* defined(VK_KHR_push_descriptor) */
2200 #if defined(VK_KHR_ray_tracing_pipeline)
2201 PFN_vkCmdSetRayTracingPipelineStackSizeKHR vkCmdSetRayTracingPipelineStackSizeKHR;
2202 PFN_vkCmdTraceRaysIndirectKHR vkCmdTraceRaysIndirectKHR;
2203 PFN_vkCmdTraceRaysKHR vkCmdTraceRaysKHR;
2204 PFN_vkCreateRayTracingPipelinesKHR vkCreateRayTracingPipelinesKHR;
2205 PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
2206 PFN_vkGetRayTracingShaderGroupHandlesKHR vkGetRayTracingShaderGroupHandlesKHR;
2207 PFN_vkGetRayTracingShaderGroupStackSizeKHR vkGetRayTracingShaderGroupStackSizeKHR;
2208 #endif /* defined(VK_KHR_ray_tracing_pipeline) */
2209 #if defined(VK_KHR_sampler_ycbcr_conversion)
2210 PFN_vkCreateSamplerYcbcrConversionKHR vkCreateSamplerYcbcrConversionKHR;
2211 PFN_vkDestroySamplerYcbcrConversionKHR vkDestroySamplerYcbcrConversionKHR;
2212 #endif /* defined(VK_KHR_sampler_ycbcr_conversion) */
2213 #if defined(VK_KHR_shared_presentable_image)
2214 PFN_vkGetSwapchainStatusKHR vkGetSwapchainStatusKHR;
2215 #endif /* defined(VK_KHR_shared_presentable_image) */
2216 #if defined(VK_KHR_surface)
2217 PFN_vkDestroySurfaceKHR vkDestroySurfaceKHR;
2218 PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR vkGetPhysicalDeviceSurfaceCapabilitiesKHR;
2219 PFN_vkGetPhysicalDeviceSurfaceFormatsKHR vkGetPhysicalDeviceSurfaceFormatsKHR;
2220 PFN_vkGetPhysicalDeviceSurfacePresentModesKHR vkGetPhysicalDeviceSurfacePresentModesKHR;
2221 PFN_vkGetPhysicalDeviceSurfaceSupportKHR vkGetPhysicalDeviceSurfaceSupportKHR;
2222 #endif /* defined(VK_KHR_surface) */
2223 #if defined(VK_KHR_swapchain)
2224 PFN_vkAcquireNextImageKHR vkAcquireNextImageKHR;
2225 PFN_vkCreateSwapchainKHR vkCreateSwapchainKHR;
2226 PFN_vkDestroySwapchainKHR vkDestroySwapchainKHR;
2227 PFN_vkGetSwapchainImagesKHR vkGetSwapchainImagesKHR;
2228 PFN_vkQueuePresentKHR vkQueuePresentKHR;
2229 #endif /* defined(VK_KHR_swapchain) */
2230 #if defined(VK_KHR_synchronization2)
2231 PFN_vkCmdPipelineBarrier2KHR vkCmdPipelineBarrier2KHR;
2232 PFN_vkCmdResetEvent2KHR vkCmdResetEvent2KHR;
2233 PFN_vkCmdSetEvent2KHR vkCmdSetEvent2KHR;
2234 PFN_vkCmdWaitEvents2KHR vkCmdWaitEvents2KHR;
2235 PFN_vkCmdWriteTimestamp2KHR vkCmdWriteTimestamp2KHR;
2236 PFN_vkQueueSubmit2KHR vkQueueSubmit2KHR;
2237 #endif /* defined(VK_KHR_synchronization2) */
2238 #if defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker)
2239 PFN_vkCmdWriteBufferMarker2AMD vkCmdWriteBufferMarker2AMD;
2240 #endif /* defined(VK_KHR_synchronization2) && defined(VK_AMD_buffer_marker) */
2241 #if defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints)
2242 PFN_vkGetQueueCheckpointData2NV vkGetQueueCheckpointData2NV;
2243 #endif /* defined(VK_KHR_synchronization2) && defined(VK_NV_device_diagnostic_checkpoints) */
2244 #if defined(VK_KHR_timeline_semaphore)
2245 PFN_vkGetSemaphoreCounterValueKHR vkGetSemaphoreCounterValueKHR;
2246 PFN_vkSignalSemaphoreKHR vkSignalSemaphoreKHR;
2247 PFN_vkWaitSemaphoresKHR vkWaitSemaphoresKHR;
2248 #endif /* defined(VK_KHR_timeline_semaphore) */
2249 #if defined(VK_KHR_video_decode_queue)
2250 PFN_vkCmdDecodeVideoKHR vkCmdDecodeVideoKHR;
2251 #endif /* defined(VK_KHR_video_decode_queue) */
2252 #if defined(VK_KHR_video_encode_queue)
2253 PFN_vkCmdEncodeVideoKHR vkCmdEncodeVideoKHR;
2254 #endif /* defined(VK_KHR_video_encode_queue) */
2255 #if defined(VK_KHR_video_queue)
2256 PFN_vkBindVideoSessionMemoryKHR vkBindVideoSessionMemoryKHR;
2257 PFN_vkCmdBeginVideoCodingKHR vkCmdBeginVideoCodingKHR;
2258 PFN_vkCmdControlVideoCodingKHR vkCmdControlVideoCodingKHR;
2259 PFN_vkCmdEndVideoCodingKHR vkCmdEndVideoCodingKHR;
2260 PFN_vkCreateVideoSessionKHR vkCreateVideoSessionKHR;
2261 PFN_vkCreateVideoSessionParametersKHR vkCreateVideoSessionParametersKHR;
2262 PFN_vkDestroyVideoSessionKHR vkDestroyVideoSessionKHR;
2263 PFN_vkDestroyVideoSessionParametersKHR vkDestroyVideoSessionParametersKHR;
2264 PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR vkGetPhysicalDeviceVideoCapabilitiesKHR;
2265 PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR vkGetPhysicalDeviceVideoFormatPropertiesKHR;
2266 PFN_vkGetVideoSessionMemoryRequirementsKHR vkGetVideoSessionMemoryRequirementsKHR;
2267 PFN_vkUpdateVideoSessionParametersKHR vkUpdateVideoSessionParametersKHR;
2268 #endif /* defined(VK_KHR_video_queue) */
2269 #if defined(VK_KHR_wayland_surface)
2270 PFN_vkCreateWaylandSurfaceKHR vkCreateWaylandSurfaceKHR;
2271 PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR vkGetPhysicalDeviceWaylandPresentationSupportKHR;
2272 #endif /* defined(VK_KHR_wayland_surface) */
2273 #if defined(VK_KHR_win32_surface)
2274 PFN_vkCreateWin32SurfaceKHR vkCreateWin32SurfaceKHR;
2275 PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR vkGetPhysicalDeviceWin32PresentationSupportKHR;
2276 #endif /* defined(VK_KHR_win32_surface) */
2277 #if defined(VK_KHR_xcb_surface)
2278 PFN_vkCreateXcbSurfaceKHR vkCreateXcbSurfaceKHR;
2279 PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR vkGetPhysicalDeviceXcbPresentationSupportKHR;
2280 #endif /* defined(VK_KHR_xcb_surface) */
2281 #if defined(VK_KHR_xlib_surface)
2282 PFN_vkCreateXlibSurfaceKHR vkCreateXlibSurfaceKHR;
2283 PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR vkGetPhysicalDeviceXlibPresentationSupportKHR;
2284 #endif /* defined(VK_KHR_xlib_surface) */
2285 #if defined(VK_MVK_ios_surface)
2286 PFN_vkCreateIOSSurfaceMVK vkCreateIOSSurfaceMVK;
2287 #endif /* defined(VK_MVK_ios_surface) */
2288 #if defined(VK_MVK_macos_surface)
2289 PFN_vkCreateMacOSSurfaceMVK vkCreateMacOSSurfaceMVK;
2290 #endif /* defined(VK_MVK_macos_surface) */
2291 #if defined(VK_NN_vi_surface)
2292 PFN_vkCreateViSurfaceNN vkCreateViSurfaceNN;
2293 #endif /* defined(VK_NN_vi_surface) */
2294 #if defined(VK_NVX_binary_import)
2295 PFN_vkCmdCuLaunchKernelNVX vkCmdCuLaunchKernelNVX;
2296 PFN_vkCreateCuFunctionNVX vkCreateCuFunctionNVX;
2297 PFN_vkCreateCuModuleNVX vkCreateCuModuleNVX;
2298 PFN_vkDestroyCuFunctionNVX vkDestroyCuFunctionNVX;
2299 PFN_vkDestroyCuModuleNVX vkDestroyCuModuleNVX;
2300 #endif /* defined(VK_NVX_binary_import) */
2301 #if defined(VK_NVX_image_view_handle)
2302 PFN_vkGetImageViewAddressNVX vkGetImageViewAddressNVX;
2303 PFN_vkGetImageViewHandleNVX vkGetImageViewHandleNVX;
2304 #endif /* defined(VK_NVX_image_view_handle) */
2305 #if defined(VK_NV_acquire_winrt_display)
2306 PFN_vkAcquireWinrtDisplayNV vkAcquireWinrtDisplayNV;
2307 PFN_vkGetWinrtDisplayNV vkGetWinrtDisplayNV;
2308 #endif /* defined(VK_NV_acquire_winrt_display) */
2309 #if defined(VK_NV_clip_space_w_scaling)
2310 PFN_vkCmdSetViewportWScalingNV vkCmdSetViewportWScalingNV;
2311 #endif /* defined(VK_NV_clip_space_w_scaling) */
2312 #if defined(VK_NV_cooperative_matrix)
2313 PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV vkGetPhysicalDeviceCooperativeMatrixPropertiesNV;
2314 #endif /* defined(VK_NV_cooperative_matrix) */
2315 #if defined(VK_NV_coverage_reduction_mode)
2316 PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
2317 #endif /* defined(VK_NV_coverage_reduction_mode) */
2318 #if defined(VK_NV_device_diagnostic_checkpoints)
2319 PFN_vkCmdSetCheckpointNV vkCmdSetCheckpointNV;
2320 PFN_vkGetQueueCheckpointDataNV vkGetQueueCheckpointDataNV;
2321 #endif /* defined(VK_NV_device_diagnostic_checkpoints) */
2322 #if defined(VK_NV_device_generated_commands)
2323 PFN_vkCmdBindPipelineShaderGroupNV vkCmdBindPipelineShaderGroupNV;
2324 PFN_vkCmdExecuteGeneratedCommandsNV vkCmdExecuteGeneratedCommandsNV;
2325 PFN_vkCmdPreprocessGeneratedCommandsNV vkCmdPreprocessGeneratedCommandsNV;
2326 PFN_vkCreateIndirectCommandsLayoutNV vkCreateIndirectCommandsLayoutNV;
2327 PFN_vkDestroyIndirectCommandsLayoutNV vkDestroyIndirectCommandsLayoutNV;
2328 PFN_vkGetGeneratedCommandsMemoryRequirementsNV vkGetGeneratedCommandsMemoryRequirementsNV;
2329 #endif /* defined(VK_NV_device_generated_commands) */
2330 #if defined(VK_NV_external_memory_capabilities)
2331 PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV vkGetPhysicalDeviceExternalImageFormatPropertiesNV;
2332 #endif /* defined(VK_NV_external_memory_capabilities) */
2333 #if defined(VK_NV_external_memory_rdma)
2334 PFN_vkGetMemoryRemoteAddressNV vkGetMemoryRemoteAddressNV;
2335 #endif /* defined(VK_NV_external_memory_rdma) */
2336 #if defined(VK_NV_external_memory_win32)
2337 PFN_vkGetMemoryWin32HandleNV vkGetMemoryWin32HandleNV;
2338 #endif /* defined(VK_NV_external_memory_win32) */
2339 #if defined(VK_NV_fragment_shading_rate_enums)
2340 PFN_vkCmdSetFragmentShadingRateEnumNV vkCmdSetFragmentShadingRateEnumNV;
2341 #endif /* defined(VK_NV_fragment_shading_rate_enums) */
2342 #if defined(VK_NV_mesh_shader)
2343 PFN_vkCmdDrawMeshTasksIndirectCountNV vkCmdDrawMeshTasksIndirectCountNV;
2344 PFN_vkCmdDrawMeshTasksIndirectNV vkCmdDrawMeshTasksIndirectNV;
2345 PFN_vkCmdDrawMeshTasksNV vkCmdDrawMeshTasksNV;
2346 #endif /* defined(VK_NV_mesh_shader) */
2347 #if defined(VK_NV_ray_tracing)
2348 PFN_vkBindAccelerationStructureMemoryNV vkBindAccelerationStructureMemoryNV;
2349 PFN_vkCmdBuildAccelerationStructureNV vkCmdBuildAccelerationStructureNV;
2350 PFN_vkCmdCopyAccelerationStructureNV vkCmdCopyAccelerationStructureNV;
2351 PFN_vkCmdTraceRaysNV vkCmdTraceRaysNV;
2352 PFN_vkCmdWriteAccelerationStructuresPropertiesNV vkCmdWriteAccelerationStructuresPropertiesNV;
2353 PFN_vkCompileDeferredNV vkCompileDeferredNV;
2354 PFN_vkCreateAccelerationStructureNV vkCreateAccelerationStructureNV;
2355 PFN_vkCreateRayTracingPipelinesNV vkCreateRayTracingPipelinesNV;
2356 PFN_vkDestroyAccelerationStructureNV vkDestroyAccelerationStructureNV;
2357 PFN_vkGetAccelerationStructureHandleNV vkGetAccelerationStructureHandleNV;
2358 PFN_vkGetAccelerationStructureMemoryRequirementsNV vkGetAccelerationStructureMemoryRequirementsNV;
2359 PFN_vkGetRayTracingShaderGroupHandlesNV vkGetRayTracingShaderGroupHandlesNV;
2360 #endif /* defined(VK_NV_ray_tracing) */
2361 #if defined(VK_NV_scissor_exclusive)
2362 PFN_vkCmdSetExclusiveScissorNV vkCmdSetExclusiveScissorNV;
2363 #endif /* defined(VK_NV_scissor_exclusive) */
2364 #if defined(VK_NV_shading_rate_image)
2365 PFN_vkCmdBindShadingRateImageNV vkCmdBindShadingRateImageNV;
2366 PFN_vkCmdSetCoarseSampleOrderNV vkCmdSetCoarseSampleOrderNV;
2367 PFN_vkCmdSetViewportShadingRatePaletteNV vkCmdSetViewportShadingRatePaletteNV;
2368 #endif /* defined(VK_NV_shading_rate_image) */
2369 #if defined(VK_QNX_screen_surface)
2370 PFN_vkCreateScreenSurfaceQNX vkCreateScreenSurfaceQNX;
2371 PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX vkGetPhysicalDeviceScreenPresentationSupportQNX;
2372 #endif /* defined(VK_QNX_screen_surface) */
2373 #if (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1))
2374 PFN_vkGetDeviceGroupSurfacePresentModes2EXT vkGetDeviceGroupSurfacePresentModes2EXT;
2375 #endif /* (defined(VK_EXT_full_screen_exclusive) && defined(VK_KHR_device_group)) || (defined(VK_EXT_full_screen_exclusive) && defined(VK_VERSION_1_1)) */
2376 #if (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template))
2377 PFN_vkCmdPushDescriptorSetWithTemplateKHR vkCmdPushDescriptorSetWithTemplateKHR;
2378 #endif /* (defined(VK_KHR_descriptor_update_template) && defined(VK_KHR_push_descriptor)) || (defined(VK_KHR_push_descriptor) && defined(VK_VERSION_1_1)) || (defined(VK_KHR_push_descriptor) && defined(VK_KHR_descriptor_update_template)) */
2379 #if (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
2380 PFN_vkGetDeviceGroupPresentCapabilitiesKHR vkGetDeviceGroupPresentCapabilitiesKHR;
2381 PFN_vkGetDeviceGroupSurfacePresentModesKHR vkGetDeviceGroupSurfacePresentModesKHR;
2382 PFN_vkGetPhysicalDevicePresentRectanglesKHR vkGetPhysicalDevicePresentRectanglesKHR;
2383 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_surface)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
2384 #if (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1))
2385 PFN_vkAcquireNextImage2KHR vkAcquireNextImage2KHR;
2386 #endif /* (defined(VK_KHR_device_group) && defined(VK_KHR_swapchain)) || (defined(VK_KHR_swapchain) && defined(VK_VERSION_1_1)) */
2387 /* VOLK_GENERATE_PROTOTYPES_C */
2388 
2389 #ifdef __GNUC__
2390 #   pragma GCC visibility pop
2391 #endif
2392 
2393 #ifdef __cplusplus
2394 }
2395 #endif
2396 /* clang-format on */
2397