• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // *** THIS FILE IS GENERATED - DO NOT EDIT ***
2 // See loader_extension_generator.py for modifications
3 
4 /*
5  * Copyright (c) 2015-2022 The Khronos Group Inc.
6  * Copyright (c) 2015-2022 Valve Corporation
7  * Copyright (c) 2015-2022 LunarG, Inc.
8  * Copyright (c) 2021-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
9  * Copyright (c) 2023-2023 RasterGrid Kft.
10  *
11  * Licensed under the Apache License, Version 2.0 (the "License");
12  * you may not use this file except in compliance with the License.
13  * You may obtain a copy of the License at
14  *
15  *     http://www.apache.org/licenses/LICENSE-2.0
16  *
17  * Unless required by applicable law or agreed to in writing, software
18  * distributed under the License is distributed on an "AS IS" BASIS,
19  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20  * See the License for the specific language governing permissions and
21  * limitations under the License.
22  *
23  * Author: Mark Lobodzinski <mark@lunarg.com>
24  * Author: Mark Young <marky@lunarg.com>
25  */
26 
27 // clang-format off
28 #pragma once
29 
30 #include <vulkan/vulkan.h>
31 
32 #if !defined(PFN_GetPhysicalDeviceProcAddr)
33 typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
34 #endif
35 
36 // Instance function pointer dispatch table
37 typedef struct VkLayerInstanceDispatchTable_ {
38     // Manually add in GetPhysicalDeviceProcAddr entry
39     PFN_GetPhysicalDeviceProcAddr GetPhysicalDeviceProcAddr;
40 
41     // ---- Core Vulkan 1.0 commands
42     PFN_vkCreateInstance CreateInstance;
43     PFN_vkDestroyInstance DestroyInstance;
44     PFN_vkEnumeratePhysicalDevices EnumeratePhysicalDevices;
45     PFN_vkGetPhysicalDeviceFeatures GetPhysicalDeviceFeatures;
46     PFN_vkGetPhysicalDeviceFormatProperties GetPhysicalDeviceFormatProperties;
47     PFN_vkGetPhysicalDeviceImageFormatProperties GetPhysicalDeviceImageFormatProperties;
48     PFN_vkGetPhysicalDeviceProperties GetPhysicalDeviceProperties;
49     PFN_vkGetPhysicalDeviceQueueFamilyProperties GetPhysicalDeviceQueueFamilyProperties;
50     PFN_vkGetPhysicalDeviceMemoryProperties GetPhysicalDeviceMemoryProperties;
51     PFN_vkGetInstanceProcAddr GetInstanceProcAddr;
52     PFN_vkCreateDevice CreateDevice;
53     PFN_vkEnumerateInstanceExtensionProperties EnumerateInstanceExtensionProperties;
54     PFN_vkEnumerateDeviceExtensionProperties EnumerateDeviceExtensionProperties;
55     PFN_vkEnumerateInstanceLayerProperties EnumerateInstanceLayerProperties;
56     PFN_vkEnumerateDeviceLayerProperties EnumerateDeviceLayerProperties;
57     PFN_vkGetPhysicalDeviceSparseImageFormatProperties GetPhysicalDeviceSparseImageFormatProperties;
58 
59     // ---- Core Vulkan 1.1 commands
60     PFN_vkEnumerateInstanceVersion EnumerateInstanceVersion;
61     PFN_vkEnumeratePhysicalDeviceGroups EnumeratePhysicalDeviceGroups;
62     PFN_vkGetPhysicalDeviceFeatures2 GetPhysicalDeviceFeatures2;
63     PFN_vkGetPhysicalDeviceProperties2 GetPhysicalDeviceProperties2;
64     PFN_vkGetPhysicalDeviceFormatProperties2 GetPhysicalDeviceFormatProperties2;
65     PFN_vkGetPhysicalDeviceImageFormatProperties2 GetPhysicalDeviceImageFormatProperties2;
66     PFN_vkGetPhysicalDeviceQueueFamilyProperties2 GetPhysicalDeviceQueueFamilyProperties2;
67     PFN_vkGetPhysicalDeviceMemoryProperties2 GetPhysicalDeviceMemoryProperties2;
68     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2 GetPhysicalDeviceSparseImageFormatProperties2;
69     PFN_vkGetPhysicalDeviceExternalBufferProperties GetPhysicalDeviceExternalBufferProperties;
70     PFN_vkGetPhysicalDeviceExternalFenceProperties GetPhysicalDeviceExternalFenceProperties;
71     PFN_vkGetPhysicalDeviceExternalSemaphoreProperties GetPhysicalDeviceExternalSemaphoreProperties;
72 
73     // ---- Core Vulkan 1.3 commands
74     PFN_vkGetPhysicalDeviceToolProperties GetPhysicalDeviceToolProperties;
75 
76     // ---- VK_KHR_surface extension commands
77     PFN_vkDestroySurfaceKHR DestroySurfaceKHR;
78     PFN_vkGetPhysicalDeviceSurfaceSupportKHR GetPhysicalDeviceSurfaceSupportKHR;
79     PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR GetPhysicalDeviceSurfaceCapabilitiesKHR;
80     PFN_vkGetPhysicalDeviceSurfaceFormatsKHR GetPhysicalDeviceSurfaceFormatsKHR;
81     PFN_vkGetPhysicalDeviceSurfacePresentModesKHR GetPhysicalDeviceSurfacePresentModesKHR;
82 
83     // ---- VK_KHR_swapchain extension commands
84     PFN_vkGetPhysicalDevicePresentRectanglesKHR GetPhysicalDevicePresentRectanglesKHR;
85 
86     // ---- VK_KHR_display extension commands
87     PFN_vkGetPhysicalDeviceDisplayPropertiesKHR GetPhysicalDeviceDisplayPropertiesKHR;
88     PFN_vkGetPhysicalDeviceDisplayPlanePropertiesKHR GetPhysicalDeviceDisplayPlanePropertiesKHR;
89     PFN_vkGetDisplayPlaneSupportedDisplaysKHR GetDisplayPlaneSupportedDisplaysKHR;
90     PFN_vkGetDisplayModePropertiesKHR GetDisplayModePropertiesKHR;
91     PFN_vkCreateDisplayModeKHR CreateDisplayModeKHR;
92     PFN_vkGetDisplayPlaneCapabilitiesKHR GetDisplayPlaneCapabilitiesKHR;
93     PFN_vkCreateDisplayPlaneSurfaceKHR CreateDisplayPlaneSurfaceKHR;
94 
95     // ---- VK_KHR_xlib_surface extension commands
96 #if defined(VK_USE_PLATFORM_XLIB_KHR)
97     PFN_vkCreateXlibSurfaceKHR CreateXlibSurfaceKHR;
98 #endif // VK_USE_PLATFORM_XLIB_KHR
99 #if defined(VK_USE_PLATFORM_XLIB_KHR)
100     PFN_vkGetPhysicalDeviceXlibPresentationSupportKHR GetPhysicalDeviceXlibPresentationSupportKHR;
101 #endif // VK_USE_PLATFORM_XLIB_KHR
102 
103     // ---- VK_KHR_xcb_surface extension commands
104 #if defined(VK_USE_PLATFORM_XCB_KHR)
105     PFN_vkCreateXcbSurfaceKHR CreateXcbSurfaceKHR;
106 #endif // VK_USE_PLATFORM_XCB_KHR
107 #if defined(VK_USE_PLATFORM_XCB_KHR)
108     PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR GetPhysicalDeviceXcbPresentationSupportKHR;
109 #endif // VK_USE_PLATFORM_XCB_KHR
110 
111     // ---- VK_KHR_wayland_surface extension commands
112 #if defined(VK_USE_PLATFORM_WAYLAND_KHR)
113     PFN_vkCreateWaylandSurfaceKHR CreateWaylandSurfaceKHR;
114 #endif // VK_USE_PLATFORM_WAYLAND_KHR
115 #if defined(VK_USE_PLATFORM_WAYLAND_KHR)
116     PFN_vkGetPhysicalDeviceWaylandPresentationSupportKHR GetPhysicalDeviceWaylandPresentationSupportKHR;
117 #endif // VK_USE_PLATFORM_WAYLAND_KHR
118 
119     // ---- VK_KHR_android_surface extension commands
120 #if defined(VK_USE_PLATFORM_ANDROID_KHR)
121     PFN_vkCreateAndroidSurfaceKHR CreateAndroidSurfaceKHR;
122 #endif // VK_USE_PLATFORM_ANDROID_KHR
123 
124     // ---- VK_KHR_win32_surface extension commands
125 #if defined(VK_USE_PLATFORM_WIN32_KHR)
126     PFN_vkCreateWin32SurfaceKHR CreateWin32SurfaceKHR;
127 #endif // VK_USE_PLATFORM_WIN32_KHR
128 #if defined(VK_USE_PLATFORM_WIN32_KHR)
129     PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR GetPhysicalDeviceWin32PresentationSupportKHR;
130 #endif // VK_USE_PLATFORM_WIN32_KHR
131 
132     // ---- VK_KHR_video_queue extension commands
133     PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR GetPhysicalDeviceVideoCapabilitiesKHR;
134     PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR GetPhysicalDeviceVideoFormatPropertiesKHR;
135 
136     // ---- VK_KHR_get_physical_device_properties2 extension commands
137     PFN_vkGetPhysicalDeviceFeatures2KHR GetPhysicalDeviceFeatures2KHR;
138     PFN_vkGetPhysicalDeviceProperties2KHR GetPhysicalDeviceProperties2KHR;
139     PFN_vkGetPhysicalDeviceFormatProperties2KHR GetPhysicalDeviceFormatProperties2KHR;
140     PFN_vkGetPhysicalDeviceImageFormatProperties2KHR GetPhysicalDeviceImageFormatProperties2KHR;
141     PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR GetPhysicalDeviceQueueFamilyProperties2KHR;
142     PFN_vkGetPhysicalDeviceMemoryProperties2KHR GetPhysicalDeviceMemoryProperties2KHR;
143     PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR GetPhysicalDeviceSparseImageFormatProperties2KHR;
144 
145     // ---- VK_KHR_device_group_creation extension commands
146     PFN_vkEnumeratePhysicalDeviceGroupsKHR EnumeratePhysicalDeviceGroupsKHR;
147 
148     // ---- VK_KHR_external_memory_capabilities extension commands
149     PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR GetPhysicalDeviceExternalBufferPropertiesKHR;
150 
151     // ---- VK_KHR_external_semaphore_capabilities extension commands
152     PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR GetPhysicalDeviceExternalSemaphorePropertiesKHR;
153 
154     // ---- VK_KHR_external_fence_capabilities extension commands
155     PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR GetPhysicalDeviceExternalFencePropertiesKHR;
156 
157     // ---- VK_KHR_performance_query extension commands
158     PFN_vkEnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR EnumeratePhysicalDeviceQueueFamilyPerformanceQueryCountersKHR;
159     PFN_vkGetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR GetPhysicalDeviceQueueFamilyPerformanceQueryPassesKHR;
160 
161     // ---- VK_KHR_get_surface_capabilities2 extension commands
162     PFN_vkGetPhysicalDeviceSurfaceCapabilities2KHR GetPhysicalDeviceSurfaceCapabilities2KHR;
163     PFN_vkGetPhysicalDeviceSurfaceFormats2KHR GetPhysicalDeviceSurfaceFormats2KHR;
164 
165     // ---- VK_KHR_get_display_properties2 extension commands
166     PFN_vkGetPhysicalDeviceDisplayProperties2KHR GetPhysicalDeviceDisplayProperties2KHR;
167     PFN_vkGetPhysicalDeviceDisplayPlaneProperties2KHR GetPhysicalDeviceDisplayPlaneProperties2KHR;
168     PFN_vkGetDisplayModeProperties2KHR GetDisplayModeProperties2KHR;
169     PFN_vkGetDisplayPlaneCapabilities2KHR GetDisplayPlaneCapabilities2KHR;
170 
171     // ---- VK_KHR_fragment_shading_rate extension commands
172     PFN_vkGetPhysicalDeviceFragmentShadingRatesKHR GetPhysicalDeviceFragmentShadingRatesKHR;
173 
174     // ---- VK_KHR_video_encode_queue extension commands
175     PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR;
176 
177     // ---- VK_KHR_cooperative_matrix extension commands
178     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR GetPhysicalDeviceCooperativeMatrixPropertiesKHR;
179 
180     // ---- VK_KHR_calibrated_timestamps extension commands
181     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsKHR GetPhysicalDeviceCalibrateableTimeDomainsKHR;
182 
183     // ---- VK_EXT_debug_report extension commands
184     PFN_vkCreateDebugReportCallbackEXT CreateDebugReportCallbackEXT;
185     PFN_vkDestroyDebugReportCallbackEXT DestroyDebugReportCallbackEXT;
186     PFN_vkDebugReportMessageEXT DebugReportMessageEXT;
187 
188     // ---- VK_GGP_stream_descriptor_surface extension commands
189 #if defined(VK_USE_PLATFORM_GGP)
190     PFN_vkCreateStreamDescriptorSurfaceGGP CreateStreamDescriptorSurfaceGGP;
191 #endif // VK_USE_PLATFORM_GGP
192 
193     // ---- VK_NV_external_memory_capabilities extension commands
194     PFN_vkGetPhysicalDeviceExternalImageFormatPropertiesNV GetPhysicalDeviceExternalImageFormatPropertiesNV;
195 
196     // ---- VK_NN_vi_surface extension commands
197 #if defined(VK_USE_PLATFORM_VI_NN)
198     PFN_vkCreateViSurfaceNN CreateViSurfaceNN;
199 #endif // VK_USE_PLATFORM_VI_NN
200 
201     // ---- VK_EXT_direct_mode_display extension commands
202     PFN_vkReleaseDisplayEXT ReleaseDisplayEXT;
203 
204     // ---- VK_EXT_acquire_xlib_display extension commands
205 #if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
206     PFN_vkAcquireXlibDisplayEXT AcquireXlibDisplayEXT;
207 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
208 #if defined(VK_USE_PLATFORM_XLIB_XRANDR_EXT)
209     PFN_vkGetRandROutputDisplayEXT GetRandROutputDisplayEXT;
210 #endif // VK_USE_PLATFORM_XLIB_XRANDR_EXT
211 
212     // ---- VK_EXT_display_surface_counter extension commands
213     PFN_vkGetPhysicalDeviceSurfaceCapabilities2EXT GetPhysicalDeviceSurfaceCapabilities2EXT;
214 
215     // ---- VK_MVK_ios_surface extension commands
216 #if defined(VK_USE_PLATFORM_IOS_MVK)
217     PFN_vkCreateIOSSurfaceMVK CreateIOSSurfaceMVK;
218 #endif // VK_USE_PLATFORM_IOS_MVK
219 
220     // ---- VK_MVK_macos_surface extension commands
221 #if defined(VK_USE_PLATFORM_MACOS_MVK)
222     PFN_vkCreateMacOSSurfaceMVK CreateMacOSSurfaceMVK;
223 #endif // VK_USE_PLATFORM_MACOS_MVK
224 
225     // ---- VK_EXT_debug_utils extension commands
226     PFN_vkCreateDebugUtilsMessengerEXT CreateDebugUtilsMessengerEXT;
227     PFN_vkDestroyDebugUtilsMessengerEXT DestroyDebugUtilsMessengerEXT;
228     PFN_vkSubmitDebugUtilsMessageEXT SubmitDebugUtilsMessageEXT;
229 
230     // ---- VK_EXT_sample_locations extension commands
231     PFN_vkGetPhysicalDeviceMultisamplePropertiesEXT GetPhysicalDeviceMultisamplePropertiesEXT;
232 
233     // ---- VK_EXT_calibrated_timestamps extension commands
234     PFN_vkGetPhysicalDeviceCalibrateableTimeDomainsEXT GetPhysicalDeviceCalibrateableTimeDomainsEXT;
235 
236     // ---- VK_FUCHSIA_imagepipe_surface extension commands
237 #if defined(VK_USE_PLATFORM_FUCHSIA)
238     PFN_vkCreateImagePipeSurfaceFUCHSIA CreateImagePipeSurfaceFUCHSIA;
239 #endif // VK_USE_PLATFORM_FUCHSIA
240 
241     // ---- VK_EXT_metal_surface extension commands
242 #if defined(VK_USE_PLATFORM_METAL_EXT)
243     PFN_vkCreateMetalSurfaceEXT CreateMetalSurfaceEXT;
244 #endif // VK_USE_PLATFORM_METAL_EXT
245 
246     // ---- VK_EXT_tooling_info extension commands
247     PFN_vkGetPhysicalDeviceToolPropertiesEXT GetPhysicalDeviceToolPropertiesEXT;
248 
249     // ---- VK_NV_cooperative_matrix extension commands
250     PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesNV GetPhysicalDeviceCooperativeMatrixPropertiesNV;
251 
252     // ---- VK_NV_coverage_reduction_mode extension commands
253     PFN_vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV GetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV;
254 
255     // ---- VK_EXT_full_screen_exclusive extension commands
256 #if defined(VK_USE_PLATFORM_WIN32_KHR)
257     PFN_vkGetPhysicalDeviceSurfacePresentModes2EXT GetPhysicalDeviceSurfacePresentModes2EXT;
258 #endif // VK_USE_PLATFORM_WIN32_KHR
259 
260     // ---- VK_EXT_headless_surface extension commands
261     PFN_vkCreateHeadlessSurfaceEXT CreateHeadlessSurfaceEXT;
262 
263     // ---- VK_EXT_acquire_drm_display extension commands
264     PFN_vkAcquireDrmDisplayEXT AcquireDrmDisplayEXT;
265     PFN_vkGetDrmDisplayEXT GetDrmDisplayEXT;
266 
267     // ---- VK_NV_acquire_winrt_display extension commands
268 #if defined(VK_USE_PLATFORM_WIN32_KHR)
269     PFN_vkAcquireWinrtDisplayNV AcquireWinrtDisplayNV;
270 #endif // VK_USE_PLATFORM_WIN32_KHR
271 #if defined(VK_USE_PLATFORM_WIN32_KHR)
272     PFN_vkGetWinrtDisplayNV GetWinrtDisplayNV;
273 #endif // VK_USE_PLATFORM_WIN32_KHR
274 
275     // ---- VK_EXT_directfb_surface extension commands
276 #if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
277     PFN_vkCreateDirectFBSurfaceEXT CreateDirectFBSurfaceEXT;
278 #endif // VK_USE_PLATFORM_DIRECTFB_EXT
279 #if defined(VK_USE_PLATFORM_DIRECTFB_EXT)
280     PFN_vkGetPhysicalDeviceDirectFBPresentationSupportEXT GetPhysicalDeviceDirectFBPresentationSupportEXT;
281 #endif // VK_USE_PLATFORM_DIRECTFB_EXT
282 
283     // ---- VK_QNX_screen_surface extension commands
284 #if defined(VK_USE_PLATFORM_SCREEN_QNX)
285     PFN_vkCreateScreenSurfaceQNX CreateScreenSurfaceQNX;
286 #endif // VK_USE_PLATFORM_SCREEN_QNX
287 #if defined(VK_USE_PLATFORM_SCREEN_QNX)
288     PFN_vkGetPhysicalDeviceScreenPresentationSupportQNX GetPhysicalDeviceScreenPresentationSupportQNX;
289 #endif // VK_USE_PLATFORM_SCREEN_QNX
290 
291     // ---- VK_NV_optical_flow extension commands
292     PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV GetPhysicalDeviceOpticalFlowImageFormatsNV;
293 
294     // ---- VK_OHOS_surface extension commands
295 #ifdef VK_USE_PLATFORM_OHOS
296     PFN_vkCreateSurfaceOHOS CreateSurfaceOHOS;
297 #endif // VK_USE_PLATFORM_OHOS
298 
299     // ---- VK_NV_cooperative_vector extension commands
300     PFN_vkGetPhysicalDeviceCooperativeVectorPropertiesNV GetPhysicalDeviceCooperativeVectorPropertiesNV;
301 
302     // ---- VK_NV_cooperative_matrix2 extension commands
303     PFN_vkGetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV GetPhysicalDeviceCooperativeMatrixFlexibleDimensionsPropertiesNV;
304 } VkLayerInstanceDispatchTable;
305 
306 // Device function pointer dispatch table
307 #define DEVICE_DISP_TABLE_MAGIC_NUMBER 0x10ADED040410ADEDUL
308 typedef struct VkLayerDispatchTable_ {
309     uint64_t magic; // Should be DEVICE_DISP_TABLE_MAGIC_NUMBER
310 
311     // ---- Core Vulkan 1.0 commands
312     PFN_vkGetDeviceProcAddr GetDeviceProcAddr;
313     PFN_vkDestroyDevice DestroyDevice;
314     PFN_vkGetDeviceQueue GetDeviceQueue;
315     PFN_vkQueueSubmit QueueSubmit;
316     PFN_vkQueueWaitIdle QueueWaitIdle;
317     PFN_vkDeviceWaitIdle DeviceWaitIdle;
318     PFN_vkAllocateMemory AllocateMemory;
319     PFN_vkFreeMemory FreeMemory;
320     PFN_vkMapMemory MapMemory;
321     PFN_vkUnmapMemory UnmapMemory;
322     PFN_vkFlushMappedMemoryRanges FlushMappedMemoryRanges;
323     PFN_vkInvalidateMappedMemoryRanges InvalidateMappedMemoryRanges;
324     PFN_vkGetDeviceMemoryCommitment GetDeviceMemoryCommitment;
325     PFN_vkBindBufferMemory BindBufferMemory;
326     PFN_vkBindImageMemory BindImageMemory;
327     PFN_vkGetBufferMemoryRequirements GetBufferMemoryRequirements;
328     PFN_vkGetImageMemoryRequirements GetImageMemoryRequirements;
329     PFN_vkGetImageSparseMemoryRequirements GetImageSparseMemoryRequirements;
330     PFN_vkQueueBindSparse QueueBindSparse;
331     PFN_vkCreateFence CreateFence;
332     PFN_vkDestroyFence DestroyFence;
333     PFN_vkResetFences ResetFences;
334     PFN_vkGetFenceStatus GetFenceStatus;
335     PFN_vkWaitForFences WaitForFences;
336     PFN_vkCreateSemaphore CreateSemaphore;
337     PFN_vkDestroySemaphore DestroySemaphore;
338     PFN_vkCreateEvent CreateEvent;
339     PFN_vkDestroyEvent DestroyEvent;
340     PFN_vkGetEventStatus GetEventStatus;
341     PFN_vkSetEvent SetEvent;
342     PFN_vkResetEvent ResetEvent;
343     PFN_vkCreateQueryPool CreateQueryPool;
344     PFN_vkDestroyQueryPool DestroyQueryPool;
345     PFN_vkGetQueryPoolResults GetQueryPoolResults;
346     PFN_vkCreateBuffer CreateBuffer;
347     PFN_vkDestroyBuffer DestroyBuffer;
348     PFN_vkCreateBufferView CreateBufferView;
349     PFN_vkDestroyBufferView DestroyBufferView;
350     PFN_vkCreateImage CreateImage;
351     PFN_vkDestroyImage DestroyImage;
352     PFN_vkGetImageSubresourceLayout GetImageSubresourceLayout;
353     PFN_vkCreateImageView CreateImageView;
354     PFN_vkDestroyImageView DestroyImageView;
355     PFN_vkCreateShaderModule CreateShaderModule;
356     PFN_vkDestroyShaderModule DestroyShaderModule;
357     PFN_vkCreatePipelineCache CreatePipelineCache;
358     PFN_vkDestroyPipelineCache DestroyPipelineCache;
359     PFN_vkGetPipelineCacheData GetPipelineCacheData;
360     PFN_vkMergePipelineCaches MergePipelineCaches;
361     PFN_vkCreateGraphicsPipelines CreateGraphicsPipelines;
362     PFN_vkCreateComputePipelines CreateComputePipelines;
363     PFN_vkDestroyPipeline DestroyPipeline;
364     PFN_vkCreatePipelineLayout CreatePipelineLayout;
365     PFN_vkDestroyPipelineLayout DestroyPipelineLayout;
366     PFN_vkCreateSampler CreateSampler;
367     PFN_vkDestroySampler DestroySampler;
368     PFN_vkCreateDescriptorSetLayout CreateDescriptorSetLayout;
369     PFN_vkDestroyDescriptorSetLayout DestroyDescriptorSetLayout;
370     PFN_vkCreateDescriptorPool CreateDescriptorPool;
371     PFN_vkDestroyDescriptorPool DestroyDescriptorPool;
372     PFN_vkResetDescriptorPool ResetDescriptorPool;
373     PFN_vkAllocateDescriptorSets AllocateDescriptorSets;
374     PFN_vkFreeDescriptorSets FreeDescriptorSets;
375     PFN_vkUpdateDescriptorSets UpdateDescriptorSets;
376     PFN_vkCreateFramebuffer CreateFramebuffer;
377     PFN_vkDestroyFramebuffer DestroyFramebuffer;
378     PFN_vkCreateRenderPass CreateRenderPass;
379     PFN_vkDestroyRenderPass DestroyRenderPass;
380     PFN_vkGetRenderAreaGranularity GetRenderAreaGranularity;
381     PFN_vkCreateCommandPool CreateCommandPool;
382     PFN_vkDestroyCommandPool DestroyCommandPool;
383     PFN_vkResetCommandPool ResetCommandPool;
384     PFN_vkAllocateCommandBuffers AllocateCommandBuffers;
385     PFN_vkFreeCommandBuffers FreeCommandBuffers;
386     PFN_vkBeginCommandBuffer BeginCommandBuffer;
387     PFN_vkEndCommandBuffer EndCommandBuffer;
388     PFN_vkResetCommandBuffer ResetCommandBuffer;
389     PFN_vkCmdBindPipeline CmdBindPipeline;
390     PFN_vkCmdSetViewport CmdSetViewport;
391     PFN_vkCmdSetScissor CmdSetScissor;
392     PFN_vkCmdSetLineWidth CmdSetLineWidth;
393     PFN_vkCmdSetDepthBias CmdSetDepthBias;
394     PFN_vkCmdSetBlendConstants CmdSetBlendConstants;
395     PFN_vkCmdSetDepthBounds CmdSetDepthBounds;
396     PFN_vkCmdSetStencilCompareMask CmdSetStencilCompareMask;
397     PFN_vkCmdSetStencilWriteMask CmdSetStencilWriteMask;
398     PFN_vkCmdSetStencilReference CmdSetStencilReference;
399     PFN_vkCmdBindDescriptorSets CmdBindDescriptorSets;
400     PFN_vkCmdBindIndexBuffer CmdBindIndexBuffer;
401     PFN_vkCmdBindVertexBuffers CmdBindVertexBuffers;
402     PFN_vkCmdDraw CmdDraw;
403     PFN_vkCmdDrawIndexed CmdDrawIndexed;
404     PFN_vkCmdDrawIndirect CmdDrawIndirect;
405     PFN_vkCmdDrawIndexedIndirect CmdDrawIndexedIndirect;
406     PFN_vkCmdDispatch CmdDispatch;
407     PFN_vkCmdDispatchIndirect CmdDispatchIndirect;
408     PFN_vkCmdCopyBuffer CmdCopyBuffer;
409     PFN_vkCmdCopyImage CmdCopyImage;
410     PFN_vkCmdBlitImage CmdBlitImage;
411     PFN_vkCmdCopyBufferToImage CmdCopyBufferToImage;
412     PFN_vkCmdCopyImageToBuffer CmdCopyImageToBuffer;
413     PFN_vkCmdUpdateBuffer CmdUpdateBuffer;
414     PFN_vkCmdFillBuffer CmdFillBuffer;
415     PFN_vkCmdClearColorImage CmdClearColorImage;
416     PFN_vkCmdClearDepthStencilImage CmdClearDepthStencilImage;
417     PFN_vkCmdClearAttachments CmdClearAttachments;
418     PFN_vkCmdResolveImage CmdResolveImage;
419     PFN_vkCmdSetEvent CmdSetEvent;
420     PFN_vkCmdResetEvent CmdResetEvent;
421     PFN_vkCmdWaitEvents CmdWaitEvents;
422     PFN_vkCmdPipelineBarrier CmdPipelineBarrier;
423     PFN_vkCmdBeginQuery CmdBeginQuery;
424     PFN_vkCmdEndQuery CmdEndQuery;
425     PFN_vkCmdResetQueryPool CmdResetQueryPool;
426     PFN_vkCmdWriteTimestamp CmdWriteTimestamp;
427     PFN_vkCmdCopyQueryPoolResults CmdCopyQueryPoolResults;
428     PFN_vkCmdPushConstants CmdPushConstants;
429     PFN_vkCmdBeginRenderPass CmdBeginRenderPass;
430     PFN_vkCmdNextSubpass CmdNextSubpass;
431     PFN_vkCmdEndRenderPass CmdEndRenderPass;
432     PFN_vkCmdExecuteCommands CmdExecuteCommands;
433 
434     // ---- Core Vulkan 1.1 commands
435     PFN_vkBindBufferMemory2 BindBufferMemory2;
436     PFN_vkBindImageMemory2 BindImageMemory2;
437     PFN_vkGetDeviceGroupPeerMemoryFeatures GetDeviceGroupPeerMemoryFeatures;
438     PFN_vkCmdSetDeviceMask CmdSetDeviceMask;
439     PFN_vkCmdDispatchBase CmdDispatchBase;
440     PFN_vkGetImageMemoryRequirements2 GetImageMemoryRequirements2;
441     PFN_vkGetBufferMemoryRequirements2 GetBufferMemoryRequirements2;
442     PFN_vkGetImageSparseMemoryRequirements2 GetImageSparseMemoryRequirements2;
443     PFN_vkTrimCommandPool TrimCommandPool;
444     PFN_vkGetDeviceQueue2 GetDeviceQueue2;
445     PFN_vkCreateSamplerYcbcrConversion CreateSamplerYcbcrConversion;
446     PFN_vkDestroySamplerYcbcrConversion DestroySamplerYcbcrConversion;
447     PFN_vkCreateDescriptorUpdateTemplate CreateDescriptorUpdateTemplate;
448     PFN_vkDestroyDescriptorUpdateTemplate DestroyDescriptorUpdateTemplate;
449     PFN_vkUpdateDescriptorSetWithTemplate UpdateDescriptorSetWithTemplate;
450     PFN_vkGetDescriptorSetLayoutSupport GetDescriptorSetLayoutSupport;
451 
452     // ---- Core Vulkan 1.2 commands
453     PFN_vkCmdDrawIndirectCount CmdDrawIndirectCount;
454     PFN_vkCmdDrawIndexedIndirectCount CmdDrawIndexedIndirectCount;
455     PFN_vkCreateRenderPass2 CreateRenderPass2;
456     PFN_vkCmdBeginRenderPass2 CmdBeginRenderPass2;
457     PFN_vkCmdNextSubpass2 CmdNextSubpass2;
458     PFN_vkCmdEndRenderPass2 CmdEndRenderPass2;
459     PFN_vkResetQueryPool ResetQueryPool;
460     PFN_vkGetSemaphoreCounterValue GetSemaphoreCounterValue;
461     PFN_vkWaitSemaphores WaitSemaphores;
462     PFN_vkSignalSemaphore SignalSemaphore;
463     PFN_vkGetBufferDeviceAddress GetBufferDeviceAddress;
464     PFN_vkGetBufferOpaqueCaptureAddress GetBufferOpaqueCaptureAddress;
465     PFN_vkGetDeviceMemoryOpaqueCaptureAddress GetDeviceMemoryOpaqueCaptureAddress;
466 
467     // ---- Core Vulkan 1.3 commands
468     PFN_vkCreatePrivateDataSlot CreatePrivateDataSlot;
469     PFN_vkDestroyPrivateDataSlot DestroyPrivateDataSlot;
470     PFN_vkSetPrivateData SetPrivateData;
471     PFN_vkGetPrivateData GetPrivateData;
472     PFN_vkCmdSetEvent2 CmdSetEvent2;
473     PFN_vkCmdResetEvent2 CmdResetEvent2;
474     PFN_vkCmdWaitEvents2 CmdWaitEvents2;
475     PFN_vkCmdPipelineBarrier2 CmdPipelineBarrier2;
476     PFN_vkCmdWriteTimestamp2 CmdWriteTimestamp2;
477     PFN_vkQueueSubmit2 QueueSubmit2;
478     PFN_vkCmdCopyBuffer2 CmdCopyBuffer2;
479     PFN_vkCmdCopyImage2 CmdCopyImage2;
480     PFN_vkCmdCopyBufferToImage2 CmdCopyBufferToImage2;
481     PFN_vkCmdCopyImageToBuffer2 CmdCopyImageToBuffer2;
482     PFN_vkCmdBlitImage2 CmdBlitImage2;
483     PFN_vkCmdResolveImage2 CmdResolveImage2;
484     PFN_vkCmdBeginRendering CmdBeginRendering;
485     PFN_vkCmdEndRendering CmdEndRendering;
486     PFN_vkCmdSetCullMode CmdSetCullMode;
487     PFN_vkCmdSetFrontFace CmdSetFrontFace;
488     PFN_vkCmdSetPrimitiveTopology CmdSetPrimitiveTopology;
489     PFN_vkCmdSetViewportWithCount CmdSetViewportWithCount;
490     PFN_vkCmdSetScissorWithCount CmdSetScissorWithCount;
491     PFN_vkCmdBindVertexBuffers2 CmdBindVertexBuffers2;
492     PFN_vkCmdSetDepthTestEnable CmdSetDepthTestEnable;
493     PFN_vkCmdSetDepthWriteEnable CmdSetDepthWriteEnable;
494     PFN_vkCmdSetDepthCompareOp CmdSetDepthCompareOp;
495     PFN_vkCmdSetDepthBoundsTestEnable CmdSetDepthBoundsTestEnable;
496     PFN_vkCmdSetStencilTestEnable CmdSetStencilTestEnable;
497     PFN_vkCmdSetStencilOp CmdSetStencilOp;
498     PFN_vkCmdSetRasterizerDiscardEnable CmdSetRasterizerDiscardEnable;
499     PFN_vkCmdSetDepthBiasEnable CmdSetDepthBiasEnable;
500     PFN_vkCmdSetPrimitiveRestartEnable CmdSetPrimitiveRestartEnable;
501     PFN_vkGetDeviceBufferMemoryRequirements GetDeviceBufferMemoryRequirements;
502     PFN_vkGetDeviceImageMemoryRequirements GetDeviceImageMemoryRequirements;
503     PFN_vkGetDeviceImageSparseMemoryRequirements GetDeviceImageSparseMemoryRequirements;
504 
505     // ---- Core Vulkan 1.4 commands
506     PFN_vkCmdSetLineStipple CmdSetLineStipple;
507     PFN_vkMapMemory2 MapMemory2;
508     PFN_vkUnmapMemory2 UnmapMemory2;
509     PFN_vkCmdBindIndexBuffer2 CmdBindIndexBuffer2;
510     PFN_vkGetRenderingAreaGranularity GetRenderingAreaGranularity;
511     PFN_vkGetDeviceImageSubresourceLayout GetDeviceImageSubresourceLayout;
512     PFN_vkGetImageSubresourceLayout2 GetImageSubresourceLayout2;
513     PFN_vkCmdPushDescriptorSet CmdPushDescriptorSet;
514     PFN_vkCmdPushDescriptorSetWithTemplate CmdPushDescriptorSetWithTemplate;
515     PFN_vkCmdSetRenderingAttachmentLocations CmdSetRenderingAttachmentLocations;
516     PFN_vkCmdSetRenderingInputAttachmentIndices CmdSetRenderingInputAttachmentIndices;
517     PFN_vkCmdBindDescriptorSets2 CmdBindDescriptorSets2;
518     PFN_vkCmdPushConstants2 CmdPushConstants2;
519     PFN_vkCmdPushDescriptorSet2 CmdPushDescriptorSet2;
520     PFN_vkCmdPushDescriptorSetWithTemplate2 CmdPushDescriptorSetWithTemplate2;
521     PFN_vkCopyMemoryToImage CopyMemoryToImage;
522     PFN_vkCopyImageToMemory CopyImageToMemory;
523     PFN_vkCopyImageToImage CopyImageToImage;
524     PFN_vkTransitionImageLayout TransitionImageLayout;
525 
526     // ---- VK_KHR_swapchain extension commands
527     PFN_vkCreateSwapchainKHR CreateSwapchainKHR;
528     PFN_vkDestroySwapchainKHR DestroySwapchainKHR;
529     PFN_vkGetSwapchainImagesKHR GetSwapchainImagesKHR;
530     PFN_vkAcquireNextImageKHR AcquireNextImageKHR;
531     PFN_vkQueuePresentKHR QueuePresentKHR;
532     PFN_vkGetDeviceGroupPresentCapabilitiesKHR GetDeviceGroupPresentCapabilitiesKHR;
533     PFN_vkGetDeviceGroupSurfacePresentModesKHR GetDeviceGroupSurfacePresentModesKHR;
534     PFN_vkAcquireNextImage2KHR AcquireNextImage2KHR;
535 
536     // ---- VK_KHR_display_swapchain extension commands
537     PFN_vkCreateSharedSwapchainsKHR CreateSharedSwapchainsKHR;
538 
539     // ---- VK_KHR_video_queue extension commands
540     PFN_vkCreateVideoSessionKHR CreateVideoSessionKHR;
541     PFN_vkDestroyVideoSessionKHR DestroyVideoSessionKHR;
542     PFN_vkGetVideoSessionMemoryRequirementsKHR GetVideoSessionMemoryRequirementsKHR;
543     PFN_vkBindVideoSessionMemoryKHR BindVideoSessionMemoryKHR;
544     PFN_vkCreateVideoSessionParametersKHR CreateVideoSessionParametersKHR;
545     PFN_vkUpdateVideoSessionParametersKHR UpdateVideoSessionParametersKHR;
546     PFN_vkDestroyVideoSessionParametersKHR DestroyVideoSessionParametersKHR;
547     PFN_vkCmdBeginVideoCodingKHR CmdBeginVideoCodingKHR;
548     PFN_vkCmdEndVideoCodingKHR CmdEndVideoCodingKHR;
549     PFN_vkCmdControlVideoCodingKHR CmdControlVideoCodingKHR;
550 
551     // ---- VK_KHR_video_decode_queue extension commands
552     PFN_vkCmdDecodeVideoKHR CmdDecodeVideoKHR;
553 
554     // ---- VK_KHR_dynamic_rendering extension commands
555     PFN_vkCmdBeginRenderingKHR CmdBeginRenderingKHR;
556     PFN_vkCmdEndRenderingKHR CmdEndRenderingKHR;
557 
558     // ---- VK_KHR_device_group extension commands
559     PFN_vkGetDeviceGroupPeerMemoryFeaturesKHR GetDeviceGroupPeerMemoryFeaturesKHR;
560     PFN_vkCmdSetDeviceMaskKHR CmdSetDeviceMaskKHR;
561     PFN_vkCmdDispatchBaseKHR CmdDispatchBaseKHR;
562 
563     // ---- VK_KHR_maintenance1 extension commands
564     PFN_vkTrimCommandPoolKHR TrimCommandPoolKHR;
565 
566     // ---- VK_KHR_external_memory_win32 extension commands
567 #if defined(VK_USE_PLATFORM_WIN32_KHR)
568     PFN_vkGetMemoryWin32HandleKHR GetMemoryWin32HandleKHR;
569 #endif // VK_USE_PLATFORM_WIN32_KHR
570 #if defined(VK_USE_PLATFORM_WIN32_KHR)
571     PFN_vkGetMemoryWin32HandlePropertiesKHR GetMemoryWin32HandlePropertiesKHR;
572 #endif // VK_USE_PLATFORM_WIN32_KHR
573 
574     // ---- VK_KHR_external_memory_fd extension commands
575     PFN_vkGetMemoryFdKHR GetMemoryFdKHR;
576     PFN_vkGetMemoryFdPropertiesKHR GetMemoryFdPropertiesKHR;
577 
578     // ---- VK_KHR_external_semaphore_win32 extension commands
579 #if defined(VK_USE_PLATFORM_WIN32_KHR)
580     PFN_vkImportSemaphoreWin32HandleKHR ImportSemaphoreWin32HandleKHR;
581 #endif // VK_USE_PLATFORM_WIN32_KHR
582 #if defined(VK_USE_PLATFORM_WIN32_KHR)
583     PFN_vkGetSemaphoreWin32HandleKHR GetSemaphoreWin32HandleKHR;
584 #endif // VK_USE_PLATFORM_WIN32_KHR
585 
586     // ---- VK_KHR_external_semaphore_fd extension commands
587     PFN_vkImportSemaphoreFdKHR ImportSemaphoreFdKHR;
588     PFN_vkGetSemaphoreFdKHR GetSemaphoreFdKHR;
589 
590     // ---- VK_KHR_push_descriptor extension commands
591     PFN_vkCmdPushDescriptorSetKHR CmdPushDescriptorSetKHR;
592     PFN_vkCmdPushDescriptorSetWithTemplateKHR CmdPushDescriptorSetWithTemplateKHR;
593 
594     // ---- VK_KHR_descriptor_update_template extension commands
595     PFN_vkCreateDescriptorUpdateTemplateKHR CreateDescriptorUpdateTemplateKHR;
596     PFN_vkDestroyDescriptorUpdateTemplateKHR DestroyDescriptorUpdateTemplateKHR;
597     PFN_vkUpdateDescriptorSetWithTemplateKHR UpdateDescriptorSetWithTemplateKHR;
598 
599     // ---- VK_KHR_create_renderpass2 extension commands
600     PFN_vkCreateRenderPass2KHR CreateRenderPass2KHR;
601     PFN_vkCmdBeginRenderPass2KHR CmdBeginRenderPass2KHR;
602     PFN_vkCmdNextSubpass2KHR CmdNextSubpass2KHR;
603     PFN_vkCmdEndRenderPass2KHR CmdEndRenderPass2KHR;
604 
605     // ---- VK_KHR_shared_presentable_image extension commands
606     PFN_vkGetSwapchainStatusKHR GetSwapchainStatusKHR;
607 
608     // ---- VK_KHR_external_fence_win32 extension commands
609 #if defined(VK_USE_PLATFORM_WIN32_KHR)
610     PFN_vkImportFenceWin32HandleKHR ImportFenceWin32HandleKHR;
611 #endif // VK_USE_PLATFORM_WIN32_KHR
612 #if defined(VK_USE_PLATFORM_WIN32_KHR)
613     PFN_vkGetFenceWin32HandleKHR GetFenceWin32HandleKHR;
614 #endif // VK_USE_PLATFORM_WIN32_KHR
615 
616     // ---- VK_KHR_external_fence_fd extension commands
617     PFN_vkImportFenceFdKHR ImportFenceFdKHR;
618     PFN_vkGetFenceFdKHR GetFenceFdKHR;
619 
620     // ---- VK_KHR_performance_query extension commands
621     PFN_vkAcquireProfilingLockKHR AcquireProfilingLockKHR;
622     PFN_vkReleaseProfilingLockKHR ReleaseProfilingLockKHR;
623 
624     // ---- VK_KHR_get_memory_requirements2 extension commands
625     PFN_vkGetImageMemoryRequirements2KHR GetImageMemoryRequirements2KHR;
626     PFN_vkGetBufferMemoryRequirements2KHR GetBufferMemoryRequirements2KHR;
627     PFN_vkGetImageSparseMemoryRequirements2KHR GetImageSparseMemoryRequirements2KHR;
628 
629     // ---- VK_KHR_sampler_ycbcr_conversion extension commands
630     PFN_vkCreateSamplerYcbcrConversionKHR CreateSamplerYcbcrConversionKHR;
631     PFN_vkDestroySamplerYcbcrConversionKHR DestroySamplerYcbcrConversionKHR;
632 
633     // ---- VK_KHR_bind_memory2 extension commands
634     PFN_vkBindBufferMemory2KHR BindBufferMemory2KHR;
635     PFN_vkBindImageMemory2KHR BindImageMemory2KHR;
636 
637     // ---- VK_KHR_maintenance3 extension commands
638     PFN_vkGetDescriptorSetLayoutSupportKHR GetDescriptorSetLayoutSupportKHR;
639 
640     // ---- VK_KHR_draw_indirect_count extension commands
641     PFN_vkCmdDrawIndirectCountKHR CmdDrawIndirectCountKHR;
642     PFN_vkCmdDrawIndexedIndirectCountKHR CmdDrawIndexedIndirectCountKHR;
643 
644     // ---- VK_KHR_timeline_semaphore extension commands
645     PFN_vkGetSemaphoreCounterValueKHR GetSemaphoreCounterValueKHR;
646     PFN_vkWaitSemaphoresKHR WaitSemaphoresKHR;
647     PFN_vkSignalSemaphoreKHR SignalSemaphoreKHR;
648 
649     // ---- VK_KHR_fragment_shading_rate extension commands
650     PFN_vkCmdSetFragmentShadingRateKHR CmdSetFragmentShadingRateKHR;
651 
652     // ---- VK_KHR_dynamic_rendering_local_read extension commands
653     PFN_vkCmdSetRenderingAttachmentLocationsKHR CmdSetRenderingAttachmentLocationsKHR;
654     PFN_vkCmdSetRenderingInputAttachmentIndicesKHR CmdSetRenderingInputAttachmentIndicesKHR;
655 
656     // ---- VK_KHR_present_wait extension commands
657     PFN_vkWaitForPresentKHR WaitForPresentKHR;
658 
659     // ---- VK_KHR_buffer_device_address extension commands
660     PFN_vkGetBufferDeviceAddressKHR GetBufferDeviceAddressKHR;
661     PFN_vkGetBufferOpaqueCaptureAddressKHR GetBufferOpaqueCaptureAddressKHR;
662     PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR GetDeviceMemoryOpaqueCaptureAddressKHR;
663 
664     // ---- VK_KHR_deferred_host_operations extension commands
665     PFN_vkCreateDeferredOperationKHR CreateDeferredOperationKHR;
666     PFN_vkDestroyDeferredOperationKHR DestroyDeferredOperationKHR;
667     PFN_vkGetDeferredOperationMaxConcurrencyKHR GetDeferredOperationMaxConcurrencyKHR;
668     PFN_vkGetDeferredOperationResultKHR GetDeferredOperationResultKHR;
669     PFN_vkDeferredOperationJoinKHR DeferredOperationJoinKHR;
670 
671     // ---- VK_KHR_pipeline_executable_properties extension commands
672     PFN_vkGetPipelineExecutablePropertiesKHR GetPipelineExecutablePropertiesKHR;
673     PFN_vkGetPipelineExecutableStatisticsKHR GetPipelineExecutableStatisticsKHR;
674     PFN_vkGetPipelineExecutableInternalRepresentationsKHR GetPipelineExecutableInternalRepresentationsKHR;
675 
676     // ---- VK_KHR_map_memory2 extension commands
677     PFN_vkMapMemory2KHR MapMemory2KHR;
678     PFN_vkUnmapMemory2KHR UnmapMemory2KHR;
679 
680     // ---- VK_KHR_video_encode_queue extension commands
681     PFN_vkGetEncodedVideoSessionParametersKHR GetEncodedVideoSessionParametersKHR;
682     PFN_vkCmdEncodeVideoKHR CmdEncodeVideoKHR;
683 
684     // ---- VK_KHR_synchronization2 extension commands
685     PFN_vkCmdSetEvent2KHR CmdSetEvent2KHR;
686     PFN_vkCmdResetEvent2KHR CmdResetEvent2KHR;
687     PFN_vkCmdWaitEvents2KHR CmdWaitEvents2KHR;
688     PFN_vkCmdPipelineBarrier2KHR CmdPipelineBarrier2KHR;
689     PFN_vkCmdWriteTimestamp2KHR CmdWriteTimestamp2KHR;
690     PFN_vkQueueSubmit2KHR QueueSubmit2KHR;
691 
692     // ---- VK_KHR_copy_commands2 extension commands
693     PFN_vkCmdCopyBuffer2KHR CmdCopyBuffer2KHR;
694     PFN_vkCmdCopyImage2KHR CmdCopyImage2KHR;
695     PFN_vkCmdCopyBufferToImage2KHR CmdCopyBufferToImage2KHR;
696     PFN_vkCmdCopyImageToBuffer2KHR CmdCopyImageToBuffer2KHR;
697     PFN_vkCmdBlitImage2KHR CmdBlitImage2KHR;
698     PFN_vkCmdResolveImage2KHR CmdResolveImage2KHR;
699 
700     // ---- VK_KHR_ray_tracing_maintenance1 extension commands
701     PFN_vkCmdTraceRaysIndirect2KHR CmdTraceRaysIndirect2KHR;
702 
703     // ---- VK_KHR_maintenance4 extension commands
704     PFN_vkGetDeviceBufferMemoryRequirementsKHR GetDeviceBufferMemoryRequirementsKHR;
705     PFN_vkGetDeviceImageMemoryRequirementsKHR GetDeviceImageMemoryRequirementsKHR;
706     PFN_vkGetDeviceImageSparseMemoryRequirementsKHR GetDeviceImageSparseMemoryRequirementsKHR;
707 
708     // ---- VK_KHR_maintenance5 extension commands
709     PFN_vkCmdBindIndexBuffer2KHR CmdBindIndexBuffer2KHR;
710     PFN_vkGetRenderingAreaGranularityKHR GetRenderingAreaGranularityKHR;
711     PFN_vkGetDeviceImageSubresourceLayoutKHR GetDeviceImageSubresourceLayoutKHR;
712     PFN_vkGetImageSubresourceLayout2KHR GetImageSubresourceLayout2KHR;
713 
714     // ---- VK_KHR_pipeline_binary extension commands
715     PFN_vkCreatePipelineBinariesKHR CreatePipelineBinariesKHR;
716     PFN_vkDestroyPipelineBinaryKHR DestroyPipelineBinaryKHR;
717     PFN_vkGetPipelineKeyKHR GetPipelineKeyKHR;
718     PFN_vkGetPipelineBinaryDataKHR GetPipelineBinaryDataKHR;
719     PFN_vkReleaseCapturedPipelineDataKHR ReleaseCapturedPipelineDataKHR;
720 
721     // ---- VK_KHR_line_rasterization extension commands
722     PFN_vkCmdSetLineStippleKHR CmdSetLineStippleKHR;
723 
724     // ---- VK_KHR_calibrated_timestamps extension commands
725     PFN_vkGetCalibratedTimestampsKHR GetCalibratedTimestampsKHR;
726 
727     // ---- VK_KHR_maintenance6 extension commands
728     PFN_vkCmdBindDescriptorSets2KHR CmdBindDescriptorSets2KHR;
729     PFN_vkCmdPushConstants2KHR CmdPushConstants2KHR;
730     PFN_vkCmdPushDescriptorSet2KHR CmdPushDescriptorSet2KHR;
731     PFN_vkCmdPushDescriptorSetWithTemplate2KHR CmdPushDescriptorSetWithTemplate2KHR;
732     PFN_vkCmdSetDescriptorBufferOffsets2EXT CmdSetDescriptorBufferOffsets2EXT;
733     PFN_vkCmdBindDescriptorBufferEmbeddedSamplers2EXT CmdBindDescriptorBufferEmbeddedSamplers2EXT;
734 
735     // ---- VK_EXT_debug_marker extension commands
736     PFN_vkDebugMarkerSetObjectTagEXT DebugMarkerSetObjectTagEXT;
737     PFN_vkDebugMarkerSetObjectNameEXT DebugMarkerSetObjectNameEXT;
738     PFN_vkCmdDebugMarkerBeginEXT CmdDebugMarkerBeginEXT;
739     PFN_vkCmdDebugMarkerEndEXT CmdDebugMarkerEndEXT;
740     PFN_vkCmdDebugMarkerInsertEXT CmdDebugMarkerInsertEXT;
741 
742     // ---- VK_EXT_transform_feedback extension commands
743     PFN_vkCmdBindTransformFeedbackBuffersEXT CmdBindTransformFeedbackBuffersEXT;
744     PFN_vkCmdBeginTransformFeedbackEXT CmdBeginTransformFeedbackEXT;
745     PFN_vkCmdEndTransformFeedbackEXT CmdEndTransformFeedbackEXT;
746     PFN_vkCmdBeginQueryIndexedEXT CmdBeginQueryIndexedEXT;
747     PFN_vkCmdEndQueryIndexedEXT CmdEndQueryIndexedEXT;
748     PFN_vkCmdDrawIndirectByteCountEXT CmdDrawIndirectByteCountEXT;
749 
750     // ---- VK_NVX_binary_import extension commands
751     PFN_vkCreateCuModuleNVX CreateCuModuleNVX;
752     PFN_vkCreateCuFunctionNVX CreateCuFunctionNVX;
753     PFN_vkDestroyCuModuleNVX DestroyCuModuleNVX;
754     PFN_vkDestroyCuFunctionNVX DestroyCuFunctionNVX;
755     PFN_vkCmdCuLaunchKernelNVX CmdCuLaunchKernelNVX;
756 
757     // ---- VK_NVX_image_view_handle extension commands
758     PFN_vkGetImageViewHandleNVX GetImageViewHandleNVX;
759     PFN_vkGetImageViewHandle64NVX GetImageViewHandle64NVX;
760     PFN_vkGetImageViewAddressNVX GetImageViewAddressNVX;
761 
762     // ---- VK_AMD_draw_indirect_count extension commands
763     PFN_vkCmdDrawIndirectCountAMD CmdDrawIndirectCountAMD;
764     PFN_vkCmdDrawIndexedIndirectCountAMD CmdDrawIndexedIndirectCountAMD;
765 
766     // ---- VK_AMD_shader_info extension commands
767     PFN_vkGetShaderInfoAMD GetShaderInfoAMD;
768 
769     // ---- VK_NV_external_memory_win32 extension commands
770 #if defined(VK_USE_PLATFORM_WIN32_KHR)
771     PFN_vkGetMemoryWin32HandleNV GetMemoryWin32HandleNV;
772 #endif // VK_USE_PLATFORM_WIN32_KHR
773 
774     // ---- VK_EXT_conditional_rendering extension commands
775     PFN_vkCmdBeginConditionalRenderingEXT CmdBeginConditionalRenderingEXT;
776     PFN_vkCmdEndConditionalRenderingEXT CmdEndConditionalRenderingEXT;
777 
778     // ---- VK_NV_clip_space_w_scaling extension commands
779     PFN_vkCmdSetViewportWScalingNV CmdSetViewportWScalingNV;
780 
781     // ---- VK_EXT_display_control extension commands
782     PFN_vkDisplayPowerControlEXT DisplayPowerControlEXT;
783     PFN_vkRegisterDeviceEventEXT RegisterDeviceEventEXT;
784     PFN_vkRegisterDisplayEventEXT RegisterDisplayEventEXT;
785     PFN_vkGetSwapchainCounterEXT GetSwapchainCounterEXT;
786 
787     // ---- VK_GOOGLE_display_timing extension commands
788     PFN_vkGetRefreshCycleDurationGOOGLE GetRefreshCycleDurationGOOGLE;
789     PFN_vkGetPastPresentationTimingGOOGLE GetPastPresentationTimingGOOGLE;
790 
791     // ---- VK_EXT_discard_rectangles extension commands
792     PFN_vkCmdSetDiscardRectangleEXT CmdSetDiscardRectangleEXT;
793     PFN_vkCmdSetDiscardRectangleEnableEXT CmdSetDiscardRectangleEnableEXT;
794     PFN_vkCmdSetDiscardRectangleModeEXT CmdSetDiscardRectangleModeEXT;
795 
796     // ---- VK_EXT_hdr_metadata extension commands
797     PFN_vkSetHdrMetadataEXT SetHdrMetadataEXT;
798 
799     // ---- VK_EXT_debug_utils extension commands
800     PFN_vkSetDebugUtilsObjectNameEXT SetDebugUtilsObjectNameEXT;
801     PFN_vkSetDebugUtilsObjectTagEXT SetDebugUtilsObjectTagEXT;
802     PFN_vkQueueBeginDebugUtilsLabelEXT QueueBeginDebugUtilsLabelEXT;
803     PFN_vkQueueEndDebugUtilsLabelEXT QueueEndDebugUtilsLabelEXT;
804     PFN_vkQueueInsertDebugUtilsLabelEXT QueueInsertDebugUtilsLabelEXT;
805     PFN_vkCmdBeginDebugUtilsLabelEXT CmdBeginDebugUtilsLabelEXT;
806     PFN_vkCmdEndDebugUtilsLabelEXT CmdEndDebugUtilsLabelEXT;
807     PFN_vkCmdInsertDebugUtilsLabelEXT CmdInsertDebugUtilsLabelEXT;
808 
809     // ---- VK_ANDROID_external_memory_android_hardware_buffer extension commands
810 #if defined(VK_USE_PLATFORM_ANDROID_KHR)
811     PFN_vkGetAndroidHardwareBufferPropertiesANDROID GetAndroidHardwareBufferPropertiesANDROID;
812 #endif // VK_USE_PLATFORM_ANDROID_KHR
813 #if defined(VK_USE_PLATFORM_ANDROID_KHR)
814     PFN_vkGetMemoryAndroidHardwareBufferANDROID GetMemoryAndroidHardwareBufferANDROID;
815 #endif // VK_USE_PLATFORM_ANDROID_KHR
816 
817     // ---- VK_AMDX_shader_enqueue extension commands
818 #if defined(VK_ENABLE_BETA_EXTENSIONS)
819     PFN_vkCreateExecutionGraphPipelinesAMDX CreateExecutionGraphPipelinesAMDX;
820 #endif // VK_ENABLE_BETA_EXTENSIONS
821 #if defined(VK_ENABLE_BETA_EXTENSIONS)
822     PFN_vkGetExecutionGraphPipelineScratchSizeAMDX GetExecutionGraphPipelineScratchSizeAMDX;
823 #endif // VK_ENABLE_BETA_EXTENSIONS
824 #if defined(VK_ENABLE_BETA_EXTENSIONS)
825     PFN_vkGetExecutionGraphPipelineNodeIndexAMDX GetExecutionGraphPipelineNodeIndexAMDX;
826 #endif // VK_ENABLE_BETA_EXTENSIONS
827 #if defined(VK_ENABLE_BETA_EXTENSIONS)
828     PFN_vkCmdInitializeGraphScratchMemoryAMDX CmdInitializeGraphScratchMemoryAMDX;
829 #endif // VK_ENABLE_BETA_EXTENSIONS
830 #if defined(VK_ENABLE_BETA_EXTENSIONS)
831     PFN_vkCmdDispatchGraphAMDX CmdDispatchGraphAMDX;
832 #endif // VK_ENABLE_BETA_EXTENSIONS
833 #if defined(VK_ENABLE_BETA_EXTENSIONS)
834     PFN_vkCmdDispatchGraphIndirectAMDX CmdDispatchGraphIndirectAMDX;
835 #endif // VK_ENABLE_BETA_EXTENSIONS
836 #if defined(VK_ENABLE_BETA_EXTENSIONS)
837     PFN_vkCmdDispatchGraphIndirectCountAMDX CmdDispatchGraphIndirectCountAMDX;
838 #endif // VK_ENABLE_BETA_EXTENSIONS
839 
840     // ---- VK_EXT_sample_locations extension commands
841     PFN_vkCmdSetSampleLocationsEXT CmdSetSampleLocationsEXT;
842 
843     // ---- VK_EXT_image_drm_format_modifier extension commands
844     PFN_vkGetImageDrmFormatModifierPropertiesEXT GetImageDrmFormatModifierPropertiesEXT;
845 
846     // ---- VK_EXT_validation_cache extension commands
847     PFN_vkCreateValidationCacheEXT CreateValidationCacheEXT;
848     PFN_vkDestroyValidationCacheEXT DestroyValidationCacheEXT;
849     PFN_vkMergeValidationCachesEXT MergeValidationCachesEXT;
850     PFN_vkGetValidationCacheDataEXT GetValidationCacheDataEXT;
851 
852     // ---- VK_NV_shading_rate_image extension commands
853     PFN_vkCmdBindShadingRateImageNV CmdBindShadingRateImageNV;
854     PFN_vkCmdSetViewportShadingRatePaletteNV CmdSetViewportShadingRatePaletteNV;
855     PFN_vkCmdSetCoarseSampleOrderNV CmdSetCoarseSampleOrderNV;
856 
857     // ---- VK_NV_ray_tracing extension commands
858     PFN_vkCreateAccelerationStructureNV CreateAccelerationStructureNV;
859     PFN_vkDestroyAccelerationStructureNV DestroyAccelerationStructureNV;
860     PFN_vkGetAccelerationStructureMemoryRequirementsNV GetAccelerationStructureMemoryRequirementsNV;
861     PFN_vkBindAccelerationStructureMemoryNV BindAccelerationStructureMemoryNV;
862     PFN_vkCmdBuildAccelerationStructureNV CmdBuildAccelerationStructureNV;
863     PFN_vkCmdCopyAccelerationStructureNV CmdCopyAccelerationStructureNV;
864     PFN_vkCmdTraceRaysNV CmdTraceRaysNV;
865     PFN_vkCreateRayTracingPipelinesNV CreateRayTracingPipelinesNV;
866     PFN_vkGetRayTracingShaderGroupHandlesKHR GetRayTracingShaderGroupHandlesKHR;
867     PFN_vkGetRayTracingShaderGroupHandlesNV GetRayTracingShaderGroupHandlesNV;
868     PFN_vkGetAccelerationStructureHandleNV GetAccelerationStructureHandleNV;
869     PFN_vkCmdWriteAccelerationStructuresPropertiesNV CmdWriteAccelerationStructuresPropertiesNV;
870     PFN_vkCompileDeferredNV CompileDeferredNV;
871 
872     // ---- VK_EXT_external_memory_host extension commands
873     PFN_vkGetMemoryHostPointerPropertiesEXT GetMemoryHostPointerPropertiesEXT;
874 
875     // ---- VK_AMD_buffer_marker extension commands
876     PFN_vkCmdWriteBufferMarkerAMD CmdWriteBufferMarkerAMD;
877     PFN_vkCmdWriteBufferMarker2AMD CmdWriteBufferMarker2AMD;
878 
879     // ---- VK_EXT_calibrated_timestamps extension commands
880     PFN_vkGetCalibratedTimestampsEXT GetCalibratedTimestampsEXT;
881 
882     // ---- VK_NV_mesh_shader extension commands
883     PFN_vkCmdDrawMeshTasksNV CmdDrawMeshTasksNV;
884     PFN_vkCmdDrawMeshTasksIndirectNV CmdDrawMeshTasksIndirectNV;
885     PFN_vkCmdDrawMeshTasksIndirectCountNV CmdDrawMeshTasksIndirectCountNV;
886 
887     // ---- VK_NV_scissor_exclusive extension commands
888     PFN_vkCmdSetExclusiveScissorEnableNV CmdSetExclusiveScissorEnableNV;
889     PFN_vkCmdSetExclusiveScissorNV CmdSetExclusiveScissorNV;
890 
891     // ---- VK_NV_device_diagnostic_checkpoints extension commands
892     PFN_vkCmdSetCheckpointNV CmdSetCheckpointNV;
893     PFN_vkGetQueueCheckpointDataNV GetQueueCheckpointDataNV;
894     PFN_vkGetQueueCheckpointData2NV GetQueueCheckpointData2NV;
895 
896     // ---- VK_INTEL_performance_query extension commands
897     PFN_vkInitializePerformanceApiINTEL InitializePerformanceApiINTEL;
898     PFN_vkUninitializePerformanceApiINTEL UninitializePerformanceApiINTEL;
899     PFN_vkCmdSetPerformanceMarkerINTEL CmdSetPerformanceMarkerINTEL;
900     PFN_vkCmdSetPerformanceStreamMarkerINTEL CmdSetPerformanceStreamMarkerINTEL;
901     PFN_vkCmdSetPerformanceOverrideINTEL CmdSetPerformanceOverrideINTEL;
902     PFN_vkAcquirePerformanceConfigurationINTEL AcquirePerformanceConfigurationINTEL;
903     PFN_vkReleasePerformanceConfigurationINTEL ReleasePerformanceConfigurationINTEL;
904     PFN_vkQueueSetPerformanceConfigurationINTEL QueueSetPerformanceConfigurationINTEL;
905     PFN_vkGetPerformanceParameterINTEL GetPerformanceParameterINTEL;
906 
907     // ---- VK_AMD_display_native_hdr extension commands
908     PFN_vkSetLocalDimmingAMD SetLocalDimmingAMD;
909 
910     // ---- VK_EXT_buffer_device_address extension commands
911     PFN_vkGetBufferDeviceAddressEXT GetBufferDeviceAddressEXT;
912 
913     // ---- VK_EXT_full_screen_exclusive extension commands
914 #if defined(VK_USE_PLATFORM_WIN32_KHR)
915     PFN_vkAcquireFullScreenExclusiveModeEXT AcquireFullScreenExclusiveModeEXT;
916 #endif // VK_USE_PLATFORM_WIN32_KHR
917 #if defined(VK_USE_PLATFORM_WIN32_KHR)
918     PFN_vkReleaseFullScreenExclusiveModeEXT ReleaseFullScreenExclusiveModeEXT;
919 #endif // VK_USE_PLATFORM_WIN32_KHR
920 #if defined(VK_USE_PLATFORM_WIN32_KHR)
921     PFN_vkGetDeviceGroupSurfacePresentModes2EXT GetDeviceGroupSurfacePresentModes2EXT;
922 #endif // VK_USE_PLATFORM_WIN32_KHR
923 
924     // ---- VK_EXT_line_rasterization extension commands
925     PFN_vkCmdSetLineStippleEXT CmdSetLineStippleEXT;
926 
927     // ---- VK_EXT_host_query_reset extension commands
928     PFN_vkResetQueryPoolEXT ResetQueryPoolEXT;
929 
930     // ---- VK_EXT_extended_dynamic_state extension commands
931     PFN_vkCmdSetCullModeEXT CmdSetCullModeEXT;
932     PFN_vkCmdSetFrontFaceEXT CmdSetFrontFaceEXT;
933     PFN_vkCmdSetPrimitiveTopologyEXT CmdSetPrimitiveTopologyEXT;
934     PFN_vkCmdSetViewportWithCountEXT CmdSetViewportWithCountEXT;
935     PFN_vkCmdSetScissorWithCountEXT CmdSetScissorWithCountEXT;
936     PFN_vkCmdBindVertexBuffers2EXT CmdBindVertexBuffers2EXT;
937     PFN_vkCmdSetDepthTestEnableEXT CmdSetDepthTestEnableEXT;
938     PFN_vkCmdSetDepthWriteEnableEXT CmdSetDepthWriteEnableEXT;
939     PFN_vkCmdSetDepthCompareOpEXT CmdSetDepthCompareOpEXT;
940     PFN_vkCmdSetDepthBoundsTestEnableEXT CmdSetDepthBoundsTestEnableEXT;
941     PFN_vkCmdSetStencilTestEnableEXT CmdSetStencilTestEnableEXT;
942     PFN_vkCmdSetStencilOpEXT CmdSetStencilOpEXT;
943 
944     // ---- VK_EXT_host_image_copy extension commands
945     PFN_vkCopyMemoryToImageEXT CopyMemoryToImageEXT;
946     PFN_vkCopyImageToMemoryEXT CopyImageToMemoryEXT;
947     PFN_vkCopyImageToImageEXT CopyImageToImageEXT;
948     PFN_vkTransitionImageLayoutEXT TransitionImageLayoutEXT;
949     PFN_vkGetImageSubresourceLayout2EXT GetImageSubresourceLayout2EXT;
950 
951     // ---- VK_EXT_swapchain_maintenance1 extension commands
952     PFN_vkReleaseSwapchainImagesEXT ReleaseSwapchainImagesEXT;
953 
954     // ---- VK_NV_device_generated_commands extension commands
955     PFN_vkGetGeneratedCommandsMemoryRequirementsNV GetGeneratedCommandsMemoryRequirementsNV;
956     PFN_vkCmdPreprocessGeneratedCommandsNV CmdPreprocessGeneratedCommandsNV;
957     PFN_vkCmdExecuteGeneratedCommandsNV CmdExecuteGeneratedCommandsNV;
958     PFN_vkCmdBindPipelineShaderGroupNV CmdBindPipelineShaderGroupNV;
959     PFN_vkCreateIndirectCommandsLayoutNV CreateIndirectCommandsLayoutNV;
960     PFN_vkDestroyIndirectCommandsLayoutNV DestroyIndirectCommandsLayoutNV;
961 
962     // ---- VK_EXT_depth_bias_control extension commands
963     PFN_vkCmdSetDepthBias2EXT CmdSetDepthBias2EXT;
964 
965     // ---- VK_EXT_private_data extension commands
966     PFN_vkCreatePrivateDataSlotEXT CreatePrivateDataSlotEXT;
967     PFN_vkDestroyPrivateDataSlotEXT DestroyPrivateDataSlotEXT;
968     PFN_vkSetPrivateDataEXT SetPrivateDataEXT;
969     PFN_vkGetPrivateDataEXT GetPrivateDataEXT;
970 
971     // ---- VK_NV_cuda_kernel_launch extension commands
972     PFN_vkCreateCudaModuleNV CreateCudaModuleNV;
973     PFN_vkGetCudaModuleCacheNV GetCudaModuleCacheNV;
974     PFN_vkCreateCudaFunctionNV CreateCudaFunctionNV;
975     PFN_vkDestroyCudaModuleNV DestroyCudaModuleNV;
976     PFN_vkDestroyCudaFunctionNV DestroyCudaFunctionNV;
977     PFN_vkCmdCudaLaunchKernelNV CmdCudaLaunchKernelNV;
978 
979     // ---- VK_EXT_metal_objects extension commands
980 #if defined(VK_USE_PLATFORM_METAL_EXT)
981     PFN_vkExportMetalObjectsEXT ExportMetalObjectsEXT;
982 #endif // VK_USE_PLATFORM_METAL_EXT
983 
984     // ---- VK_EXT_descriptor_buffer extension commands
985     PFN_vkGetDescriptorSetLayoutSizeEXT GetDescriptorSetLayoutSizeEXT;
986     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT GetDescriptorSetLayoutBindingOffsetEXT;
987     PFN_vkGetDescriptorEXT GetDescriptorEXT;
988     PFN_vkCmdBindDescriptorBuffersEXT CmdBindDescriptorBuffersEXT;
989     PFN_vkCmdSetDescriptorBufferOffsetsEXT CmdSetDescriptorBufferOffsetsEXT;
990     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT CmdBindDescriptorBufferEmbeddedSamplersEXT;
991     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT GetBufferOpaqueCaptureDescriptorDataEXT;
992     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT GetImageOpaqueCaptureDescriptorDataEXT;
993     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT GetImageViewOpaqueCaptureDescriptorDataEXT;
994     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT GetSamplerOpaqueCaptureDescriptorDataEXT;
995     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT GetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
996 
997     // ---- VK_NV_fragment_shading_rate_enums extension commands
998     PFN_vkCmdSetFragmentShadingRateEnumNV CmdSetFragmentShadingRateEnumNV;
999 
1000     // ---- VK_EXT_device_fault extension commands
1001     PFN_vkGetDeviceFaultInfoEXT GetDeviceFaultInfoEXT;
1002 
1003     // ---- VK_EXT_vertex_input_dynamic_state extension commands
1004     PFN_vkCmdSetVertexInputEXT CmdSetVertexInputEXT;
1005 
1006     // ---- VK_FUCHSIA_external_memory extension commands
1007 #if defined(VK_USE_PLATFORM_FUCHSIA)
1008     PFN_vkGetMemoryZirconHandleFUCHSIA GetMemoryZirconHandleFUCHSIA;
1009 #endif // VK_USE_PLATFORM_FUCHSIA
1010 #if defined(VK_USE_PLATFORM_FUCHSIA)
1011     PFN_vkGetMemoryZirconHandlePropertiesFUCHSIA GetMemoryZirconHandlePropertiesFUCHSIA;
1012 #endif // VK_USE_PLATFORM_FUCHSIA
1013 
1014     // ---- VK_FUCHSIA_external_semaphore extension commands
1015 #if defined(VK_USE_PLATFORM_FUCHSIA)
1016     PFN_vkImportSemaphoreZirconHandleFUCHSIA ImportSemaphoreZirconHandleFUCHSIA;
1017 #endif // VK_USE_PLATFORM_FUCHSIA
1018 #if defined(VK_USE_PLATFORM_FUCHSIA)
1019     PFN_vkGetSemaphoreZirconHandleFUCHSIA GetSemaphoreZirconHandleFUCHSIA;
1020 #endif // VK_USE_PLATFORM_FUCHSIA
1021 
1022     // ---- VK_FUCHSIA_buffer_collection extension commands
1023 #if defined(VK_USE_PLATFORM_FUCHSIA)
1024     PFN_vkCreateBufferCollectionFUCHSIA CreateBufferCollectionFUCHSIA;
1025 #endif // VK_USE_PLATFORM_FUCHSIA
1026 #if defined(VK_USE_PLATFORM_FUCHSIA)
1027     PFN_vkSetBufferCollectionImageConstraintsFUCHSIA SetBufferCollectionImageConstraintsFUCHSIA;
1028 #endif // VK_USE_PLATFORM_FUCHSIA
1029 #if defined(VK_USE_PLATFORM_FUCHSIA)
1030     PFN_vkSetBufferCollectionBufferConstraintsFUCHSIA SetBufferCollectionBufferConstraintsFUCHSIA;
1031 #endif // VK_USE_PLATFORM_FUCHSIA
1032 #if defined(VK_USE_PLATFORM_FUCHSIA)
1033     PFN_vkDestroyBufferCollectionFUCHSIA DestroyBufferCollectionFUCHSIA;
1034 #endif // VK_USE_PLATFORM_FUCHSIA
1035 #if defined(VK_USE_PLATFORM_FUCHSIA)
1036     PFN_vkGetBufferCollectionPropertiesFUCHSIA GetBufferCollectionPropertiesFUCHSIA;
1037 #endif // VK_USE_PLATFORM_FUCHSIA
1038 
1039     // ---- VK_HUAWEI_subpass_shading extension commands
1040     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
1041     PFN_vkCmdSubpassShadingHUAWEI CmdSubpassShadingHUAWEI;
1042 
1043     // ---- VK_HUAWEI_invocation_mask extension commands
1044     PFN_vkCmdBindInvocationMaskHUAWEI CmdBindInvocationMaskHUAWEI;
1045 
1046     // ---- VK_NV_external_memory_rdma extension commands
1047     PFN_vkGetMemoryRemoteAddressNV GetMemoryRemoteAddressNV;
1048 
1049     // ---- VK_EXT_pipeline_properties extension commands
1050     PFN_vkGetPipelinePropertiesEXT GetPipelinePropertiesEXT;
1051 
1052     // ---- VK_EXT_extended_dynamic_state2 extension commands
1053     PFN_vkCmdSetPatchControlPointsEXT CmdSetPatchControlPointsEXT;
1054     PFN_vkCmdSetRasterizerDiscardEnableEXT CmdSetRasterizerDiscardEnableEXT;
1055     PFN_vkCmdSetDepthBiasEnableEXT CmdSetDepthBiasEnableEXT;
1056     PFN_vkCmdSetLogicOpEXT CmdSetLogicOpEXT;
1057     PFN_vkCmdSetPrimitiveRestartEnableEXT CmdSetPrimitiveRestartEnableEXT;
1058 
1059     // ---- VK_EXT_color_write_enable extension commands
1060     PFN_vkCmdSetColorWriteEnableEXT CmdSetColorWriteEnableEXT;
1061 
1062     // ---- VK_EXT_multi_draw extension commands
1063     PFN_vkCmdDrawMultiEXT CmdDrawMultiEXT;
1064     PFN_vkCmdDrawMultiIndexedEXT CmdDrawMultiIndexedEXT;
1065 
1066     // ---- VK_EXT_opacity_micromap extension commands
1067     PFN_vkCreateMicromapEXT CreateMicromapEXT;
1068     PFN_vkDestroyMicromapEXT DestroyMicromapEXT;
1069     PFN_vkCmdBuildMicromapsEXT CmdBuildMicromapsEXT;
1070     PFN_vkBuildMicromapsEXT BuildMicromapsEXT;
1071     PFN_vkCopyMicromapEXT CopyMicromapEXT;
1072     PFN_vkCopyMicromapToMemoryEXT CopyMicromapToMemoryEXT;
1073     PFN_vkCopyMemoryToMicromapEXT CopyMemoryToMicromapEXT;
1074     PFN_vkWriteMicromapsPropertiesEXT WriteMicromapsPropertiesEXT;
1075     PFN_vkCmdCopyMicromapEXT CmdCopyMicromapEXT;
1076     PFN_vkCmdCopyMicromapToMemoryEXT CmdCopyMicromapToMemoryEXT;
1077     PFN_vkCmdCopyMemoryToMicromapEXT CmdCopyMemoryToMicromapEXT;
1078     PFN_vkCmdWriteMicromapsPropertiesEXT CmdWriteMicromapsPropertiesEXT;
1079     PFN_vkGetDeviceMicromapCompatibilityEXT GetDeviceMicromapCompatibilityEXT;
1080     PFN_vkGetMicromapBuildSizesEXT GetMicromapBuildSizesEXT;
1081 
1082     // ---- VK_HUAWEI_cluster_culling_shader extension commands
1083     PFN_vkCmdDrawClusterHUAWEI CmdDrawClusterHUAWEI;
1084     PFN_vkCmdDrawClusterIndirectHUAWEI CmdDrawClusterIndirectHUAWEI;
1085 
1086     // ---- VK_EXT_pageable_device_local_memory extension commands
1087     PFN_vkSetDeviceMemoryPriorityEXT SetDeviceMemoryPriorityEXT;
1088 
1089     // ---- VK_VALVE_descriptor_set_host_mapping extension commands
1090     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE GetDescriptorSetLayoutHostMappingInfoVALVE;
1091     PFN_vkGetDescriptorSetHostMappingVALVE GetDescriptorSetHostMappingVALVE;
1092 
1093     // ---- VK_NV_copy_memory_indirect extension commands
1094     PFN_vkCmdCopyMemoryIndirectNV CmdCopyMemoryIndirectNV;
1095     PFN_vkCmdCopyMemoryToImageIndirectNV CmdCopyMemoryToImageIndirectNV;
1096 
1097     // ---- VK_NV_memory_decompression extension commands
1098     PFN_vkCmdDecompressMemoryNV CmdDecompressMemoryNV;
1099     PFN_vkCmdDecompressMemoryIndirectCountNV CmdDecompressMemoryIndirectCountNV;
1100 
1101     // ---- VK_NV_device_generated_commands_compute extension commands
1102     PFN_vkGetPipelineIndirectMemoryRequirementsNV GetPipelineIndirectMemoryRequirementsNV;
1103     PFN_vkCmdUpdatePipelineIndirectBufferNV CmdUpdatePipelineIndirectBufferNV;
1104     PFN_vkGetPipelineIndirectDeviceAddressNV GetPipelineIndirectDeviceAddressNV;
1105 
1106     // ---- VK_EXT_extended_dynamic_state3 extension commands
1107     PFN_vkCmdSetDepthClampEnableEXT CmdSetDepthClampEnableEXT;
1108     PFN_vkCmdSetPolygonModeEXT CmdSetPolygonModeEXT;
1109     PFN_vkCmdSetRasterizationSamplesEXT CmdSetRasterizationSamplesEXT;
1110     PFN_vkCmdSetSampleMaskEXT CmdSetSampleMaskEXT;
1111     PFN_vkCmdSetAlphaToCoverageEnableEXT CmdSetAlphaToCoverageEnableEXT;
1112     PFN_vkCmdSetAlphaToOneEnableEXT CmdSetAlphaToOneEnableEXT;
1113     PFN_vkCmdSetLogicOpEnableEXT CmdSetLogicOpEnableEXT;
1114     PFN_vkCmdSetColorBlendEnableEXT CmdSetColorBlendEnableEXT;
1115     PFN_vkCmdSetColorBlendEquationEXT CmdSetColorBlendEquationEXT;
1116     PFN_vkCmdSetColorWriteMaskEXT CmdSetColorWriteMaskEXT;
1117     PFN_vkCmdSetTessellationDomainOriginEXT CmdSetTessellationDomainOriginEXT;
1118     PFN_vkCmdSetRasterizationStreamEXT CmdSetRasterizationStreamEXT;
1119     PFN_vkCmdSetConservativeRasterizationModeEXT CmdSetConservativeRasterizationModeEXT;
1120     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT CmdSetExtraPrimitiveOverestimationSizeEXT;
1121     PFN_vkCmdSetDepthClipEnableEXT CmdSetDepthClipEnableEXT;
1122     PFN_vkCmdSetSampleLocationsEnableEXT CmdSetSampleLocationsEnableEXT;
1123     PFN_vkCmdSetColorBlendAdvancedEXT CmdSetColorBlendAdvancedEXT;
1124     PFN_vkCmdSetProvokingVertexModeEXT CmdSetProvokingVertexModeEXT;
1125     PFN_vkCmdSetLineRasterizationModeEXT CmdSetLineRasterizationModeEXT;
1126     PFN_vkCmdSetLineStippleEnableEXT CmdSetLineStippleEnableEXT;
1127     PFN_vkCmdSetDepthClipNegativeOneToOneEXT CmdSetDepthClipNegativeOneToOneEXT;
1128     PFN_vkCmdSetViewportWScalingEnableNV CmdSetViewportWScalingEnableNV;
1129     PFN_vkCmdSetViewportSwizzleNV CmdSetViewportSwizzleNV;
1130     PFN_vkCmdSetCoverageToColorEnableNV CmdSetCoverageToColorEnableNV;
1131     PFN_vkCmdSetCoverageToColorLocationNV CmdSetCoverageToColorLocationNV;
1132     PFN_vkCmdSetCoverageModulationModeNV CmdSetCoverageModulationModeNV;
1133     PFN_vkCmdSetCoverageModulationTableEnableNV CmdSetCoverageModulationTableEnableNV;
1134     PFN_vkCmdSetCoverageModulationTableNV CmdSetCoverageModulationTableNV;
1135     PFN_vkCmdSetShadingRateImageEnableNV CmdSetShadingRateImageEnableNV;
1136     PFN_vkCmdSetRepresentativeFragmentTestEnableNV CmdSetRepresentativeFragmentTestEnableNV;
1137     PFN_vkCmdSetCoverageReductionModeNV CmdSetCoverageReductionModeNV;
1138 
1139     // ---- VK_EXT_shader_module_identifier extension commands
1140     PFN_vkGetShaderModuleIdentifierEXT GetShaderModuleIdentifierEXT;
1141     PFN_vkGetShaderModuleCreateInfoIdentifierEXT GetShaderModuleCreateInfoIdentifierEXT;
1142 
1143     // ---- VK_NV_optical_flow extension commands
1144     PFN_vkCreateOpticalFlowSessionNV CreateOpticalFlowSessionNV;
1145     PFN_vkDestroyOpticalFlowSessionNV DestroyOpticalFlowSessionNV;
1146     PFN_vkBindOpticalFlowSessionImageNV BindOpticalFlowSessionImageNV;
1147     PFN_vkCmdOpticalFlowExecuteNV CmdOpticalFlowExecuteNV;
1148 
1149     // ---- VK_AMD_anti_lag extension commands
1150     PFN_vkAntiLagUpdateAMD AntiLagUpdateAMD;
1151 
1152     // ---- VK_EXT_shader_object extension commands
1153     PFN_vkCreateShadersEXT CreateShadersEXT;
1154     PFN_vkDestroyShaderEXT DestroyShaderEXT;
1155     PFN_vkGetShaderBinaryDataEXT GetShaderBinaryDataEXT;
1156     PFN_vkCmdBindShadersEXT CmdBindShadersEXT;
1157     PFN_vkCmdSetDepthClampRangeEXT CmdSetDepthClampRangeEXT;
1158 
1159     // ---- VK_QCOM_tile_properties extension commands
1160     PFN_vkGetFramebufferTilePropertiesQCOM GetFramebufferTilePropertiesQCOM;
1161     PFN_vkGetDynamicRenderingTilePropertiesQCOM GetDynamicRenderingTilePropertiesQCOM;
1162 
1163     // ---- VK_NV_cooperative_vector extension commands
1164     PFN_vkConvertCooperativeVectorMatrixNV ConvertCooperativeVectorMatrixNV;
1165     PFN_vkCmdConvertCooperativeVectorMatrixNV CmdConvertCooperativeVectorMatrixNV;
1166 
1167     // ---- VK_NV_low_latency2 extension commands
1168     PFN_vkSetLatencySleepModeNV SetLatencySleepModeNV;
1169     PFN_vkLatencySleepNV LatencySleepNV;
1170     PFN_vkSetLatencyMarkerNV SetLatencyMarkerNV;
1171     PFN_vkGetLatencyTimingsNV GetLatencyTimingsNV;
1172     PFN_vkQueueNotifyOutOfBandNV QueueNotifyOutOfBandNV;
1173 
1174     // ---- VK_EXT_attachment_feedback_loop_dynamic_state extension commands
1175     PFN_vkCmdSetAttachmentFeedbackLoopEnableEXT CmdSetAttachmentFeedbackLoopEnableEXT;
1176 
1177     // ---- VK_QNX_external_memory_screen_buffer extension commands
1178 #if defined(VK_USE_PLATFORM_SCREEN_QNX)
1179     PFN_vkGetScreenBufferPropertiesQNX GetScreenBufferPropertiesQNX;
1180 #endif // VK_USE_PLATFORM_SCREEN_QNX
1181 
1182     // ---- VK_NV_cluster_acceleration_structure extension commands
1183     PFN_vkGetClusterAccelerationStructureBuildSizesNV GetClusterAccelerationStructureBuildSizesNV;
1184     PFN_vkCmdBuildClusterAccelerationStructureIndirectNV CmdBuildClusterAccelerationStructureIndirectNV;
1185 
1186     // ---- VK_NV_partitioned_acceleration_structure extension commands
1187     PFN_vkGetPartitionedAccelerationStructuresBuildSizesNV GetPartitionedAccelerationStructuresBuildSizesNV;
1188     PFN_vkCmdBuildPartitionedAccelerationStructuresNV CmdBuildPartitionedAccelerationStructuresNV;
1189 
1190     // ---- VK_EXT_device_generated_commands extension commands
1191     PFN_vkGetGeneratedCommandsMemoryRequirementsEXT GetGeneratedCommandsMemoryRequirementsEXT;
1192     PFN_vkCmdPreprocessGeneratedCommandsEXT CmdPreprocessGeneratedCommandsEXT;
1193     PFN_vkCmdExecuteGeneratedCommandsEXT CmdExecuteGeneratedCommandsEXT;
1194     PFN_vkCreateIndirectCommandsLayoutEXT CreateIndirectCommandsLayoutEXT;
1195     PFN_vkDestroyIndirectCommandsLayoutEXT DestroyIndirectCommandsLayoutEXT;
1196     PFN_vkCreateIndirectExecutionSetEXT CreateIndirectExecutionSetEXT;
1197     PFN_vkDestroyIndirectExecutionSetEXT DestroyIndirectExecutionSetEXT;
1198     PFN_vkUpdateIndirectExecutionSetPipelineEXT UpdateIndirectExecutionSetPipelineEXT;
1199     PFN_vkUpdateIndirectExecutionSetShaderEXT UpdateIndirectExecutionSetShaderEXT;
1200 
1201     // ---- VK_EXT_external_memory_metal extension commands
1202 #if defined(VK_USE_PLATFORM_METAL_EXT)
1203     PFN_vkGetMemoryMetalHandleEXT GetMemoryMetalHandleEXT;
1204 #endif // VK_USE_PLATFORM_METAL_EXT
1205 #if defined(VK_USE_PLATFORM_METAL_EXT)
1206     PFN_vkGetMemoryMetalHandlePropertiesEXT GetMemoryMetalHandlePropertiesEXT;
1207 #endif // VK_USE_PLATFORM_METAL_EXT
1208 
1209     // ---- VK_KHR_acceleration_structure extension commands
1210     PFN_vkCreateAccelerationStructureKHR CreateAccelerationStructureKHR;
1211     PFN_vkDestroyAccelerationStructureKHR DestroyAccelerationStructureKHR;
1212     PFN_vkCmdBuildAccelerationStructuresKHR CmdBuildAccelerationStructuresKHR;
1213     PFN_vkCmdBuildAccelerationStructuresIndirectKHR CmdBuildAccelerationStructuresIndirectKHR;
1214     PFN_vkBuildAccelerationStructuresKHR BuildAccelerationStructuresKHR;
1215     PFN_vkCopyAccelerationStructureKHR CopyAccelerationStructureKHR;
1216     PFN_vkCopyAccelerationStructureToMemoryKHR CopyAccelerationStructureToMemoryKHR;
1217     PFN_vkCopyMemoryToAccelerationStructureKHR CopyMemoryToAccelerationStructureKHR;
1218     PFN_vkWriteAccelerationStructuresPropertiesKHR WriteAccelerationStructuresPropertiesKHR;
1219     PFN_vkCmdCopyAccelerationStructureKHR CmdCopyAccelerationStructureKHR;
1220     PFN_vkCmdCopyAccelerationStructureToMemoryKHR CmdCopyAccelerationStructureToMemoryKHR;
1221     PFN_vkCmdCopyMemoryToAccelerationStructureKHR CmdCopyMemoryToAccelerationStructureKHR;
1222     PFN_vkGetAccelerationStructureDeviceAddressKHR GetAccelerationStructureDeviceAddressKHR;
1223     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR CmdWriteAccelerationStructuresPropertiesKHR;
1224     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR GetDeviceAccelerationStructureCompatibilityKHR;
1225     PFN_vkGetAccelerationStructureBuildSizesKHR GetAccelerationStructureBuildSizesKHR;
1226 
1227     // ---- VK_KHR_ray_tracing_pipeline extension commands
1228     PFN_vkCmdTraceRaysKHR CmdTraceRaysKHR;
1229     PFN_vkCreateRayTracingPipelinesKHR CreateRayTracingPipelinesKHR;
1230     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR GetRayTracingCaptureReplayShaderGroupHandlesKHR;
1231     PFN_vkCmdTraceRaysIndirectKHR CmdTraceRaysIndirectKHR;
1232     PFN_vkGetRayTracingShaderGroupStackSizeKHR GetRayTracingShaderGroupStackSizeKHR;
1233     PFN_vkCmdSetRayTracingPipelineStackSizeKHR CmdSetRayTracingPipelineStackSizeKHR;
1234 
1235     // ---- VK_EXT_mesh_shader extension commands
1236     PFN_vkCmdDrawMeshTasksEXT CmdDrawMeshTasksEXT;
1237     PFN_vkCmdDrawMeshTasksIndirectEXT CmdDrawMeshTasksIndirectEXT;
1238     PFN_vkCmdDrawMeshTasksIndirectCountEXT CmdDrawMeshTasksIndirectCountEXT;
1239 
1240     // ---- VK_OHOS_native_buffer extension commands
1241 #ifdef VK_USE_PLATFORM_OHOS
1242     PFN_vkGetSwapchainGrallocUsageOHOS GetSwapchainGrallocUsageOHOS;
1243 #endif // VK_USE_PLATFORM_OHOS
1244 #ifdef VK_USE_PLATFORM_OHOS
1245     PFN_vkAcquireImageOHOS AcquireImageOHOS;
1246 #endif // VK_USE_PLATFORM_OHOS
1247 #ifdef VK_USE_PLATFORM_OHOS
1248     PFN_vkQueueSignalReleaseImageOHOS QueueSignalReleaseImageOHOS;
1249 #endif // VK_USE_PLATFORM_OHOS
1250 
1251     // ---- VK_OHOS_external_memory extension commands
1252 #ifdef VK_USE_PLATFORM_OHOS
1253     PFN_vkGetNativeBufferPropertiesOHOS GetNativeBufferPropertiesOHOS;
1254 #endif // VK_USE_PLATFORM_OHOS
1255 #ifdef VK_USE_PLATFORM_OHOS
1256     PFN_vkGetMemoryNativeBufferOHOS GetMemoryNativeBufferOHOS;
1257 #endif // VK_USE_PLATFORM_OHOS
1258 } VkLayerDispatchTable;
1259 
1260 // clang-format on
1261