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