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)
31typedef PFN_vkVoidFunction (VKAPI_PTR *PFN_GetPhysicalDeviceProcAddr)(VkInstance instance, const char* pName);
32#endif
33
34// Instance function pointer dispatch table
35typedef 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
300typedef 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