The OpenD Programming Language

1 /**
2  * Dlang vulkan device related func loader as struct members
3  *
4  * Copyright: Copyright 2015-2016 The Khronos Group Inc.; Copyright 2016 Alex Parrill, Peter Particle.
5  * License:   $(https://opensource.org/licenses/MIT, MIT License).
6  * Authors: Copyright 2016 Alex Parrill, Peter Particle
7  */
8 module erupted.dispatch_device;
9 
10 public import erupted.types;
11 import erupted.functions;
12 
13 nothrow @nogc:
14 
15 
16 /// struct to group per device device level functions into a custom namespace
17 /// keeps track of the device to which the functions are bound
18 /// additionally to the device related vulkan functions, convenience functions exist
19 /// with same name but omitting the vk prefix as well as the first (VkDevice) parameter
20 /// these functions forward to their vk counterparts using the VkDevice member of the DispatchDevice
21 /// Moreover the same convenience functions exist for vkCmd... functions. In this case the
22 /// first parameter is substituted with the public member VkCommandBuffer commandBuffer,
23 /// which must have been set to a valid command buffer before usage.
24 struct DispatchDevice {
25 
26     private VkDevice                           device          = VK_NULL_HANDLE;
27     private const( VkAllocationCallbacks )*    allocator       = null;
28     VkCommandBuffer                            commandBuffer   = VK_NULL_HANDLE;
29 
30 
31     /// return copy of the internal VkDevice
32     VkDevice vkDevice() {
33         return device;
34     }
35 
36 
37     /// return const allocator address
38     const( VkAllocationCallbacks )* pAllocator() {
39         return allocator;
40     }
41 
42 
43     /// constructor forwards parameter 'device' to 'this.loadDeviceLevelFunctions'
44     this( VkDevice device, const( VkAllocationCallbacks )* allocator = null ) {
45         this.loadDeviceLevelFunctions( device );
46     }
47 
48 
49     /// load the device level member functions
50     /// this also sets the private member 'device' to the passed in VkDevice
51     /// as well as the otional host allocator
52     /// if a custom allocator is required it must be specified here and cannot be changed throughout the liftime of the device
53     /// now the DispatchDevice can be used e.g.:
54     ///      auto dd = DispatchDevice( device );
55     ///      dd.vkDestroyDevice( dd.vkDevice, pAllocator );
56     /// convenience functions to omit the first arg and the allocator do exist, see bellow
57     void loadDeviceLevelFunctions( VkDevice device, const( VkAllocationCallbacks )* allocator = null ) {
58         assert( vkGetInstanceProcAddr !is null, "Function pointer vkGetInstanceProcAddr is null!\nCall loadGlobalLevelFunctions -> loadInstanceLevelFunctions -> DispatchDevice.loadDeviceLevelFunctions" );
59         this.allocator = allocator;
60         this.device = device;
61 
62         // VK_VERSION_1_0
63         vkDestroyDevice                                          = cast( PFN_vkDestroyDevice                                          ) vkGetDeviceProcAddr( device, "vkDestroyDevice" );
64         vkGetDeviceQueue                                         = cast( PFN_vkGetDeviceQueue                                         ) vkGetDeviceProcAddr( device, "vkGetDeviceQueue" );
65         vkQueueSubmit                                            = cast( PFN_vkQueueSubmit                                            ) vkGetDeviceProcAddr( device, "vkQueueSubmit" );
66         vkQueueWaitIdle                                          = cast( PFN_vkQueueWaitIdle                                          ) vkGetDeviceProcAddr( device, "vkQueueWaitIdle" );
67         vkDeviceWaitIdle                                         = cast( PFN_vkDeviceWaitIdle                                         ) vkGetDeviceProcAddr( device, "vkDeviceWaitIdle" );
68         vkAllocateMemory                                         = cast( PFN_vkAllocateMemory                                         ) vkGetDeviceProcAddr( device, "vkAllocateMemory" );
69         vkFreeMemory                                             = cast( PFN_vkFreeMemory                                             ) vkGetDeviceProcAddr( device, "vkFreeMemory" );
70         vkMapMemory                                              = cast( PFN_vkMapMemory                                              ) vkGetDeviceProcAddr( device, "vkMapMemory" );
71         vkUnmapMemory                                            = cast( PFN_vkUnmapMemory                                            ) vkGetDeviceProcAddr( device, "vkUnmapMemory" );
72         vkFlushMappedMemoryRanges                                = cast( PFN_vkFlushMappedMemoryRanges                                ) vkGetDeviceProcAddr( device, "vkFlushMappedMemoryRanges" );
73         vkInvalidateMappedMemoryRanges                           = cast( PFN_vkInvalidateMappedMemoryRanges                           ) vkGetDeviceProcAddr( device, "vkInvalidateMappedMemoryRanges" );
74         vkGetDeviceMemoryCommitment                              = cast( PFN_vkGetDeviceMemoryCommitment                              ) vkGetDeviceProcAddr( device, "vkGetDeviceMemoryCommitment" );
75         vkBindBufferMemory                                       = cast( PFN_vkBindBufferMemory                                       ) vkGetDeviceProcAddr( device, "vkBindBufferMemory" );
76         vkBindImageMemory                                        = cast( PFN_vkBindImageMemory                                        ) vkGetDeviceProcAddr( device, "vkBindImageMemory" );
77         vkGetBufferMemoryRequirements                            = cast( PFN_vkGetBufferMemoryRequirements                            ) vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements" );
78         vkGetImageMemoryRequirements                             = cast( PFN_vkGetImageMemoryRequirements                             ) vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements" );
79         vkGetImageSparseMemoryRequirements                       = cast( PFN_vkGetImageSparseMemoryRequirements                       ) vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements" );
80         vkQueueBindSparse                                        = cast( PFN_vkQueueBindSparse                                        ) vkGetDeviceProcAddr( device, "vkQueueBindSparse" );
81         vkCreateFence                                            = cast( PFN_vkCreateFence                                            ) vkGetDeviceProcAddr( device, "vkCreateFence" );
82         vkDestroyFence                                           = cast( PFN_vkDestroyFence                                           ) vkGetDeviceProcAddr( device, "vkDestroyFence" );
83         vkResetFences                                            = cast( PFN_vkResetFences                                            ) vkGetDeviceProcAddr( device, "vkResetFences" );
84         vkGetFenceStatus                                         = cast( PFN_vkGetFenceStatus                                         ) vkGetDeviceProcAddr( device, "vkGetFenceStatus" );
85         vkWaitForFences                                          = cast( PFN_vkWaitForFences                                          ) vkGetDeviceProcAddr( device, "vkWaitForFences" );
86         vkCreateSemaphore                                        = cast( PFN_vkCreateSemaphore                                        ) vkGetDeviceProcAddr( device, "vkCreateSemaphore" );
87         vkDestroySemaphore                                       = cast( PFN_vkDestroySemaphore                                       ) vkGetDeviceProcAddr( device, "vkDestroySemaphore" );
88         vkCreateEvent                                            = cast( PFN_vkCreateEvent                                            ) vkGetDeviceProcAddr( device, "vkCreateEvent" );
89         vkDestroyEvent                                           = cast( PFN_vkDestroyEvent                                           ) vkGetDeviceProcAddr( device, "vkDestroyEvent" );
90         vkGetEventStatus                                         = cast( PFN_vkGetEventStatus                                         ) vkGetDeviceProcAddr( device, "vkGetEventStatus" );
91         vkSetEvent                                               = cast( PFN_vkSetEvent                                               ) vkGetDeviceProcAddr( device, "vkSetEvent" );
92         vkResetEvent                                             = cast( PFN_vkResetEvent                                             ) vkGetDeviceProcAddr( device, "vkResetEvent" );
93         vkCreateQueryPool                                        = cast( PFN_vkCreateQueryPool                                        ) vkGetDeviceProcAddr( device, "vkCreateQueryPool" );
94         vkDestroyQueryPool                                       = cast( PFN_vkDestroyQueryPool                                       ) vkGetDeviceProcAddr( device, "vkDestroyQueryPool" );
95         vkGetQueryPoolResults                                    = cast( PFN_vkGetQueryPoolResults                                    ) vkGetDeviceProcAddr( device, "vkGetQueryPoolResults" );
96         vkCreateBuffer                                           = cast( PFN_vkCreateBuffer                                           ) vkGetDeviceProcAddr( device, "vkCreateBuffer" );
97         vkDestroyBuffer                                          = cast( PFN_vkDestroyBuffer                                          ) vkGetDeviceProcAddr( device, "vkDestroyBuffer" );
98         vkCreateBufferView                                       = cast( PFN_vkCreateBufferView                                       ) vkGetDeviceProcAddr( device, "vkCreateBufferView" );
99         vkDestroyBufferView                                      = cast( PFN_vkDestroyBufferView                                      ) vkGetDeviceProcAddr( device, "vkDestroyBufferView" );
100         vkCreateImage                                            = cast( PFN_vkCreateImage                                            ) vkGetDeviceProcAddr( device, "vkCreateImage" );
101         vkDestroyImage                                           = cast( PFN_vkDestroyImage                                           ) vkGetDeviceProcAddr( device, "vkDestroyImage" );
102         vkGetImageSubresourceLayout                              = cast( PFN_vkGetImageSubresourceLayout                              ) vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout" );
103         vkCreateImageView                                        = cast( PFN_vkCreateImageView                                        ) vkGetDeviceProcAddr( device, "vkCreateImageView" );
104         vkDestroyImageView                                       = cast( PFN_vkDestroyImageView                                       ) vkGetDeviceProcAddr( device, "vkDestroyImageView" );
105         vkCreateShaderModule                                     = cast( PFN_vkCreateShaderModule                                     ) vkGetDeviceProcAddr( device, "vkCreateShaderModule" );
106         vkDestroyShaderModule                                    = cast( PFN_vkDestroyShaderModule                                    ) vkGetDeviceProcAddr( device, "vkDestroyShaderModule" );
107         vkCreatePipelineCache                                    = cast( PFN_vkCreatePipelineCache                                    ) vkGetDeviceProcAddr( device, "vkCreatePipelineCache" );
108         vkDestroyPipelineCache                                   = cast( PFN_vkDestroyPipelineCache                                   ) vkGetDeviceProcAddr( device, "vkDestroyPipelineCache" );
109         vkGetPipelineCacheData                                   = cast( PFN_vkGetPipelineCacheData                                   ) vkGetDeviceProcAddr( device, "vkGetPipelineCacheData" );
110         vkMergePipelineCaches                                    = cast( PFN_vkMergePipelineCaches                                    ) vkGetDeviceProcAddr( device, "vkMergePipelineCaches" );
111         vkCreateGraphicsPipelines                                = cast( PFN_vkCreateGraphicsPipelines                                ) vkGetDeviceProcAddr( device, "vkCreateGraphicsPipelines" );
112         vkCreateComputePipelines                                 = cast( PFN_vkCreateComputePipelines                                 ) vkGetDeviceProcAddr( device, "vkCreateComputePipelines" );
113         vkDestroyPipeline                                        = cast( PFN_vkDestroyPipeline                                        ) vkGetDeviceProcAddr( device, "vkDestroyPipeline" );
114         vkCreatePipelineLayout                                   = cast( PFN_vkCreatePipelineLayout                                   ) vkGetDeviceProcAddr( device, "vkCreatePipelineLayout" );
115         vkDestroyPipelineLayout                                  = cast( PFN_vkDestroyPipelineLayout                                  ) vkGetDeviceProcAddr( device, "vkDestroyPipelineLayout" );
116         vkCreateSampler                                          = cast( PFN_vkCreateSampler                                          ) vkGetDeviceProcAddr( device, "vkCreateSampler" );
117         vkDestroySampler                                         = cast( PFN_vkDestroySampler                                         ) vkGetDeviceProcAddr( device, "vkDestroySampler" );
118         vkCreateDescriptorSetLayout                              = cast( PFN_vkCreateDescriptorSetLayout                              ) vkGetDeviceProcAddr( device, "vkCreateDescriptorSetLayout" );
119         vkDestroyDescriptorSetLayout                             = cast( PFN_vkDestroyDescriptorSetLayout                             ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorSetLayout" );
120         vkCreateDescriptorPool                                   = cast( PFN_vkCreateDescriptorPool                                   ) vkGetDeviceProcAddr( device, "vkCreateDescriptorPool" );
121         vkDestroyDescriptorPool                                  = cast( PFN_vkDestroyDescriptorPool                                  ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorPool" );
122         vkResetDescriptorPool                                    = cast( PFN_vkResetDescriptorPool                                    ) vkGetDeviceProcAddr( device, "vkResetDescriptorPool" );
123         vkAllocateDescriptorSets                                 = cast( PFN_vkAllocateDescriptorSets                                 ) vkGetDeviceProcAddr( device, "vkAllocateDescriptorSets" );
124         vkFreeDescriptorSets                                     = cast( PFN_vkFreeDescriptorSets                                     ) vkGetDeviceProcAddr( device, "vkFreeDescriptorSets" );
125         vkUpdateDescriptorSets                                   = cast( PFN_vkUpdateDescriptorSets                                   ) vkGetDeviceProcAddr( device, "vkUpdateDescriptorSets" );
126         vkCreateFramebuffer                                      = cast( PFN_vkCreateFramebuffer                                      ) vkGetDeviceProcAddr( device, "vkCreateFramebuffer" );
127         vkDestroyFramebuffer                                     = cast( PFN_vkDestroyFramebuffer                                     ) vkGetDeviceProcAddr( device, "vkDestroyFramebuffer" );
128         vkCreateRenderPass                                       = cast( PFN_vkCreateRenderPass                                       ) vkGetDeviceProcAddr( device, "vkCreateRenderPass" );
129         vkDestroyRenderPass                                      = cast( PFN_vkDestroyRenderPass                                      ) vkGetDeviceProcAddr( device, "vkDestroyRenderPass" );
130         vkGetRenderAreaGranularity                               = cast( PFN_vkGetRenderAreaGranularity                               ) vkGetDeviceProcAddr( device, "vkGetRenderAreaGranularity" );
131         vkCreateCommandPool                                      = cast( PFN_vkCreateCommandPool                                      ) vkGetDeviceProcAddr( device, "vkCreateCommandPool" );
132         vkDestroyCommandPool                                     = cast( PFN_vkDestroyCommandPool                                     ) vkGetDeviceProcAddr( device, "vkDestroyCommandPool" );
133         vkResetCommandPool                                       = cast( PFN_vkResetCommandPool                                       ) vkGetDeviceProcAddr( device, "vkResetCommandPool" );
134         vkAllocateCommandBuffers                                 = cast( PFN_vkAllocateCommandBuffers                                 ) vkGetDeviceProcAddr( device, "vkAllocateCommandBuffers" );
135         vkFreeCommandBuffers                                     = cast( PFN_vkFreeCommandBuffers                                     ) vkGetDeviceProcAddr( device, "vkFreeCommandBuffers" );
136         vkBeginCommandBuffer                                     = cast( PFN_vkBeginCommandBuffer                                     ) vkGetDeviceProcAddr( device, "vkBeginCommandBuffer" );
137         vkEndCommandBuffer                                       = cast( PFN_vkEndCommandBuffer                                       ) vkGetDeviceProcAddr( device, "vkEndCommandBuffer" );
138         vkResetCommandBuffer                                     = cast( PFN_vkResetCommandBuffer                                     ) vkGetDeviceProcAddr( device, "vkResetCommandBuffer" );
139         vkCmdBindPipeline                                        = cast( PFN_vkCmdBindPipeline                                        ) vkGetDeviceProcAddr( device, "vkCmdBindPipeline" );
140         vkCmdSetViewport                                         = cast( PFN_vkCmdSetViewport                                         ) vkGetDeviceProcAddr( device, "vkCmdSetViewport" );
141         vkCmdSetScissor                                          = cast( PFN_vkCmdSetScissor                                          ) vkGetDeviceProcAddr( device, "vkCmdSetScissor" );
142         vkCmdSetLineWidth                                        = cast( PFN_vkCmdSetLineWidth                                        ) vkGetDeviceProcAddr( device, "vkCmdSetLineWidth" );
143         vkCmdSetDepthBias                                        = cast( PFN_vkCmdSetDepthBias                                        ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBias" );
144         vkCmdSetBlendConstants                                   = cast( PFN_vkCmdSetBlendConstants                                   ) vkGetDeviceProcAddr( device, "vkCmdSetBlendConstants" );
145         vkCmdSetDepthBounds                                      = cast( PFN_vkCmdSetDepthBounds                                      ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBounds" );
146         vkCmdSetStencilCompareMask                               = cast( PFN_vkCmdSetStencilCompareMask                               ) vkGetDeviceProcAddr( device, "vkCmdSetStencilCompareMask" );
147         vkCmdSetStencilWriteMask                                 = cast( PFN_vkCmdSetStencilWriteMask                                 ) vkGetDeviceProcAddr( device, "vkCmdSetStencilWriteMask" );
148         vkCmdSetStencilReference                                 = cast( PFN_vkCmdSetStencilReference                                 ) vkGetDeviceProcAddr( device, "vkCmdSetStencilReference" );
149         vkCmdBindDescriptorSets                                  = cast( PFN_vkCmdBindDescriptorSets                                  ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorSets" );
150         vkCmdBindIndexBuffer                                     = cast( PFN_vkCmdBindIndexBuffer                                     ) vkGetDeviceProcAddr( device, "vkCmdBindIndexBuffer" );
151         vkCmdBindVertexBuffers                                   = cast( PFN_vkCmdBindVertexBuffers                                   ) vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers" );
152         vkCmdDraw                                                = cast( PFN_vkCmdDraw                                                ) vkGetDeviceProcAddr( device, "vkCmdDraw" );
153         vkCmdDrawIndexed                                         = cast( PFN_vkCmdDrawIndexed                                         ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexed" );
154         vkCmdDrawIndirect                                        = cast( PFN_vkCmdDrawIndirect                                        ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirect" );
155         vkCmdDrawIndexedIndirect                                 = cast( PFN_vkCmdDrawIndexedIndirect                                 ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirect" );
156         vkCmdDispatch                                            = cast( PFN_vkCmdDispatch                                            ) vkGetDeviceProcAddr( device, "vkCmdDispatch" );
157         vkCmdDispatchIndirect                                    = cast( PFN_vkCmdDispatchIndirect                                    ) vkGetDeviceProcAddr( device, "vkCmdDispatchIndirect" );
158         vkCmdCopyBuffer                                          = cast( PFN_vkCmdCopyBuffer                                          ) vkGetDeviceProcAddr( device, "vkCmdCopyBuffer" );
159         vkCmdCopyImage                                           = cast( PFN_vkCmdCopyImage                                           ) vkGetDeviceProcAddr( device, "vkCmdCopyImage" );
160         vkCmdBlitImage                                           = cast( PFN_vkCmdBlitImage                                           ) vkGetDeviceProcAddr( device, "vkCmdBlitImage" );
161         vkCmdCopyBufferToImage                                   = cast( PFN_vkCmdCopyBufferToImage                                   ) vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage" );
162         vkCmdCopyImageToBuffer                                   = cast( PFN_vkCmdCopyImageToBuffer                                   ) vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer" );
163         vkCmdUpdateBuffer                                        = cast( PFN_vkCmdUpdateBuffer                                        ) vkGetDeviceProcAddr( device, "vkCmdUpdateBuffer" );
164         vkCmdFillBuffer                                          = cast( PFN_vkCmdFillBuffer                                          ) vkGetDeviceProcAddr( device, "vkCmdFillBuffer" );
165         vkCmdClearColorImage                                     = cast( PFN_vkCmdClearColorImage                                     ) vkGetDeviceProcAddr( device, "vkCmdClearColorImage" );
166         vkCmdClearDepthStencilImage                              = cast( PFN_vkCmdClearDepthStencilImage                              ) vkGetDeviceProcAddr( device, "vkCmdClearDepthStencilImage" );
167         vkCmdClearAttachments                                    = cast( PFN_vkCmdClearAttachments                                    ) vkGetDeviceProcAddr( device, "vkCmdClearAttachments" );
168         vkCmdResolveImage                                        = cast( PFN_vkCmdResolveImage                                        ) vkGetDeviceProcAddr( device, "vkCmdResolveImage" );
169         vkCmdSetEvent                                            = cast( PFN_vkCmdSetEvent                                            ) vkGetDeviceProcAddr( device, "vkCmdSetEvent" );
170         vkCmdResetEvent                                          = cast( PFN_vkCmdResetEvent                                          ) vkGetDeviceProcAddr( device, "vkCmdResetEvent" );
171         vkCmdWaitEvents                                          = cast( PFN_vkCmdWaitEvents                                          ) vkGetDeviceProcAddr( device, "vkCmdWaitEvents" );
172         vkCmdPipelineBarrier                                     = cast( PFN_vkCmdPipelineBarrier                                     ) vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier" );
173         vkCmdBeginQuery                                          = cast( PFN_vkCmdBeginQuery                                          ) vkGetDeviceProcAddr( device, "vkCmdBeginQuery" );
174         vkCmdEndQuery                                            = cast( PFN_vkCmdEndQuery                                            ) vkGetDeviceProcAddr( device, "vkCmdEndQuery" );
175         vkCmdResetQueryPool                                      = cast( PFN_vkCmdResetQueryPool                                      ) vkGetDeviceProcAddr( device, "vkCmdResetQueryPool" );
176         vkCmdWriteTimestamp                                      = cast( PFN_vkCmdWriteTimestamp                                      ) vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp" );
177         vkCmdCopyQueryPoolResults                                = cast( PFN_vkCmdCopyQueryPoolResults                                ) vkGetDeviceProcAddr( device, "vkCmdCopyQueryPoolResults" );
178         vkCmdPushConstants                                       = cast( PFN_vkCmdPushConstants                                       ) vkGetDeviceProcAddr( device, "vkCmdPushConstants" );
179         vkCmdBeginRenderPass                                     = cast( PFN_vkCmdBeginRenderPass                                     ) vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass" );
180         vkCmdNextSubpass                                         = cast( PFN_vkCmdNextSubpass                                         ) vkGetDeviceProcAddr( device, "vkCmdNextSubpass" );
181         vkCmdEndRenderPass                                       = cast( PFN_vkCmdEndRenderPass                                       ) vkGetDeviceProcAddr( device, "vkCmdEndRenderPass" );
182         vkCmdExecuteCommands                                     = cast( PFN_vkCmdExecuteCommands                                     ) vkGetDeviceProcAddr( device, "vkCmdExecuteCommands" );
183 
184         // VK_VERSION_1_1
185         vkBindBufferMemory2                                      = cast( PFN_vkBindBufferMemory2                                      ) vkGetDeviceProcAddr( device, "vkBindBufferMemory2" );
186         vkBindImageMemory2                                       = cast( PFN_vkBindImageMemory2                                       ) vkGetDeviceProcAddr( device, "vkBindImageMemory2" );
187         vkGetDeviceGroupPeerMemoryFeatures                       = cast( PFN_vkGetDeviceGroupPeerMemoryFeatures                       ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupPeerMemoryFeatures" );
188         vkCmdSetDeviceMask                                       = cast( PFN_vkCmdSetDeviceMask                                       ) vkGetDeviceProcAddr( device, "vkCmdSetDeviceMask" );
189         vkCmdDispatchBase                                        = cast( PFN_vkCmdDispatchBase                                        ) vkGetDeviceProcAddr( device, "vkCmdDispatchBase" );
190         vkGetImageMemoryRequirements2                            = cast( PFN_vkGetImageMemoryRequirements2                            ) vkGetDeviceProcAddr( device, "vkGetImageMemoryRequirements2" );
191         vkGetBufferMemoryRequirements2                           = cast( PFN_vkGetBufferMemoryRequirements2                           ) vkGetDeviceProcAddr( device, "vkGetBufferMemoryRequirements2" );
192         vkGetImageSparseMemoryRequirements2                      = cast( PFN_vkGetImageSparseMemoryRequirements2                      ) vkGetDeviceProcAddr( device, "vkGetImageSparseMemoryRequirements2" );
193         vkTrimCommandPool                                        = cast( PFN_vkTrimCommandPool                                        ) vkGetDeviceProcAddr( device, "vkTrimCommandPool" );
194         vkGetDeviceQueue2                                        = cast( PFN_vkGetDeviceQueue2                                        ) vkGetDeviceProcAddr( device, "vkGetDeviceQueue2" );
195         vkCreateSamplerYcbcrConversion                           = cast( PFN_vkCreateSamplerYcbcrConversion                           ) vkGetDeviceProcAddr( device, "vkCreateSamplerYcbcrConversion" );
196         vkDestroySamplerYcbcrConversion                          = cast( PFN_vkDestroySamplerYcbcrConversion                          ) vkGetDeviceProcAddr( device, "vkDestroySamplerYcbcrConversion" );
197         vkCreateDescriptorUpdateTemplate                         = cast( PFN_vkCreateDescriptorUpdateTemplate                         ) vkGetDeviceProcAddr( device, "vkCreateDescriptorUpdateTemplate" );
198         vkDestroyDescriptorUpdateTemplate                        = cast( PFN_vkDestroyDescriptorUpdateTemplate                        ) vkGetDeviceProcAddr( device, "vkDestroyDescriptorUpdateTemplate" );
199         vkUpdateDescriptorSetWithTemplate                        = cast( PFN_vkUpdateDescriptorSetWithTemplate                        ) vkGetDeviceProcAddr( device, "vkUpdateDescriptorSetWithTemplate" );
200         vkGetDescriptorSetLayoutSupport                          = cast( PFN_vkGetDescriptorSetLayoutSupport                          ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSupport" );
201 
202         // VK_VERSION_1_2
203         vkCmdDrawIndirectCount                                   = cast( PFN_vkCmdDrawIndirectCount                                   ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirectCount" );
204         vkCmdDrawIndexedIndirectCount                            = cast( PFN_vkCmdDrawIndexedIndirectCount                            ) vkGetDeviceProcAddr( device, "vkCmdDrawIndexedIndirectCount" );
205         vkCreateRenderPass2                                      = cast( PFN_vkCreateRenderPass2                                      ) vkGetDeviceProcAddr( device, "vkCreateRenderPass2" );
206         vkCmdBeginRenderPass2                                    = cast( PFN_vkCmdBeginRenderPass2                                    ) vkGetDeviceProcAddr( device, "vkCmdBeginRenderPass2" );
207         vkCmdNextSubpass2                                        = cast( PFN_vkCmdNextSubpass2                                        ) vkGetDeviceProcAddr( device, "vkCmdNextSubpass2" );
208         vkCmdEndRenderPass2                                      = cast( PFN_vkCmdEndRenderPass2                                      ) vkGetDeviceProcAddr( device, "vkCmdEndRenderPass2" );
209         vkResetQueryPool                                         = cast( PFN_vkResetQueryPool                                         ) vkGetDeviceProcAddr( device, "vkResetQueryPool" );
210         vkGetSemaphoreCounterValue                               = cast( PFN_vkGetSemaphoreCounterValue                               ) vkGetDeviceProcAddr( device, "vkGetSemaphoreCounterValue" );
211         vkWaitSemaphores                                         = cast( PFN_vkWaitSemaphores                                         ) vkGetDeviceProcAddr( device, "vkWaitSemaphores" );
212         vkSignalSemaphore                                        = cast( PFN_vkSignalSemaphore                                        ) vkGetDeviceProcAddr( device, "vkSignalSemaphore" );
213         vkGetBufferDeviceAddress                                 = cast( PFN_vkGetBufferDeviceAddress                                 ) vkGetDeviceProcAddr( device, "vkGetBufferDeviceAddress" );
214         vkGetBufferOpaqueCaptureAddress                          = cast( PFN_vkGetBufferOpaqueCaptureAddress                          ) vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureAddress" );
215         vkGetDeviceMemoryOpaqueCaptureAddress                    = cast( PFN_vkGetDeviceMemoryOpaqueCaptureAddress                    ) vkGetDeviceProcAddr( device, "vkGetDeviceMemoryOpaqueCaptureAddress" );
216 
217         // VK_VERSION_1_3
218         vkCreatePrivateDataSlot                                  = cast( PFN_vkCreatePrivateDataSlot                                  ) vkGetDeviceProcAddr( device, "vkCreatePrivateDataSlot" );
219         vkDestroyPrivateDataSlot                                 = cast( PFN_vkDestroyPrivateDataSlot                                 ) vkGetDeviceProcAddr( device, "vkDestroyPrivateDataSlot" );
220         vkSetPrivateData                                         = cast( PFN_vkSetPrivateData                                         ) vkGetDeviceProcAddr( device, "vkSetPrivateData" );
221         vkGetPrivateData                                         = cast( PFN_vkGetPrivateData                                         ) vkGetDeviceProcAddr( device, "vkGetPrivateData" );
222         vkCmdSetEvent2                                           = cast( PFN_vkCmdSetEvent2                                           ) vkGetDeviceProcAddr( device, "vkCmdSetEvent2" );
223         vkCmdResetEvent2                                         = cast( PFN_vkCmdResetEvent2                                         ) vkGetDeviceProcAddr( device, "vkCmdResetEvent2" );
224         vkCmdWaitEvents2                                         = cast( PFN_vkCmdWaitEvents2                                         ) vkGetDeviceProcAddr( device, "vkCmdWaitEvents2" );
225         vkCmdPipelineBarrier2                                    = cast( PFN_vkCmdPipelineBarrier2                                    ) vkGetDeviceProcAddr( device, "vkCmdPipelineBarrier2" );
226         vkCmdWriteTimestamp2                                     = cast( PFN_vkCmdWriteTimestamp2                                     ) vkGetDeviceProcAddr( device, "vkCmdWriteTimestamp2" );
227         vkQueueSubmit2                                           = cast( PFN_vkQueueSubmit2                                           ) vkGetDeviceProcAddr( device, "vkQueueSubmit2" );
228         vkCmdCopyBuffer2                                         = cast( PFN_vkCmdCopyBuffer2                                         ) vkGetDeviceProcAddr( device, "vkCmdCopyBuffer2" );
229         vkCmdCopyImage2                                          = cast( PFN_vkCmdCopyImage2                                          ) vkGetDeviceProcAddr( device, "vkCmdCopyImage2" );
230         vkCmdCopyBufferToImage2                                  = cast( PFN_vkCmdCopyBufferToImage2                                  ) vkGetDeviceProcAddr( device, "vkCmdCopyBufferToImage2" );
231         vkCmdCopyImageToBuffer2                                  = cast( PFN_vkCmdCopyImageToBuffer2                                  ) vkGetDeviceProcAddr( device, "vkCmdCopyImageToBuffer2" );
232         vkCmdBlitImage2                                          = cast( PFN_vkCmdBlitImage2                                          ) vkGetDeviceProcAddr( device, "vkCmdBlitImage2" );
233         vkCmdResolveImage2                                       = cast( PFN_vkCmdResolveImage2                                       ) vkGetDeviceProcAddr( device, "vkCmdResolveImage2" );
234         vkCmdBeginRendering                                      = cast( PFN_vkCmdBeginRendering                                      ) vkGetDeviceProcAddr( device, "vkCmdBeginRendering" );
235         vkCmdEndRendering                                        = cast( PFN_vkCmdEndRendering                                        ) vkGetDeviceProcAddr( device, "vkCmdEndRendering" );
236         vkCmdSetCullMode                                         = cast( PFN_vkCmdSetCullMode                                         ) vkGetDeviceProcAddr( device, "vkCmdSetCullMode" );
237         vkCmdSetFrontFace                                        = cast( PFN_vkCmdSetFrontFace                                        ) vkGetDeviceProcAddr( device, "vkCmdSetFrontFace" );
238         vkCmdSetPrimitiveTopology                                = cast( PFN_vkCmdSetPrimitiveTopology                                ) vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveTopology" );
239         vkCmdSetViewportWithCount                                = cast( PFN_vkCmdSetViewportWithCount                                ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWithCount" );
240         vkCmdSetScissorWithCount                                 = cast( PFN_vkCmdSetScissorWithCount                                 ) vkGetDeviceProcAddr( device, "vkCmdSetScissorWithCount" );
241         vkCmdBindVertexBuffers2                                  = cast( PFN_vkCmdBindVertexBuffers2                                  ) vkGetDeviceProcAddr( device, "vkCmdBindVertexBuffers2" );
242         vkCmdSetDepthTestEnable                                  = cast( PFN_vkCmdSetDepthTestEnable                                  ) vkGetDeviceProcAddr( device, "vkCmdSetDepthTestEnable" );
243         vkCmdSetDepthWriteEnable                                 = cast( PFN_vkCmdSetDepthWriteEnable                                 ) vkGetDeviceProcAddr( device, "vkCmdSetDepthWriteEnable" );
244         vkCmdSetDepthCompareOp                                   = cast( PFN_vkCmdSetDepthCompareOp                                   ) vkGetDeviceProcAddr( device, "vkCmdSetDepthCompareOp" );
245         vkCmdSetDepthBoundsTestEnable                            = cast( PFN_vkCmdSetDepthBoundsTestEnable                            ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBoundsTestEnable" );
246         vkCmdSetStencilTestEnable                                = cast( PFN_vkCmdSetStencilTestEnable                                ) vkGetDeviceProcAddr( device, "vkCmdSetStencilTestEnable" );
247         vkCmdSetStencilOp                                        = cast( PFN_vkCmdSetStencilOp                                        ) vkGetDeviceProcAddr( device, "vkCmdSetStencilOp" );
248         vkCmdSetRasterizerDiscardEnable                          = cast( PFN_vkCmdSetRasterizerDiscardEnable                          ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizerDiscardEnable" );
249         vkCmdSetDepthBiasEnable                                  = cast( PFN_vkCmdSetDepthBiasEnable                                  ) vkGetDeviceProcAddr( device, "vkCmdSetDepthBiasEnable" );
250         vkCmdSetPrimitiveRestartEnable                           = cast( PFN_vkCmdSetPrimitiveRestartEnable                           ) vkGetDeviceProcAddr( device, "vkCmdSetPrimitiveRestartEnable" );
251         vkGetDeviceBufferMemoryRequirements                      = cast( PFN_vkGetDeviceBufferMemoryRequirements                      ) vkGetDeviceProcAddr( device, "vkGetDeviceBufferMemoryRequirements" );
252         vkGetDeviceImageMemoryRequirements                       = cast( PFN_vkGetDeviceImageMemoryRequirements                       ) vkGetDeviceProcAddr( device, "vkGetDeviceImageMemoryRequirements" );
253         vkGetDeviceImageSparseMemoryRequirements                 = cast( PFN_vkGetDeviceImageSparseMemoryRequirements                 ) vkGetDeviceProcAddr( device, "vkGetDeviceImageSparseMemoryRequirements" );
254 
255         // VK_KHR_swapchain
256         vkCreateSwapchainKHR                                     = cast( PFN_vkCreateSwapchainKHR                                     ) vkGetDeviceProcAddr( device, "vkCreateSwapchainKHR" );
257         vkDestroySwapchainKHR                                    = cast( PFN_vkDestroySwapchainKHR                                    ) vkGetDeviceProcAddr( device, "vkDestroySwapchainKHR" );
258         vkGetSwapchainImagesKHR                                  = cast( PFN_vkGetSwapchainImagesKHR                                  ) vkGetDeviceProcAddr( device, "vkGetSwapchainImagesKHR" );
259         vkAcquireNextImageKHR                                    = cast( PFN_vkAcquireNextImageKHR                                    ) vkGetDeviceProcAddr( device, "vkAcquireNextImageKHR" );
260         vkQueuePresentKHR                                        = cast( PFN_vkQueuePresentKHR                                        ) vkGetDeviceProcAddr( device, "vkQueuePresentKHR" );
261         vkGetDeviceGroupPresentCapabilitiesKHR                   = cast( PFN_vkGetDeviceGroupPresentCapabilitiesKHR                   ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupPresentCapabilitiesKHR" );
262         vkGetDeviceGroupSurfacePresentModesKHR                   = cast( PFN_vkGetDeviceGroupSurfacePresentModesKHR                   ) vkGetDeviceProcAddr( device, "vkGetDeviceGroupSurfacePresentModesKHR" );
263         vkAcquireNextImage2KHR                                   = cast( PFN_vkAcquireNextImage2KHR                                   ) vkGetDeviceProcAddr( device, "vkAcquireNextImage2KHR" );
264 
265         // VK_KHR_display_swapchain
266         vkCreateSharedSwapchainsKHR                              = cast( PFN_vkCreateSharedSwapchainsKHR                              ) vkGetDeviceProcAddr( device, "vkCreateSharedSwapchainsKHR" );
267 
268         // VK_KHR_video_queue
269         vkCreateVideoSessionKHR                                  = cast( PFN_vkCreateVideoSessionKHR                                  ) vkGetDeviceProcAddr( device, "vkCreateVideoSessionKHR" );
270         vkDestroyVideoSessionKHR                                 = cast( PFN_vkDestroyVideoSessionKHR                                 ) vkGetDeviceProcAddr( device, "vkDestroyVideoSessionKHR" );
271         vkGetVideoSessionMemoryRequirementsKHR                   = cast( PFN_vkGetVideoSessionMemoryRequirementsKHR                   ) vkGetDeviceProcAddr( device, "vkGetVideoSessionMemoryRequirementsKHR" );
272         vkBindVideoSessionMemoryKHR                              = cast( PFN_vkBindVideoSessionMemoryKHR                              ) vkGetDeviceProcAddr( device, "vkBindVideoSessionMemoryKHR" );
273         vkCreateVideoSessionParametersKHR                        = cast( PFN_vkCreateVideoSessionParametersKHR                        ) vkGetDeviceProcAddr( device, "vkCreateVideoSessionParametersKHR" );
274         vkUpdateVideoSessionParametersKHR                        = cast( PFN_vkUpdateVideoSessionParametersKHR                        ) vkGetDeviceProcAddr( device, "vkUpdateVideoSessionParametersKHR" );
275         vkDestroyVideoSessionParametersKHR                       = cast( PFN_vkDestroyVideoSessionParametersKHR                       ) vkGetDeviceProcAddr( device, "vkDestroyVideoSessionParametersKHR" );
276         vkCmdBeginVideoCodingKHR                                 = cast( PFN_vkCmdBeginVideoCodingKHR                                 ) vkGetDeviceProcAddr( device, "vkCmdBeginVideoCodingKHR" );
277         vkCmdEndVideoCodingKHR                                   = cast( PFN_vkCmdEndVideoCodingKHR                                   ) vkGetDeviceProcAddr( device, "vkCmdEndVideoCodingKHR" );
278         vkCmdControlVideoCodingKHR                               = cast( PFN_vkCmdControlVideoCodingKHR                               ) vkGetDeviceProcAddr( device, "vkCmdControlVideoCodingKHR" );
279 
280         // VK_KHR_video_decode_queue
281         vkCmdDecodeVideoKHR                                      = cast( PFN_vkCmdDecodeVideoKHR                                      ) vkGetDeviceProcAddr( device, "vkCmdDecodeVideoKHR" );
282 
283         // VK_KHR_external_memory_fd
284         vkGetMemoryFdKHR                                         = cast( PFN_vkGetMemoryFdKHR                                         ) vkGetDeviceProcAddr( device, "vkGetMemoryFdKHR" );
285         vkGetMemoryFdPropertiesKHR                               = cast( PFN_vkGetMemoryFdPropertiesKHR                               ) vkGetDeviceProcAddr( device, "vkGetMemoryFdPropertiesKHR" );
286 
287         // VK_KHR_external_semaphore_fd
288         vkImportSemaphoreFdKHR                                   = cast( PFN_vkImportSemaphoreFdKHR                                   ) vkGetDeviceProcAddr( device, "vkImportSemaphoreFdKHR" );
289         vkGetSemaphoreFdKHR                                      = cast( PFN_vkGetSemaphoreFdKHR                                      ) vkGetDeviceProcAddr( device, "vkGetSemaphoreFdKHR" );
290 
291         // VK_KHR_push_descriptor
292         vkCmdPushDescriptorSetKHR                                = cast( PFN_vkCmdPushDescriptorSetKHR                                ) vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetKHR" );
293         vkCmdPushDescriptorSetWithTemplateKHR                    = cast( PFN_vkCmdPushDescriptorSetWithTemplateKHR                    ) vkGetDeviceProcAddr( device, "vkCmdPushDescriptorSetWithTemplateKHR" );
294 
295         // VK_KHR_shared_presentable_image
296         vkGetSwapchainStatusKHR                                  = cast( PFN_vkGetSwapchainStatusKHR                                  ) vkGetDeviceProcAddr( device, "vkGetSwapchainStatusKHR" );
297 
298         // VK_KHR_external_fence_fd
299         vkImportFenceFdKHR                                       = cast( PFN_vkImportFenceFdKHR                                       ) vkGetDeviceProcAddr( device, "vkImportFenceFdKHR" );
300         vkGetFenceFdKHR                                          = cast( PFN_vkGetFenceFdKHR                                          ) vkGetDeviceProcAddr( device, "vkGetFenceFdKHR" );
301 
302         // VK_KHR_performance_query
303         vkAcquireProfilingLockKHR                                = cast( PFN_vkAcquireProfilingLockKHR                                ) vkGetDeviceProcAddr( device, "vkAcquireProfilingLockKHR" );
304         vkReleaseProfilingLockKHR                                = cast( PFN_vkReleaseProfilingLockKHR                                ) vkGetDeviceProcAddr( device, "vkReleaseProfilingLockKHR" );
305 
306         // VK_KHR_fragment_shading_rate
307         vkCmdSetFragmentShadingRateKHR                           = cast( PFN_vkCmdSetFragmentShadingRateKHR                           ) vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateKHR" );
308 
309         // VK_KHR_present_wait
310         vkWaitForPresentKHR                                      = cast( PFN_vkWaitForPresentKHR                                      ) vkGetDeviceProcAddr( device, "vkWaitForPresentKHR" );
311 
312         // VK_KHR_deferred_host_operations
313         vkCreateDeferredOperationKHR                             = cast( PFN_vkCreateDeferredOperationKHR                             ) vkGetDeviceProcAddr( device, "vkCreateDeferredOperationKHR" );
314         vkDestroyDeferredOperationKHR                            = cast( PFN_vkDestroyDeferredOperationKHR                            ) vkGetDeviceProcAddr( device, "vkDestroyDeferredOperationKHR" );
315         vkGetDeferredOperationMaxConcurrencyKHR                  = cast( PFN_vkGetDeferredOperationMaxConcurrencyKHR                  ) vkGetDeviceProcAddr( device, "vkGetDeferredOperationMaxConcurrencyKHR" );
316         vkGetDeferredOperationResultKHR                          = cast( PFN_vkGetDeferredOperationResultKHR                          ) vkGetDeviceProcAddr( device, "vkGetDeferredOperationResultKHR" );
317         vkDeferredOperationJoinKHR                               = cast( PFN_vkDeferredOperationJoinKHR                               ) vkGetDeviceProcAddr( device, "vkDeferredOperationJoinKHR" );
318 
319         // VK_KHR_pipeline_executable_properties
320         vkGetPipelineExecutablePropertiesKHR                     = cast( PFN_vkGetPipelineExecutablePropertiesKHR                     ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutablePropertiesKHR" );
321         vkGetPipelineExecutableStatisticsKHR                     = cast( PFN_vkGetPipelineExecutableStatisticsKHR                     ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutableStatisticsKHR" );
322         vkGetPipelineExecutableInternalRepresentationsKHR        = cast( PFN_vkGetPipelineExecutableInternalRepresentationsKHR        ) vkGetDeviceProcAddr( device, "vkGetPipelineExecutableInternalRepresentationsKHR" );
323 
324         // VK_KHR_map_memory2
325         vkMapMemory2KHR                                          = cast( PFN_vkMapMemory2KHR                                          ) vkGetDeviceProcAddr( device, "vkMapMemory2KHR" );
326         vkUnmapMemory2KHR                                        = cast( PFN_vkUnmapMemory2KHR                                        ) vkGetDeviceProcAddr( device, "vkUnmapMemory2KHR" );
327 
328         // VK_KHR_synchronization2
329         vkCmdWriteBufferMarker2AMD                               = cast( PFN_vkCmdWriteBufferMarker2AMD                               ) vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarker2AMD" );
330         vkGetQueueCheckpointData2NV                              = cast( PFN_vkGetQueueCheckpointData2NV                              ) vkGetDeviceProcAddr( device, "vkGetQueueCheckpointData2NV" );
331 
332         // VK_KHR_ray_tracing_maintenance1
333         vkCmdTraceRaysIndirect2KHR                               = cast( PFN_vkCmdTraceRaysIndirect2KHR                               ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirect2KHR" );
334 
335         // VK_EXT_debug_marker
336         vkDebugMarkerSetObjectTagEXT                             = cast( PFN_vkDebugMarkerSetObjectTagEXT                             ) vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectTagEXT" );
337         vkDebugMarkerSetObjectNameEXT                            = cast( PFN_vkDebugMarkerSetObjectNameEXT                            ) vkGetDeviceProcAddr( device, "vkDebugMarkerSetObjectNameEXT" );
338         vkCmdDebugMarkerBeginEXT                                 = cast( PFN_vkCmdDebugMarkerBeginEXT                                 ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerBeginEXT" );
339         vkCmdDebugMarkerEndEXT                                   = cast( PFN_vkCmdDebugMarkerEndEXT                                   ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerEndEXT" );
340         vkCmdDebugMarkerInsertEXT                                = cast( PFN_vkCmdDebugMarkerInsertEXT                                ) vkGetDeviceProcAddr( device, "vkCmdDebugMarkerInsertEXT" );
341 
342         // VK_EXT_transform_feedback
343         vkCmdBindTransformFeedbackBuffersEXT                     = cast( PFN_vkCmdBindTransformFeedbackBuffersEXT                     ) vkGetDeviceProcAddr( device, "vkCmdBindTransformFeedbackBuffersEXT" );
344         vkCmdBeginTransformFeedbackEXT                           = cast( PFN_vkCmdBeginTransformFeedbackEXT                           ) vkGetDeviceProcAddr( device, "vkCmdBeginTransformFeedbackEXT" );
345         vkCmdEndTransformFeedbackEXT                             = cast( PFN_vkCmdEndTransformFeedbackEXT                             ) vkGetDeviceProcAddr( device, "vkCmdEndTransformFeedbackEXT" );
346         vkCmdBeginQueryIndexedEXT                                = cast( PFN_vkCmdBeginQueryIndexedEXT                                ) vkGetDeviceProcAddr( device, "vkCmdBeginQueryIndexedEXT" );
347         vkCmdEndQueryIndexedEXT                                  = cast( PFN_vkCmdEndQueryIndexedEXT                                  ) vkGetDeviceProcAddr( device, "vkCmdEndQueryIndexedEXT" );
348         vkCmdDrawIndirectByteCountEXT                            = cast( PFN_vkCmdDrawIndirectByteCountEXT                            ) vkGetDeviceProcAddr( device, "vkCmdDrawIndirectByteCountEXT" );
349 
350         // VK_NVX_binary_import
351         vkCreateCuModuleNVX                                      = cast( PFN_vkCreateCuModuleNVX                                      ) vkGetDeviceProcAddr( device, "vkCreateCuModuleNVX" );
352         vkCreateCuFunctionNVX                                    = cast( PFN_vkCreateCuFunctionNVX                                    ) vkGetDeviceProcAddr( device, "vkCreateCuFunctionNVX" );
353         vkDestroyCuModuleNVX                                     = cast( PFN_vkDestroyCuModuleNVX                                     ) vkGetDeviceProcAddr( device, "vkDestroyCuModuleNVX" );
354         vkDestroyCuFunctionNVX                                   = cast( PFN_vkDestroyCuFunctionNVX                                   ) vkGetDeviceProcAddr( device, "vkDestroyCuFunctionNVX" );
355         vkCmdCuLaunchKernelNVX                                   = cast( PFN_vkCmdCuLaunchKernelNVX                                   ) vkGetDeviceProcAddr( device, "vkCmdCuLaunchKernelNVX" );
356 
357         // VK_NVX_image_view_handle
358         vkGetImageViewHandleNVX                                  = cast( PFN_vkGetImageViewHandleNVX                                  ) vkGetDeviceProcAddr( device, "vkGetImageViewHandleNVX" );
359         vkGetImageViewAddressNVX                                 = cast( PFN_vkGetImageViewAddressNVX                                 ) vkGetDeviceProcAddr( device, "vkGetImageViewAddressNVX" );
360 
361         // VK_AMD_shader_info
362         vkGetShaderInfoAMD                                       = cast( PFN_vkGetShaderInfoAMD                                       ) vkGetDeviceProcAddr( device, "vkGetShaderInfoAMD" );
363 
364         // VK_EXT_conditional_rendering
365         vkCmdBeginConditionalRenderingEXT                        = cast( PFN_vkCmdBeginConditionalRenderingEXT                        ) vkGetDeviceProcAddr( device, "vkCmdBeginConditionalRenderingEXT" );
366         vkCmdEndConditionalRenderingEXT                          = cast( PFN_vkCmdEndConditionalRenderingEXT                          ) vkGetDeviceProcAddr( device, "vkCmdEndConditionalRenderingEXT" );
367 
368         // VK_NV_clip_space_w_scaling
369         vkCmdSetViewportWScalingNV                               = cast( PFN_vkCmdSetViewportWScalingNV                               ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingNV" );
370 
371         // VK_EXT_display_control
372         vkDisplayPowerControlEXT                                 = cast( PFN_vkDisplayPowerControlEXT                                 ) vkGetDeviceProcAddr( device, "vkDisplayPowerControlEXT" );
373         vkRegisterDeviceEventEXT                                 = cast( PFN_vkRegisterDeviceEventEXT                                 ) vkGetDeviceProcAddr( device, "vkRegisterDeviceEventEXT" );
374         vkRegisterDisplayEventEXT                                = cast( PFN_vkRegisterDisplayEventEXT                                ) vkGetDeviceProcAddr( device, "vkRegisterDisplayEventEXT" );
375         vkGetSwapchainCounterEXT                                 = cast( PFN_vkGetSwapchainCounterEXT                                 ) vkGetDeviceProcAddr( device, "vkGetSwapchainCounterEXT" );
376 
377         // VK_GOOGLE_display_timing
378         vkGetRefreshCycleDurationGOOGLE                          = cast( PFN_vkGetRefreshCycleDurationGOOGLE                          ) vkGetDeviceProcAddr( device, "vkGetRefreshCycleDurationGOOGLE" );
379         vkGetPastPresentationTimingGOOGLE                        = cast( PFN_vkGetPastPresentationTimingGOOGLE                        ) vkGetDeviceProcAddr( device, "vkGetPastPresentationTimingGOOGLE" );
380 
381         // VK_EXT_discard_rectangles
382         vkCmdSetDiscardRectangleEXT                              = cast( PFN_vkCmdSetDiscardRectangleEXT                              ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEXT" );
383         vkCmdSetDiscardRectangleEnableEXT                        = cast( PFN_vkCmdSetDiscardRectangleEnableEXT                        ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleEnableEXT" );
384         vkCmdSetDiscardRectangleModeEXT                          = cast( PFN_vkCmdSetDiscardRectangleModeEXT                          ) vkGetDeviceProcAddr( device, "vkCmdSetDiscardRectangleModeEXT" );
385 
386         // VK_EXT_hdr_metadata
387         vkSetHdrMetadataEXT                                      = cast( PFN_vkSetHdrMetadataEXT                                      ) vkGetDeviceProcAddr( device, "vkSetHdrMetadataEXT" );
388 
389         // VK_EXT_debug_utils
390         vkSetDebugUtilsObjectNameEXT                             = cast( PFN_vkSetDebugUtilsObjectNameEXT                             ) vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectNameEXT" );
391         vkSetDebugUtilsObjectTagEXT                              = cast( PFN_vkSetDebugUtilsObjectTagEXT                              ) vkGetDeviceProcAddr( device, "vkSetDebugUtilsObjectTagEXT" );
392         vkQueueBeginDebugUtilsLabelEXT                           = cast( PFN_vkQueueBeginDebugUtilsLabelEXT                           ) vkGetDeviceProcAddr( device, "vkQueueBeginDebugUtilsLabelEXT" );
393         vkQueueEndDebugUtilsLabelEXT                             = cast( PFN_vkQueueEndDebugUtilsLabelEXT                             ) vkGetDeviceProcAddr( device, "vkQueueEndDebugUtilsLabelEXT" );
394         vkQueueInsertDebugUtilsLabelEXT                          = cast( PFN_vkQueueInsertDebugUtilsLabelEXT                          ) vkGetDeviceProcAddr( device, "vkQueueInsertDebugUtilsLabelEXT" );
395         vkCmdBeginDebugUtilsLabelEXT                             = cast( PFN_vkCmdBeginDebugUtilsLabelEXT                             ) vkGetDeviceProcAddr( device, "vkCmdBeginDebugUtilsLabelEXT" );
396         vkCmdEndDebugUtilsLabelEXT                               = cast( PFN_vkCmdEndDebugUtilsLabelEXT                               ) vkGetDeviceProcAddr( device, "vkCmdEndDebugUtilsLabelEXT" );
397         vkCmdInsertDebugUtilsLabelEXT                            = cast( PFN_vkCmdInsertDebugUtilsLabelEXT                            ) vkGetDeviceProcAddr( device, "vkCmdInsertDebugUtilsLabelEXT" );
398 
399         // VK_EXT_sample_locations
400         vkCmdSetSampleLocationsEXT                               = cast( PFN_vkCmdSetSampleLocationsEXT                               ) vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEXT" );
401 
402         // VK_EXT_image_drm_format_modifier
403         vkGetImageDrmFormatModifierPropertiesEXT                 = cast( PFN_vkGetImageDrmFormatModifierPropertiesEXT                 ) vkGetDeviceProcAddr( device, "vkGetImageDrmFormatModifierPropertiesEXT" );
404 
405         // VK_EXT_validation_cache
406         vkCreateValidationCacheEXT                               = cast( PFN_vkCreateValidationCacheEXT                               ) vkGetDeviceProcAddr( device, "vkCreateValidationCacheEXT" );
407         vkDestroyValidationCacheEXT                              = cast( PFN_vkDestroyValidationCacheEXT                              ) vkGetDeviceProcAddr( device, "vkDestroyValidationCacheEXT" );
408         vkMergeValidationCachesEXT                               = cast( PFN_vkMergeValidationCachesEXT                               ) vkGetDeviceProcAddr( device, "vkMergeValidationCachesEXT" );
409         vkGetValidationCacheDataEXT                              = cast( PFN_vkGetValidationCacheDataEXT                              ) vkGetDeviceProcAddr( device, "vkGetValidationCacheDataEXT" );
410 
411         // VK_NV_shading_rate_image
412         vkCmdBindShadingRateImageNV                              = cast( PFN_vkCmdBindShadingRateImageNV                              ) vkGetDeviceProcAddr( device, "vkCmdBindShadingRateImageNV" );
413         vkCmdSetViewportShadingRatePaletteNV                     = cast( PFN_vkCmdSetViewportShadingRatePaletteNV                     ) vkGetDeviceProcAddr( device, "vkCmdSetViewportShadingRatePaletteNV" );
414         vkCmdSetCoarseSampleOrderNV                              = cast( PFN_vkCmdSetCoarseSampleOrderNV                              ) vkGetDeviceProcAddr( device, "vkCmdSetCoarseSampleOrderNV" );
415 
416         // VK_NV_ray_tracing
417         vkCreateAccelerationStructureNV                          = cast( PFN_vkCreateAccelerationStructureNV                          ) vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureNV" );
418         vkDestroyAccelerationStructureNV                         = cast( PFN_vkDestroyAccelerationStructureNV                         ) vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureNV" );
419         vkGetAccelerationStructureMemoryRequirementsNV           = cast( PFN_vkGetAccelerationStructureMemoryRequirementsNV           ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureMemoryRequirementsNV" );
420         vkBindAccelerationStructureMemoryNV                      = cast( PFN_vkBindAccelerationStructureMemoryNV                      ) vkGetDeviceProcAddr( device, "vkBindAccelerationStructureMemoryNV" );
421         vkCmdBuildAccelerationStructureNV                        = cast( PFN_vkCmdBuildAccelerationStructureNV                        ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructureNV" );
422         vkCmdCopyAccelerationStructureNV                         = cast( PFN_vkCmdCopyAccelerationStructureNV                         ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureNV" );
423         vkCmdTraceRaysNV                                         = cast( PFN_vkCmdTraceRaysNV                                         ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysNV" );
424         vkCreateRayTracingPipelinesNV                            = cast( PFN_vkCreateRayTracingPipelinesNV                            ) vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesNV" );
425         vkGetRayTracingShaderGroupHandlesKHR                     = cast( PFN_vkGetRayTracingShaderGroupHandlesKHR                     ) vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupHandlesKHR" );
426         vkGetAccelerationStructureHandleNV                       = cast( PFN_vkGetAccelerationStructureHandleNV                       ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureHandleNV" );
427         vkCmdWriteAccelerationStructuresPropertiesNV             = cast( PFN_vkCmdWriteAccelerationStructuresPropertiesNV             ) vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesNV" );
428         vkCompileDeferredNV                                      = cast( PFN_vkCompileDeferredNV                                      ) vkGetDeviceProcAddr( device, "vkCompileDeferredNV" );
429 
430         // VK_EXT_external_memory_host
431         vkGetMemoryHostPointerPropertiesEXT                      = cast( PFN_vkGetMemoryHostPointerPropertiesEXT                      ) vkGetDeviceProcAddr( device, "vkGetMemoryHostPointerPropertiesEXT" );
432 
433         // VK_AMD_buffer_marker
434         vkCmdWriteBufferMarkerAMD                                = cast( PFN_vkCmdWriteBufferMarkerAMD                                ) vkGetDeviceProcAddr( device, "vkCmdWriteBufferMarkerAMD" );
435 
436         // VK_EXT_calibrated_timestamps
437         vkGetCalibratedTimestampsEXT                             = cast( PFN_vkGetCalibratedTimestampsEXT                             ) vkGetDeviceProcAddr( device, "vkGetCalibratedTimestampsEXT" );
438 
439         // VK_NV_mesh_shader
440         vkCmdDrawMeshTasksNV                                     = cast( PFN_vkCmdDrawMeshTasksNV                                     ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksNV" );
441         vkCmdDrawMeshTasksIndirectNV                             = cast( PFN_vkCmdDrawMeshTasksIndirectNV                             ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectNV" );
442         vkCmdDrawMeshTasksIndirectCountNV                        = cast( PFN_vkCmdDrawMeshTasksIndirectCountNV                        ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountNV" );
443 
444         // VK_NV_scissor_exclusive
445         vkCmdSetExclusiveScissorEnableNV                         = cast( PFN_vkCmdSetExclusiveScissorEnableNV                         ) vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorEnableNV" );
446         vkCmdSetExclusiveScissorNV                               = cast( PFN_vkCmdSetExclusiveScissorNV                               ) vkGetDeviceProcAddr( device, "vkCmdSetExclusiveScissorNV" );
447 
448         // VK_NV_device_diagnostic_checkpoints
449         vkCmdSetCheckpointNV                                     = cast( PFN_vkCmdSetCheckpointNV                                     ) vkGetDeviceProcAddr( device, "vkCmdSetCheckpointNV" );
450         vkGetQueueCheckpointDataNV                               = cast( PFN_vkGetQueueCheckpointDataNV                               ) vkGetDeviceProcAddr( device, "vkGetQueueCheckpointDataNV" );
451 
452         // VK_INTEL_performance_query
453         vkInitializePerformanceApiINTEL                          = cast( PFN_vkInitializePerformanceApiINTEL                          ) vkGetDeviceProcAddr( device, "vkInitializePerformanceApiINTEL" );
454         vkUninitializePerformanceApiINTEL                        = cast( PFN_vkUninitializePerformanceApiINTEL                        ) vkGetDeviceProcAddr( device, "vkUninitializePerformanceApiINTEL" );
455         vkCmdSetPerformanceMarkerINTEL                           = cast( PFN_vkCmdSetPerformanceMarkerINTEL                           ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceMarkerINTEL" );
456         vkCmdSetPerformanceStreamMarkerINTEL                     = cast( PFN_vkCmdSetPerformanceStreamMarkerINTEL                     ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceStreamMarkerINTEL" );
457         vkCmdSetPerformanceOverrideINTEL                         = cast( PFN_vkCmdSetPerformanceOverrideINTEL                         ) vkGetDeviceProcAddr( device, "vkCmdSetPerformanceOverrideINTEL" );
458         vkAcquirePerformanceConfigurationINTEL                   = cast( PFN_vkAcquirePerformanceConfigurationINTEL                   ) vkGetDeviceProcAddr( device, "vkAcquirePerformanceConfigurationINTEL" );
459         vkReleasePerformanceConfigurationINTEL                   = cast( PFN_vkReleasePerformanceConfigurationINTEL                   ) vkGetDeviceProcAddr( device, "vkReleasePerformanceConfigurationINTEL" );
460         vkQueueSetPerformanceConfigurationINTEL                  = cast( PFN_vkQueueSetPerformanceConfigurationINTEL                  ) vkGetDeviceProcAddr( device, "vkQueueSetPerformanceConfigurationINTEL" );
461         vkGetPerformanceParameterINTEL                           = cast( PFN_vkGetPerformanceParameterINTEL                           ) vkGetDeviceProcAddr( device, "vkGetPerformanceParameterINTEL" );
462 
463         // VK_AMD_display_native_hdr
464         vkSetLocalDimmingAMD                                     = cast( PFN_vkSetLocalDimmingAMD                                     ) vkGetDeviceProcAddr( device, "vkSetLocalDimmingAMD" );
465 
466         // VK_EXT_line_rasterization
467         vkCmdSetLineStippleEXT                                   = cast( PFN_vkCmdSetLineStippleEXT                                   ) vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEXT" );
468 
469         // VK_EXT_swapchain_maintenance1
470         vkReleaseSwapchainImagesEXT                              = cast( PFN_vkReleaseSwapchainImagesEXT                              ) vkGetDeviceProcAddr( device, "vkReleaseSwapchainImagesEXT" );
471 
472         // VK_NV_device_generated_commands
473         vkGetGeneratedCommandsMemoryRequirementsNV               = cast( PFN_vkGetGeneratedCommandsMemoryRequirementsNV               ) vkGetDeviceProcAddr( device, "vkGetGeneratedCommandsMemoryRequirementsNV" );
474         vkCmdPreprocessGeneratedCommandsNV                       = cast( PFN_vkCmdPreprocessGeneratedCommandsNV                       ) vkGetDeviceProcAddr( device, "vkCmdPreprocessGeneratedCommandsNV" );
475         vkCmdExecuteGeneratedCommandsNV                          = cast( PFN_vkCmdExecuteGeneratedCommandsNV                          ) vkGetDeviceProcAddr( device, "vkCmdExecuteGeneratedCommandsNV" );
476         vkCmdBindPipelineShaderGroupNV                           = cast( PFN_vkCmdBindPipelineShaderGroupNV                           ) vkGetDeviceProcAddr( device, "vkCmdBindPipelineShaderGroupNV" );
477         vkCreateIndirectCommandsLayoutNV                         = cast( PFN_vkCreateIndirectCommandsLayoutNV                         ) vkGetDeviceProcAddr( device, "vkCreateIndirectCommandsLayoutNV" );
478         vkDestroyIndirectCommandsLayoutNV                        = cast( PFN_vkDestroyIndirectCommandsLayoutNV                        ) vkGetDeviceProcAddr( device, "vkDestroyIndirectCommandsLayoutNV" );
479 
480         // VK_EXT_descriptor_buffer
481         vkGetDescriptorSetLayoutSizeEXT                          = cast( PFN_vkGetDescriptorSetLayoutSizeEXT                          ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutSizeEXT" );
482         vkGetDescriptorSetLayoutBindingOffsetEXT                 = cast( PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutBindingOffsetEXT" );
483         vkGetDescriptorEXT                                       = cast( PFN_vkGetDescriptorEXT                                       ) vkGetDeviceProcAddr( device, "vkGetDescriptorEXT" );
484         vkCmdBindDescriptorBuffersEXT                            = cast( PFN_vkCmdBindDescriptorBuffersEXT                            ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBuffersEXT" );
485         vkCmdSetDescriptorBufferOffsetsEXT                       = cast( PFN_vkCmdSetDescriptorBufferOffsetsEXT                       ) vkGetDeviceProcAddr( device, "vkCmdSetDescriptorBufferOffsetsEXT" );
486         vkCmdBindDescriptorBufferEmbeddedSamplersEXT             = cast( PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             ) vkGetDeviceProcAddr( device, "vkCmdBindDescriptorBufferEmbeddedSamplersEXT" );
487         vkGetBufferOpaqueCaptureDescriptorDataEXT                = cast( PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                ) vkGetDeviceProcAddr( device, "vkGetBufferOpaqueCaptureDescriptorDataEXT" );
488         vkGetImageOpaqueCaptureDescriptorDataEXT                 = cast( PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 ) vkGetDeviceProcAddr( device, "vkGetImageOpaqueCaptureDescriptorDataEXT" );
489         vkGetImageViewOpaqueCaptureDescriptorDataEXT             = cast( PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             ) vkGetDeviceProcAddr( device, "vkGetImageViewOpaqueCaptureDescriptorDataEXT" );
490         vkGetSamplerOpaqueCaptureDescriptorDataEXT               = cast( PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               ) vkGetDeviceProcAddr( device, "vkGetSamplerOpaqueCaptureDescriptorDataEXT" );
491         vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT = cast( PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT" );
492 
493         // VK_NV_fragment_shading_rate_enums
494         vkCmdSetFragmentShadingRateEnumNV                        = cast( PFN_vkCmdSetFragmentShadingRateEnumNV                        ) vkGetDeviceProcAddr( device, "vkCmdSetFragmentShadingRateEnumNV" );
495 
496         // VK_EXT_image_compression_control
497         vkGetImageSubresourceLayout2EXT                          = cast( PFN_vkGetImageSubresourceLayout2EXT                          ) vkGetDeviceProcAddr( device, "vkGetImageSubresourceLayout2EXT" );
498 
499         // VK_EXT_device_fault
500         vkGetDeviceFaultInfoEXT                                  = cast( PFN_vkGetDeviceFaultInfoEXT                                  ) vkGetDeviceProcAddr( device, "vkGetDeviceFaultInfoEXT" );
501 
502         // VK_EXT_vertex_input_dynamic_state
503         vkCmdSetVertexInputEXT                                   = cast( PFN_vkCmdSetVertexInputEXT                                   ) vkGetDeviceProcAddr( device, "vkCmdSetVertexInputEXT" );
504 
505         // VK_HUAWEI_subpass_shading
506         vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI          = cast( PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI          ) vkGetDeviceProcAddr( device, "vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI" );
507         vkCmdSubpassShadingHUAWEI                                = cast( PFN_vkCmdSubpassShadingHUAWEI                                ) vkGetDeviceProcAddr( device, "vkCmdSubpassShadingHUAWEI" );
508 
509         // VK_HUAWEI_invocation_mask
510         vkCmdBindInvocationMaskHUAWEI                            = cast( PFN_vkCmdBindInvocationMaskHUAWEI                            ) vkGetDeviceProcAddr( device, "vkCmdBindInvocationMaskHUAWEI" );
511 
512         // VK_NV_external_memory_rdma
513         vkGetMemoryRemoteAddressNV                               = cast( PFN_vkGetMemoryRemoteAddressNV                               ) vkGetDeviceProcAddr( device, "vkGetMemoryRemoteAddressNV" );
514 
515         // VK_EXT_pipeline_properties
516         vkGetPipelinePropertiesEXT                               = cast( PFN_vkGetPipelinePropertiesEXT                               ) vkGetDeviceProcAddr( device, "vkGetPipelinePropertiesEXT" );
517 
518         // VK_EXT_extended_dynamic_state2
519         vkCmdSetPatchControlPointsEXT                            = cast( PFN_vkCmdSetPatchControlPointsEXT                            ) vkGetDeviceProcAddr( device, "vkCmdSetPatchControlPointsEXT" );
520         vkCmdSetLogicOpEXT                                       = cast( PFN_vkCmdSetLogicOpEXT                                       ) vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEXT" );
521 
522         // VK_EXT_color_write_enable
523         vkCmdSetColorWriteEnableEXT                              = cast( PFN_vkCmdSetColorWriteEnableEXT                              ) vkGetDeviceProcAddr( device, "vkCmdSetColorWriteEnableEXT" );
524 
525         // VK_EXT_multi_draw
526         vkCmdDrawMultiEXT                                        = cast( PFN_vkCmdDrawMultiEXT                                        ) vkGetDeviceProcAddr( device, "vkCmdDrawMultiEXT" );
527         vkCmdDrawMultiIndexedEXT                                 = cast( PFN_vkCmdDrawMultiIndexedEXT                                 ) vkGetDeviceProcAddr( device, "vkCmdDrawMultiIndexedEXT" );
528 
529         // VK_EXT_opacity_micromap
530         vkCreateMicromapEXT                                      = cast( PFN_vkCreateMicromapEXT                                      ) vkGetDeviceProcAddr( device, "vkCreateMicromapEXT" );
531         vkDestroyMicromapEXT                                     = cast( PFN_vkDestroyMicromapEXT                                     ) vkGetDeviceProcAddr( device, "vkDestroyMicromapEXT" );
532         vkCmdBuildMicromapsEXT                                   = cast( PFN_vkCmdBuildMicromapsEXT                                   ) vkGetDeviceProcAddr( device, "vkCmdBuildMicromapsEXT" );
533         vkBuildMicromapsEXT                                      = cast( PFN_vkBuildMicromapsEXT                                      ) vkGetDeviceProcAddr( device, "vkBuildMicromapsEXT" );
534         vkCopyMicromapEXT                                        = cast( PFN_vkCopyMicromapEXT                                        ) vkGetDeviceProcAddr( device, "vkCopyMicromapEXT" );
535         vkCopyMicromapToMemoryEXT                                = cast( PFN_vkCopyMicromapToMemoryEXT                                ) vkGetDeviceProcAddr( device, "vkCopyMicromapToMemoryEXT" );
536         vkCopyMemoryToMicromapEXT                                = cast( PFN_vkCopyMemoryToMicromapEXT                                ) vkGetDeviceProcAddr( device, "vkCopyMemoryToMicromapEXT" );
537         vkWriteMicromapsPropertiesEXT                            = cast( PFN_vkWriteMicromapsPropertiesEXT                            ) vkGetDeviceProcAddr( device, "vkWriteMicromapsPropertiesEXT" );
538         vkCmdCopyMicromapEXT                                     = cast( PFN_vkCmdCopyMicromapEXT                                     ) vkGetDeviceProcAddr( device, "vkCmdCopyMicromapEXT" );
539         vkCmdCopyMicromapToMemoryEXT                             = cast( PFN_vkCmdCopyMicromapToMemoryEXT                             ) vkGetDeviceProcAddr( device, "vkCmdCopyMicromapToMemoryEXT" );
540         vkCmdCopyMemoryToMicromapEXT                             = cast( PFN_vkCmdCopyMemoryToMicromapEXT                             ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToMicromapEXT" );
541         vkCmdWriteMicromapsPropertiesEXT                         = cast( PFN_vkCmdWriteMicromapsPropertiesEXT                         ) vkGetDeviceProcAddr( device, "vkCmdWriteMicromapsPropertiesEXT" );
542         vkGetDeviceMicromapCompatibilityEXT                      = cast( PFN_vkGetDeviceMicromapCompatibilityEXT                      ) vkGetDeviceProcAddr( device, "vkGetDeviceMicromapCompatibilityEXT" );
543         vkGetMicromapBuildSizesEXT                               = cast( PFN_vkGetMicromapBuildSizesEXT                               ) vkGetDeviceProcAddr( device, "vkGetMicromapBuildSizesEXT" );
544 
545         // VK_HUAWEI_cluster_culling_shader
546         vkCmdDrawClusterHUAWEI                                   = cast( PFN_vkCmdDrawClusterHUAWEI                                   ) vkGetDeviceProcAddr( device, "vkCmdDrawClusterHUAWEI" );
547         vkCmdDrawClusterIndirectHUAWEI                           = cast( PFN_vkCmdDrawClusterIndirectHUAWEI                           ) vkGetDeviceProcAddr( device, "vkCmdDrawClusterIndirectHUAWEI" );
548 
549         // VK_EXT_pageable_device_local_memory
550         vkSetDeviceMemoryPriorityEXT                             = cast( PFN_vkSetDeviceMemoryPriorityEXT                             ) vkGetDeviceProcAddr( device, "vkSetDeviceMemoryPriorityEXT" );
551 
552         // VK_VALVE_descriptor_set_host_mapping
553         vkGetDescriptorSetLayoutHostMappingInfoVALVE             = cast( PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE             ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetLayoutHostMappingInfoVALVE" );
554         vkGetDescriptorSetHostMappingVALVE                       = cast( PFN_vkGetDescriptorSetHostMappingVALVE                       ) vkGetDeviceProcAddr( device, "vkGetDescriptorSetHostMappingVALVE" );
555 
556         // VK_NV_copy_memory_indirect
557         vkCmdCopyMemoryIndirectNV                                = cast( PFN_vkCmdCopyMemoryIndirectNV                                ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryIndirectNV" );
558         vkCmdCopyMemoryToImageIndirectNV                         = cast( PFN_vkCmdCopyMemoryToImageIndirectNV                         ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToImageIndirectNV" );
559 
560         // VK_NV_memory_decompression
561         vkCmdDecompressMemoryNV                                  = cast( PFN_vkCmdDecompressMemoryNV                                  ) vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryNV" );
562         vkCmdDecompressMemoryIndirectCountNV                     = cast( PFN_vkCmdDecompressMemoryIndirectCountNV                     ) vkGetDeviceProcAddr( device, "vkCmdDecompressMemoryIndirectCountNV" );
563 
564         // VK_EXT_extended_dynamic_state3
565         vkCmdSetTessellationDomainOriginEXT                      = cast( PFN_vkCmdSetTessellationDomainOriginEXT                      ) vkGetDeviceProcAddr( device, "vkCmdSetTessellationDomainOriginEXT" );
566         vkCmdSetDepthClampEnableEXT                              = cast( PFN_vkCmdSetDepthClampEnableEXT                              ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClampEnableEXT" );
567         vkCmdSetPolygonModeEXT                                   = cast( PFN_vkCmdSetPolygonModeEXT                                   ) vkGetDeviceProcAddr( device, "vkCmdSetPolygonModeEXT" );
568         vkCmdSetRasterizationSamplesEXT                          = cast( PFN_vkCmdSetRasterizationSamplesEXT                          ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizationSamplesEXT" );
569         vkCmdSetSampleMaskEXT                                    = cast( PFN_vkCmdSetSampleMaskEXT                                    ) vkGetDeviceProcAddr( device, "vkCmdSetSampleMaskEXT" );
570         vkCmdSetAlphaToCoverageEnableEXT                         = cast( PFN_vkCmdSetAlphaToCoverageEnableEXT                         ) vkGetDeviceProcAddr( device, "vkCmdSetAlphaToCoverageEnableEXT" );
571         vkCmdSetAlphaToOneEnableEXT                              = cast( PFN_vkCmdSetAlphaToOneEnableEXT                              ) vkGetDeviceProcAddr( device, "vkCmdSetAlphaToOneEnableEXT" );
572         vkCmdSetLogicOpEnableEXT                                 = cast( PFN_vkCmdSetLogicOpEnableEXT                                 ) vkGetDeviceProcAddr( device, "vkCmdSetLogicOpEnableEXT" );
573         vkCmdSetColorBlendEnableEXT                              = cast( PFN_vkCmdSetColorBlendEnableEXT                              ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEnableEXT" );
574         vkCmdSetColorBlendEquationEXT                            = cast( PFN_vkCmdSetColorBlendEquationEXT                            ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendEquationEXT" );
575         vkCmdSetColorWriteMaskEXT                                = cast( PFN_vkCmdSetColorWriteMaskEXT                                ) vkGetDeviceProcAddr( device, "vkCmdSetColorWriteMaskEXT" );
576         vkCmdSetRasterizationStreamEXT                           = cast( PFN_vkCmdSetRasterizationStreamEXT                           ) vkGetDeviceProcAddr( device, "vkCmdSetRasterizationStreamEXT" );
577         vkCmdSetConservativeRasterizationModeEXT                 = cast( PFN_vkCmdSetConservativeRasterizationModeEXT                 ) vkGetDeviceProcAddr( device, "vkCmdSetConservativeRasterizationModeEXT" );
578         vkCmdSetExtraPrimitiveOverestimationSizeEXT              = cast( PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT              ) vkGetDeviceProcAddr( device, "vkCmdSetExtraPrimitiveOverestimationSizeEXT" );
579         vkCmdSetDepthClipEnableEXT                               = cast( PFN_vkCmdSetDepthClipEnableEXT                               ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClipEnableEXT" );
580         vkCmdSetSampleLocationsEnableEXT                         = cast( PFN_vkCmdSetSampleLocationsEnableEXT                         ) vkGetDeviceProcAddr( device, "vkCmdSetSampleLocationsEnableEXT" );
581         vkCmdSetColorBlendAdvancedEXT                            = cast( PFN_vkCmdSetColorBlendAdvancedEXT                            ) vkGetDeviceProcAddr( device, "vkCmdSetColorBlendAdvancedEXT" );
582         vkCmdSetProvokingVertexModeEXT                           = cast( PFN_vkCmdSetProvokingVertexModeEXT                           ) vkGetDeviceProcAddr( device, "vkCmdSetProvokingVertexModeEXT" );
583         vkCmdSetLineRasterizationModeEXT                         = cast( PFN_vkCmdSetLineRasterizationModeEXT                         ) vkGetDeviceProcAddr( device, "vkCmdSetLineRasterizationModeEXT" );
584         vkCmdSetLineStippleEnableEXT                             = cast( PFN_vkCmdSetLineStippleEnableEXT                             ) vkGetDeviceProcAddr( device, "vkCmdSetLineStippleEnableEXT" );
585         vkCmdSetDepthClipNegativeOneToOneEXT                     = cast( PFN_vkCmdSetDepthClipNegativeOneToOneEXT                     ) vkGetDeviceProcAddr( device, "vkCmdSetDepthClipNegativeOneToOneEXT" );
586         vkCmdSetViewportWScalingEnableNV                         = cast( PFN_vkCmdSetViewportWScalingEnableNV                         ) vkGetDeviceProcAddr( device, "vkCmdSetViewportWScalingEnableNV" );
587         vkCmdSetViewportSwizzleNV                                = cast( PFN_vkCmdSetViewportSwizzleNV                                ) vkGetDeviceProcAddr( device, "vkCmdSetViewportSwizzleNV" );
588         vkCmdSetCoverageToColorEnableNV                          = cast( PFN_vkCmdSetCoverageToColorEnableNV                          ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorEnableNV" );
589         vkCmdSetCoverageToColorLocationNV                        = cast( PFN_vkCmdSetCoverageToColorLocationNV                        ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageToColorLocationNV" );
590         vkCmdSetCoverageModulationModeNV                         = cast( PFN_vkCmdSetCoverageModulationModeNV                         ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationModeNV" );
591         vkCmdSetCoverageModulationTableEnableNV                  = cast( PFN_vkCmdSetCoverageModulationTableEnableNV                  ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableEnableNV" );
592         vkCmdSetCoverageModulationTableNV                        = cast( PFN_vkCmdSetCoverageModulationTableNV                        ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageModulationTableNV" );
593         vkCmdSetShadingRateImageEnableNV                         = cast( PFN_vkCmdSetShadingRateImageEnableNV                         ) vkGetDeviceProcAddr( device, "vkCmdSetShadingRateImageEnableNV" );
594         vkCmdSetRepresentativeFragmentTestEnableNV               = cast( PFN_vkCmdSetRepresentativeFragmentTestEnableNV               ) vkGetDeviceProcAddr( device, "vkCmdSetRepresentativeFragmentTestEnableNV" );
595         vkCmdSetCoverageReductionModeNV                          = cast( PFN_vkCmdSetCoverageReductionModeNV                          ) vkGetDeviceProcAddr( device, "vkCmdSetCoverageReductionModeNV" );
596 
597         // VK_EXT_shader_module_identifier
598         vkGetShaderModuleIdentifierEXT                           = cast( PFN_vkGetShaderModuleIdentifierEXT                           ) vkGetDeviceProcAddr( device, "vkGetShaderModuleIdentifierEXT" );
599         vkGetShaderModuleCreateInfoIdentifierEXT                 = cast( PFN_vkGetShaderModuleCreateInfoIdentifierEXT                 ) vkGetDeviceProcAddr( device, "vkGetShaderModuleCreateInfoIdentifierEXT" );
600 
601         // VK_NV_optical_flow
602         vkCreateOpticalFlowSessionNV                             = cast( PFN_vkCreateOpticalFlowSessionNV                             ) vkGetDeviceProcAddr( device, "vkCreateOpticalFlowSessionNV" );
603         vkDestroyOpticalFlowSessionNV                            = cast( PFN_vkDestroyOpticalFlowSessionNV                            ) vkGetDeviceProcAddr( device, "vkDestroyOpticalFlowSessionNV" );
604         vkBindOpticalFlowSessionImageNV                          = cast( PFN_vkBindOpticalFlowSessionImageNV                          ) vkGetDeviceProcAddr( device, "vkBindOpticalFlowSessionImageNV" );
605         vkCmdOpticalFlowExecuteNV                                = cast( PFN_vkCmdOpticalFlowExecuteNV                                ) vkGetDeviceProcAddr( device, "vkCmdOpticalFlowExecuteNV" );
606 
607         // VK_EXT_shader_object
608         vkCreateShadersEXT                                       = cast( PFN_vkCreateShadersEXT                                       ) vkGetDeviceProcAddr( device, "vkCreateShadersEXT" );
609         vkDestroyShaderEXT                                       = cast( PFN_vkDestroyShaderEXT                                       ) vkGetDeviceProcAddr( device, "vkDestroyShaderEXT" );
610         vkGetShaderBinaryDataEXT                                 = cast( PFN_vkGetShaderBinaryDataEXT                                 ) vkGetDeviceProcAddr( device, "vkGetShaderBinaryDataEXT" );
611         vkCmdBindShadersEXT                                      = cast( PFN_vkCmdBindShadersEXT                                      ) vkGetDeviceProcAddr( device, "vkCmdBindShadersEXT" );
612 
613         // VK_QCOM_tile_properties
614         vkGetFramebufferTilePropertiesQCOM                       = cast( PFN_vkGetFramebufferTilePropertiesQCOM                       ) vkGetDeviceProcAddr( device, "vkGetFramebufferTilePropertiesQCOM" );
615         vkGetDynamicRenderingTilePropertiesQCOM                  = cast( PFN_vkGetDynamicRenderingTilePropertiesQCOM                  ) vkGetDeviceProcAddr( device, "vkGetDynamicRenderingTilePropertiesQCOM" );
616 
617         // VK_KHR_acceleration_structure
618         vkCreateAccelerationStructureKHR                         = cast( PFN_vkCreateAccelerationStructureKHR                         ) vkGetDeviceProcAddr( device, "vkCreateAccelerationStructureKHR" );
619         vkDestroyAccelerationStructureKHR                        = cast( PFN_vkDestroyAccelerationStructureKHR                        ) vkGetDeviceProcAddr( device, "vkDestroyAccelerationStructureKHR" );
620         vkCmdBuildAccelerationStructuresKHR                      = cast( PFN_vkCmdBuildAccelerationStructuresKHR                      ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresKHR" );
621         vkCmdBuildAccelerationStructuresIndirectKHR              = cast( PFN_vkCmdBuildAccelerationStructuresIndirectKHR              ) vkGetDeviceProcAddr( device, "vkCmdBuildAccelerationStructuresIndirectKHR" );
622         vkBuildAccelerationStructuresKHR                         = cast( PFN_vkBuildAccelerationStructuresKHR                         ) vkGetDeviceProcAddr( device, "vkBuildAccelerationStructuresKHR" );
623         vkCopyAccelerationStructureKHR                           = cast( PFN_vkCopyAccelerationStructureKHR                           ) vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureKHR" );
624         vkCopyAccelerationStructureToMemoryKHR                   = cast( PFN_vkCopyAccelerationStructureToMemoryKHR                   ) vkGetDeviceProcAddr( device, "vkCopyAccelerationStructureToMemoryKHR" );
625         vkCopyMemoryToAccelerationStructureKHR                   = cast( PFN_vkCopyMemoryToAccelerationStructureKHR                   ) vkGetDeviceProcAddr( device, "vkCopyMemoryToAccelerationStructureKHR" );
626         vkWriteAccelerationStructuresPropertiesKHR               = cast( PFN_vkWriteAccelerationStructuresPropertiesKHR               ) vkGetDeviceProcAddr( device, "vkWriteAccelerationStructuresPropertiesKHR" );
627         vkCmdCopyAccelerationStructureKHR                        = cast( PFN_vkCmdCopyAccelerationStructureKHR                        ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureKHR" );
628         vkCmdCopyAccelerationStructureToMemoryKHR                = cast( PFN_vkCmdCopyAccelerationStructureToMemoryKHR                ) vkGetDeviceProcAddr( device, "vkCmdCopyAccelerationStructureToMemoryKHR" );
629         vkCmdCopyMemoryToAccelerationStructureKHR                = cast( PFN_vkCmdCopyMemoryToAccelerationStructureKHR                ) vkGetDeviceProcAddr( device, "vkCmdCopyMemoryToAccelerationStructureKHR" );
630         vkGetAccelerationStructureDeviceAddressKHR               = cast( PFN_vkGetAccelerationStructureDeviceAddressKHR               ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureDeviceAddressKHR" );
631         vkCmdWriteAccelerationStructuresPropertiesKHR            = cast( PFN_vkCmdWriteAccelerationStructuresPropertiesKHR            ) vkGetDeviceProcAddr( device, "vkCmdWriteAccelerationStructuresPropertiesKHR" );
632         vkGetDeviceAccelerationStructureCompatibilityKHR         = cast( PFN_vkGetDeviceAccelerationStructureCompatibilityKHR         ) vkGetDeviceProcAddr( device, "vkGetDeviceAccelerationStructureCompatibilityKHR" );
633         vkGetAccelerationStructureBuildSizesKHR                  = cast( PFN_vkGetAccelerationStructureBuildSizesKHR                  ) vkGetDeviceProcAddr( device, "vkGetAccelerationStructureBuildSizesKHR" );
634 
635         // VK_KHR_ray_tracing_pipeline
636         vkCmdTraceRaysKHR                                        = cast( PFN_vkCmdTraceRaysKHR                                        ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysKHR" );
637         vkCreateRayTracingPipelinesKHR                           = cast( PFN_vkCreateRayTracingPipelinesKHR                           ) vkGetDeviceProcAddr( device, "vkCreateRayTracingPipelinesKHR" );
638         vkGetRayTracingCaptureReplayShaderGroupHandlesKHR        = cast( PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR        ) vkGetDeviceProcAddr( device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR" );
639         vkCmdTraceRaysIndirectKHR                                = cast( PFN_vkCmdTraceRaysIndirectKHR                                ) vkGetDeviceProcAddr( device, "vkCmdTraceRaysIndirectKHR" );
640         vkGetRayTracingShaderGroupStackSizeKHR                   = cast( PFN_vkGetRayTracingShaderGroupStackSizeKHR                   ) vkGetDeviceProcAddr( device, "vkGetRayTracingShaderGroupStackSizeKHR" );
641         vkCmdSetRayTracingPipelineStackSizeKHR                   = cast( PFN_vkCmdSetRayTracingPipelineStackSizeKHR                   ) vkGetDeviceProcAddr( device, "vkCmdSetRayTracingPipelineStackSizeKHR" );
642 
643         // VK_EXT_mesh_shader
644         vkCmdDrawMeshTasksEXT                                    = cast( PFN_vkCmdDrawMeshTasksEXT                                    ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksEXT" );
645         vkCmdDrawMeshTasksIndirectEXT                            = cast( PFN_vkCmdDrawMeshTasksIndirectEXT                            ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectEXT" );
646         vkCmdDrawMeshTasksIndirectCountEXT                       = cast( PFN_vkCmdDrawMeshTasksIndirectCountEXT                       ) vkGetDeviceProcAddr( device, "vkCmdDrawMeshTasksIndirectCountEXT" );
647     }
648 
649 
650     /// convenience member functions, forwarded to corresponding vulkan functions
651     /// parameters of type VkDevice, const( VkAllocationCallbacks )* and VkCommandBuffer are omitted
652     /// they will be supplied by the member properties vkDevice, pAllocator and the public member commandBuffer
653     /// e.g.:
654     ///      auto dd = DispatchDevice( device );
655     ///      dd.DestroyDevice();       // instead of: dd.vkDestroyDevice( dd.vkDevice, pAllocator );
656     ///
657     /// Same mechanism works with functions which require a VkCommandBuffer as first arg
658     /// In this case the public member 'commandBuffer' must be set beforehand
659     /// e.g.:
660     ///      dd.commandBuffer = some_command_buffer;
661     ///      dd.BeginCommandBuffer( &beginInfo );
662     ///      dd.CmdBindPipeline( VK_PIPELINE_BIND_POINT_GRAPHICS, some_pipeline );
663     ///
664     /// Does not work with queues, there are just too few queue related functions
665 
666     // VK_VERSION_1_0
667     void      DestroyDevice() { vkDestroyDevice( vkDevice, pAllocator ); }
668     void      GetDeviceQueue( uint32_t queueFamilyIndex, uint32_t queueIndex, VkQueue* pQueue ) { vkGetDeviceQueue( vkDevice, queueFamilyIndex, queueIndex, pQueue ); }
669     VkResult  DeviceWaitIdle() { return vkDeviceWaitIdle( vkDevice ); }
670     VkResult  AllocateMemory( const( VkMemoryAllocateInfo )* pAllocateInfo, VkDeviceMemory* pMemory ) { return vkAllocateMemory( vkDevice, pAllocateInfo, pAllocator, pMemory ); }
671     void      FreeMemory( VkDeviceMemory memory ) { vkFreeMemory( vkDevice, memory, pAllocator ); }
672     VkResult  MapMemory( VkDeviceMemory memory, VkDeviceSize offset, VkDeviceSize size, VkMemoryMapFlags flags, void** ppData ) { return vkMapMemory( vkDevice, memory, offset, size, flags, ppData ); }
673     void      UnmapMemory( VkDeviceMemory memory ) { vkUnmapMemory( vkDevice, memory ); }
674     VkResult  FlushMappedMemoryRanges( uint32_t memoryRangeCount, const( VkMappedMemoryRange )* pMemoryRanges ) { return vkFlushMappedMemoryRanges( vkDevice, memoryRangeCount, pMemoryRanges ); }
675     VkResult  InvalidateMappedMemoryRanges( uint32_t memoryRangeCount, const( VkMappedMemoryRange )* pMemoryRanges ) { return vkInvalidateMappedMemoryRanges( vkDevice, memoryRangeCount, pMemoryRanges ); }
676     void      GetDeviceMemoryCommitment( VkDeviceMemory memory, VkDeviceSize* pCommittedMemoryInBytes ) { vkGetDeviceMemoryCommitment( vkDevice, memory, pCommittedMemoryInBytes ); }
677     VkResult  BindBufferMemory( VkBuffer buffer, VkDeviceMemory memory, VkDeviceSize memoryOffset ) { return vkBindBufferMemory( vkDevice, buffer, memory, memoryOffset ); }
678     VkResult  BindImageMemory( VkImage image, VkDeviceMemory memory, VkDeviceSize memoryOffset ) { return vkBindImageMemory( vkDevice, image, memory, memoryOffset ); }
679     void      GetBufferMemoryRequirements( VkBuffer buffer, VkMemoryRequirements* pMemoryRequirements ) { vkGetBufferMemoryRequirements( vkDevice, buffer, pMemoryRequirements ); }
680     void      GetImageMemoryRequirements( VkImage image, VkMemoryRequirements* pMemoryRequirements ) { vkGetImageMemoryRequirements( vkDevice, image, pMemoryRequirements ); }
681     void      GetImageSparseMemoryRequirements( VkImage image, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements* pSparseMemoryRequirements ) { vkGetImageSparseMemoryRequirements( vkDevice, image, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); }
682     VkResult  CreateFence( const( VkFenceCreateInfo )* pCreateInfo, VkFence* pFence ) { return vkCreateFence( vkDevice, pCreateInfo, pAllocator, pFence ); }
683     void      DestroyFence( VkFence fence ) { vkDestroyFence( vkDevice, fence, pAllocator ); }
684     VkResult  ResetFences( uint32_t fenceCount, const( VkFence )* pFences ) { return vkResetFences( vkDevice, fenceCount, pFences ); }
685     VkResult  GetFenceStatus( VkFence fence ) { return vkGetFenceStatus( vkDevice, fence ); }
686     VkResult  WaitForFences( uint32_t fenceCount, const( VkFence )* pFences, VkBool32 waitAll, uint64_t timeout ) { return vkWaitForFences( vkDevice, fenceCount, pFences, waitAll, timeout ); }
687     VkResult  CreateSemaphore( const( VkSemaphoreCreateInfo )* pCreateInfo, VkSemaphore* pSemaphore ) { return vkCreateSemaphore( vkDevice, pCreateInfo, pAllocator, pSemaphore ); }
688     void      DestroySemaphore( VkSemaphore semaphore ) { vkDestroySemaphore( vkDevice, semaphore, pAllocator ); }
689     VkResult  CreateEvent( const( VkEventCreateInfo )* pCreateInfo, VkEvent* pEvent ) { return vkCreateEvent( vkDevice, pCreateInfo, pAllocator, pEvent ); }
690     void      DestroyEvent( VkEvent event ) { vkDestroyEvent( vkDevice, event, pAllocator ); }
691     VkResult  GetEventStatus( VkEvent event ) { return vkGetEventStatus( vkDevice, event ); }
692     VkResult  SetEvent( VkEvent event ) { return vkSetEvent( vkDevice, event ); }
693     VkResult  ResetEvent( VkEvent event ) { return vkResetEvent( vkDevice, event ); }
694     VkResult  CreateQueryPool( const( VkQueryPoolCreateInfo )* pCreateInfo, VkQueryPool* pQueryPool ) { return vkCreateQueryPool( vkDevice, pCreateInfo, pAllocator, pQueryPool ); }
695     void      DestroyQueryPool( VkQueryPool queryPool ) { vkDestroyQueryPool( vkDevice, queryPool, pAllocator ); }
696     VkResult  GetQueryPoolResults( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, size_t dataSize, void* pData, VkDeviceSize stride, VkQueryResultFlags flags ) { return vkGetQueryPoolResults( vkDevice, queryPool, firstQuery, queryCount, dataSize, pData, stride, flags ); }
697     VkResult  CreateBuffer( const( VkBufferCreateInfo )* pCreateInfo, VkBuffer* pBuffer ) { return vkCreateBuffer( vkDevice, pCreateInfo, pAllocator, pBuffer ); }
698     void      DestroyBuffer( VkBuffer buffer ) { vkDestroyBuffer( vkDevice, buffer, pAllocator ); }
699     VkResult  CreateBufferView( const( VkBufferViewCreateInfo )* pCreateInfo, VkBufferView* pView ) { return vkCreateBufferView( vkDevice, pCreateInfo, pAllocator, pView ); }
700     void      DestroyBufferView( VkBufferView bufferView ) { vkDestroyBufferView( vkDevice, bufferView, pAllocator ); }
701     VkResult  CreateImage( const( VkImageCreateInfo )* pCreateInfo, VkImage* pImage ) { return vkCreateImage( vkDevice, pCreateInfo, pAllocator, pImage ); }
702     void      DestroyImage( VkImage image ) { vkDestroyImage( vkDevice, image, pAllocator ); }
703     void      GetImageSubresourceLayout( VkImage image, const( VkImageSubresource )* pSubresource, VkSubresourceLayout* pLayout ) { vkGetImageSubresourceLayout( vkDevice, image, pSubresource, pLayout ); }
704     VkResult  CreateImageView( const( VkImageViewCreateInfo )* pCreateInfo, VkImageView* pView ) { return vkCreateImageView( vkDevice, pCreateInfo, pAllocator, pView ); }
705     void      DestroyImageView( VkImageView imageView ) { vkDestroyImageView( vkDevice, imageView, pAllocator ); }
706     VkResult  CreateShaderModule( const( VkShaderModuleCreateInfo )* pCreateInfo, VkShaderModule* pShaderModule ) { return vkCreateShaderModule( vkDevice, pCreateInfo, pAllocator, pShaderModule ); }
707     void      DestroyShaderModule( VkShaderModule shaderModule ) { vkDestroyShaderModule( vkDevice, shaderModule, pAllocator ); }
708     VkResult  CreatePipelineCache( const( VkPipelineCacheCreateInfo )* pCreateInfo, VkPipelineCache* pPipelineCache ) { return vkCreatePipelineCache( vkDevice, pCreateInfo, pAllocator, pPipelineCache ); }
709     void      DestroyPipelineCache( VkPipelineCache pipelineCache ) { vkDestroyPipelineCache( vkDevice, pipelineCache, pAllocator ); }
710     VkResult  GetPipelineCacheData( VkPipelineCache pipelineCache, size_t* pDataSize, void* pData ) { return vkGetPipelineCacheData( vkDevice, pipelineCache, pDataSize, pData ); }
711     VkResult  MergePipelineCaches( VkPipelineCache dstCache, uint32_t srcCacheCount, const( VkPipelineCache )* pSrcCaches ) { return vkMergePipelineCaches( vkDevice, dstCache, srcCacheCount, pSrcCaches ); }
712     VkResult  CreateGraphicsPipelines( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkGraphicsPipelineCreateInfo )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateGraphicsPipelines( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); }
713     VkResult  CreateComputePipelines( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkComputePipelineCreateInfo )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateComputePipelines( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); }
714     void      DestroyPipeline( VkPipeline pipeline ) { vkDestroyPipeline( vkDevice, pipeline, pAllocator ); }
715     VkResult  CreatePipelineLayout( const( VkPipelineLayoutCreateInfo )* pCreateInfo, VkPipelineLayout* pPipelineLayout ) { return vkCreatePipelineLayout( vkDevice, pCreateInfo, pAllocator, pPipelineLayout ); }
716     void      DestroyPipelineLayout( VkPipelineLayout pipelineLayout ) { vkDestroyPipelineLayout( vkDevice, pipelineLayout, pAllocator ); }
717     VkResult  CreateSampler( const( VkSamplerCreateInfo )* pCreateInfo, VkSampler* pSampler ) { return vkCreateSampler( vkDevice, pCreateInfo, pAllocator, pSampler ); }
718     void      DestroySampler( VkSampler sampler ) { vkDestroySampler( vkDevice, sampler, pAllocator ); }
719     VkResult  CreateDescriptorSetLayout( const( VkDescriptorSetLayoutCreateInfo )* pCreateInfo, VkDescriptorSetLayout* pSetLayout ) { return vkCreateDescriptorSetLayout( vkDevice, pCreateInfo, pAllocator, pSetLayout ); }
720     void      DestroyDescriptorSetLayout( VkDescriptorSetLayout descriptorSetLayout ) { vkDestroyDescriptorSetLayout( vkDevice, descriptorSetLayout, pAllocator ); }
721     VkResult  CreateDescriptorPool( const( VkDescriptorPoolCreateInfo )* pCreateInfo, VkDescriptorPool* pDescriptorPool ) { return vkCreateDescriptorPool( vkDevice, pCreateInfo, pAllocator, pDescriptorPool ); }
722     void      DestroyDescriptorPool( VkDescriptorPool descriptorPool ) { vkDestroyDescriptorPool( vkDevice, descriptorPool, pAllocator ); }
723     VkResult  ResetDescriptorPool( VkDescriptorPool descriptorPool, VkDescriptorPoolResetFlags flags ) { return vkResetDescriptorPool( vkDevice, descriptorPool, flags ); }
724     VkResult  AllocateDescriptorSets( const( VkDescriptorSetAllocateInfo )* pAllocateInfo, VkDescriptorSet* pDescriptorSets ) { return vkAllocateDescriptorSets( vkDevice, pAllocateInfo, pDescriptorSets ); }
725     VkResult  FreeDescriptorSets( VkDescriptorPool descriptorPool, uint32_t descriptorSetCount, const( VkDescriptorSet )* pDescriptorSets ) { return vkFreeDescriptorSets( vkDevice, descriptorPool, descriptorSetCount, pDescriptorSets ); }
726     void      UpdateDescriptorSets( uint32_t descriptorWriteCount, const( VkWriteDescriptorSet )* pDescriptorWrites, uint32_t descriptorCopyCount, const( VkCopyDescriptorSet )* pDescriptorCopies ) { vkUpdateDescriptorSets( vkDevice, descriptorWriteCount, pDescriptorWrites, descriptorCopyCount, pDescriptorCopies ); }
727     VkResult  CreateFramebuffer( const( VkFramebufferCreateInfo )* pCreateInfo, VkFramebuffer* pFramebuffer ) { return vkCreateFramebuffer( vkDevice, pCreateInfo, pAllocator, pFramebuffer ); }
728     void      DestroyFramebuffer( VkFramebuffer framebuffer ) { vkDestroyFramebuffer( vkDevice, framebuffer, pAllocator ); }
729     VkResult  CreateRenderPass( const( VkRenderPassCreateInfo )* pCreateInfo, VkRenderPass* pRenderPass ) { return vkCreateRenderPass( vkDevice, pCreateInfo, pAllocator, pRenderPass ); }
730     void      DestroyRenderPass( VkRenderPass renderPass ) { vkDestroyRenderPass( vkDevice, renderPass, pAllocator ); }
731     void      GetRenderAreaGranularity( VkRenderPass renderPass, VkExtent2D* pGranularity ) { vkGetRenderAreaGranularity( vkDevice, renderPass, pGranularity ); }
732     VkResult  CreateCommandPool( const( VkCommandPoolCreateInfo )* pCreateInfo, VkCommandPool* pCommandPool ) { return vkCreateCommandPool( vkDevice, pCreateInfo, pAllocator, pCommandPool ); }
733     void      DestroyCommandPool( VkCommandPool commandPool ) { vkDestroyCommandPool( vkDevice, commandPool, pAllocator ); }
734     VkResult  ResetCommandPool( VkCommandPool commandPool, VkCommandPoolResetFlags flags ) { return vkResetCommandPool( vkDevice, commandPool, flags ); }
735     VkResult  AllocateCommandBuffers( const( VkCommandBufferAllocateInfo )* pAllocateInfo, VkCommandBuffer* pCommandBuffers ) { return vkAllocateCommandBuffers( vkDevice, pAllocateInfo, pCommandBuffers ); }
736     void      FreeCommandBuffers( VkCommandPool commandPool, uint32_t commandBufferCount, const( VkCommandBuffer )* pCommandBuffers ) { vkFreeCommandBuffers( vkDevice, commandPool, commandBufferCount, pCommandBuffers ); }
737     VkResult  BeginCommandBuffer( const( VkCommandBufferBeginInfo )* pBeginInfo ) { return vkBeginCommandBuffer( commandBuffer, pBeginInfo ); }
738     VkResult  EndCommandBuffer() { return vkEndCommandBuffer( commandBuffer ); }
739     VkResult  ResetCommandBuffer( VkCommandBufferResetFlags flags ) { return vkResetCommandBuffer( commandBuffer, flags ); }
740     void      CmdBindPipeline( VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline ) { vkCmdBindPipeline( commandBuffer, pipelineBindPoint, pipeline ); }
741     void      CmdSetViewport( uint32_t firstViewport, uint32_t viewportCount, const( VkViewport )* pViewports ) { vkCmdSetViewport( commandBuffer, firstViewport, viewportCount, pViewports ); }
742     void      CmdSetScissor( uint32_t firstScissor, uint32_t scissorCount, const( VkRect2D )* pScissors ) { vkCmdSetScissor( commandBuffer, firstScissor, scissorCount, pScissors ); }
743     void      CmdSetLineWidth( float lineWidth ) { vkCmdSetLineWidth( commandBuffer, lineWidth ); }
744     void      CmdSetDepthBias( float depthBiasConstantFactor, float depthBiasClamp, float depthBiasSlopeFactor ) { vkCmdSetDepthBias( commandBuffer, depthBiasConstantFactor, depthBiasClamp, depthBiasSlopeFactor ); }
745     void      CmdSetBlendConstants( const float[4] blendConstants ) { vkCmdSetBlendConstants( commandBuffer, blendConstants ); }
746     void      CmdSetDepthBounds( float minDepthBounds, float maxDepthBounds ) { vkCmdSetDepthBounds( commandBuffer, minDepthBounds, maxDepthBounds ); }
747     void      CmdSetStencilCompareMask( VkStencilFaceFlags faceMask, uint32_t compareMask ) { vkCmdSetStencilCompareMask( commandBuffer, faceMask, compareMask ); }
748     void      CmdSetStencilWriteMask( VkStencilFaceFlags faceMask, uint32_t writeMask ) { vkCmdSetStencilWriteMask( commandBuffer, faceMask, writeMask ); }
749     void      CmdSetStencilReference( VkStencilFaceFlags faceMask, uint32_t reference ) { vkCmdSetStencilReference( commandBuffer, faceMask, reference ); }
750     void      CmdBindDescriptorSets( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t descriptorSetCount, const( VkDescriptorSet )* pDescriptorSets, uint32_t dynamicOffsetCount, const( uint32_t )* pDynamicOffsets ) { vkCmdBindDescriptorSets( commandBuffer, pipelineBindPoint, layout, firstSet, descriptorSetCount, pDescriptorSets, dynamicOffsetCount, pDynamicOffsets ); }
751     void      CmdBindIndexBuffer( VkBuffer buffer, VkDeviceSize offset, VkIndexType indexType ) { vkCmdBindIndexBuffer( commandBuffer, buffer, offset, indexType ); }
752     void      CmdBindVertexBuffers( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets ) { vkCmdBindVertexBuffers( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets ); }
753     void      CmdDraw( uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance ) { vkCmdDraw( commandBuffer, vertexCount, instanceCount, firstVertex, firstInstance ); }
754     void      CmdDrawIndexed( uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t vertexOffset, uint32_t firstInstance ) { vkCmdDrawIndexed( commandBuffer, indexCount, instanceCount, firstIndex, vertexOffset, firstInstance ); }
755     void      CmdDrawIndirect( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawIndirect( commandBuffer, buffer, offset, drawCount, stride ); }
756     void      CmdDrawIndexedIndirect( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawIndexedIndirect( commandBuffer, buffer, offset, drawCount, stride ); }
757     void      CmdDispatch( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDispatch( commandBuffer, groupCountX, groupCountY, groupCountZ ); }
758     void      CmdDispatchIndirect( VkBuffer buffer, VkDeviceSize offset ) { vkCmdDispatchIndirect( commandBuffer, buffer, offset ); }
759     void      CmdCopyBuffer( VkBuffer srcBuffer, VkBuffer dstBuffer, uint32_t regionCount, const( VkBufferCopy )* pRegions ) { vkCmdCopyBuffer( commandBuffer, srcBuffer, dstBuffer, regionCount, pRegions ); }
760     void      CmdCopyImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageCopy )* pRegions ) { vkCmdCopyImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); }
761     void      CmdBlitImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageBlit )* pRegions, VkFilter filter ) { vkCmdBlitImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions, filter ); }
762     void      CmdCopyBufferToImage( VkBuffer srcBuffer, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkBufferImageCopy )* pRegions ) { vkCmdCopyBufferToImage( commandBuffer, srcBuffer, dstImage, dstImageLayout, regionCount, pRegions ); }
763     void      CmdCopyImageToBuffer( VkImage srcImage, VkImageLayout srcImageLayout, VkBuffer dstBuffer, uint32_t regionCount, const( VkBufferImageCopy )* pRegions ) { vkCmdCopyImageToBuffer( commandBuffer, srcImage, srcImageLayout, dstBuffer, regionCount, pRegions ); }
764     void      CmdUpdateBuffer( VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize dataSize, const( void )* pData ) { vkCmdUpdateBuffer( commandBuffer, dstBuffer, dstOffset, dataSize, pData ); }
765     void      CmdFillBuffer( VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize size, uint32_t data ) { vkCmdFillBuffer( commandBuffer, dstBuffer, dstOffset, size, data ); }
766     void      CmdClearColorImage( VkImage image, VkImageLayout imageLayout, const( VkClearColorValue )* pColor, uint32_t rangeCount, const( VkImageSubresourceRange )* pRanges ) { vkCmdClearColorImage( commandBuffer, image, imageLayout, pColor, rangeCount, pRanges ); }
767     void      CmdClearDepthStencilImage( VkImage image, VkImageLayout imageLayout, const( VkClearDepthStencilValue )* pDepthStencil, uint32_t rangeCount, const( VkImageSubresourceRange )* pRanges ) { vkCmdClearDepthStencilImage( commandBuffer, image, imageLayout, pDepthStencil, rangeCount, pRanges ); }
768     void      CmdClearAttachments( uint32_t attachmentCount, const( VkClearAttachment )* pAttachments, uint32_t rectCount, const( VkClearRect )* pRects ) { vkCmdClearAttachments( commandBuffer, attachmentCount, pAttachments, rectCount, pRects ); }
769     void      CmdResolveImage( VkImage srcImage, VkImageLayout srcImageLayout, VkImage dstImage, VkImageLayout dstImageLayout, uint32_t regionCount, const( VkImageResolve )* pRegions ) { vkCmdResolveImage( commandBuffer, srcImage, srcImageLayout, dstImage, dstImageLayout, regionCount, pRegions ); }
770     void      CmdSetEvent( VkEvent event, VkPipelineStageFlags stageMask ) { vkCmdSetEvent( commandBuffer, event, stageMask ); }
771     void      CmdResetEvent( VkEvent event, VkPipelineStageFlags stageMask ) { vkCmdResetEvent( commandBuffer, event, stageMask ); }
772     void      CmdWaitEvents( uint32_t eventCount, const( VkEvent )* pEvents, VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, uint32_t memoryBarrierCount, const( VkMemoryBarrier )* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const( VkBufferMemoryBarrier )* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const( VkImageMemoryBarrier )* pImageMemoryBarriers ) { vkCmdWaitEvents( commandBuffer, eventCount, pEvents, srcStageMask, dstStageMask, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers ); }
773     void      CmdPipelineBarrier( VkPipelineStageFlags srcStageMask, VkPipelineStageFlags dstStageMask, VkDependencyFlags dependencyFlags, uint32_t memoryBarrierCount, const( VkMemoryBarrier )* pMemoryBarriers, uint32_t bufferMemoryBarrierCount, const( VkBufferMemoryBarrier )* pBufferMemoryBarriers, uint32_t imageMemoryBarrierCount, const( VkImageMemoryBarrier )* pImageMemoryBarriers ) { vkCmdPipelineBarrier( commandBuffer, srcStageMask, dstStageMask, dependencyFlags, memoryBarrierCount, pMemoryBarriers, bufferMemoryBarrierCount, pBufferMemoryBarriers, imageMemoryBarrierCount, pImageMemoryBarriers ); }
774     void      CmdBeginQuery( VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags ) { vkCmdBeginQuery( commandBuffer, queryPool, query, flags ); }
775     void      CmdEndQuery( VkQueryPool queryPool, uint32_t query ) { vkCmdEndQuery( commandBuffer, queryPool, query ); }
776     void      CmdResetQueryPool( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) { vkCmdResetQueryPool( commandBuffer, queryPool, firstQuery, queryCount ); }
777     void      CmdWriteTimestamp( VkPipelineStageFlagBits pipelineStage, VkQueryPool queryPool, uint32_t query ) { vkCmdWriteTimestamp( commandBuffer, pipelineStage, queryPool, query ); }
778     void      CmdCopyQueryPoolResults( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount, VkBuffer dstBuffer, VkDeviceSize dstOffset, VkDeviceSize stride, VkQueryResultFlags flags ) { vkCmdCopyQueryPoolResults( commandBuffer, queryPool, firstQuery, queryCount, dstBuffer, dstOffset, stride, flags ); }
779     void      CmdPushConstants( VkPipelineLayout layout, VkShaderStageFlags stageFlags, uint32_t offset, uint32_t size, const( void )* pValues ) { vkCmdPushConstants( commandBuffer, layout, stageFlags, offset, size, pValues ); }
780     void      CmdBeginRenderPass( const( VkRenderPassBeginInfo )* pRenderPassBegin, VkSubpassContents contents ) { vkCmdBeginRenderPass( commandBuffer, pRenderPassBegin, contents ); }
781     void      CmdNextSubpass( VkSubpassContents contents ) { vkCmdNextSubpass( commandBuffer, contents ); }
782     void      CmdEndRenderPass() { vkCmdEndRenderPass( commandBuffer ); }
783     void      CmdExecuteCommands( uint32_t commandBufferCount, const( VkCommandBuffer )* pCommandBuffers ) { vkCmdExecuteCommands( commandBuffer, commandBufferCount, pCommandBuffers ); }
784 
785     // VK_VERSION_1_1
786     VkResult  BindBufferMemory2( uint32_t bindInfoCount, const( VkBindBufferMemoryInfo )* pBindInfos ) { return vkBindBufferMemory2( vkDevice, bindInfoCount, pBindInfos ); }
787     VkResult  BindImageMemory2( uint32_t bindInfoCount, const( VkBindImageMemoryInfo )* pBindInfos ) { return vkBindImageMemory2( vkDevice, bindInfoCount, pBindInfos ); }
788     void      GetDeviceGroupPeerMemoryFeatures( uint32_t heapIndex, uint32_t localDeviceIndex, uint32_t remoteDeviceIndex, VkPeerMemoryFeatureFlags* pPeerMemoryFeatures ) { vkGetDeviceGroupPeerMemoryFeatures( vkDevice, heapIndex, localDeviceIndex, remoteDeviceIndex, pPeerMemoryFeatures ); }
789     void      CmdSetDeviceMask( uint32_t deviceMask ) { vkCmdSetDeviceMask( commandBuffer, deviceMask ); }
790     void      CmdDispatchBase( uint32_t baseGroupX, uint32_t baseGroupY, uint32_t baseGroupZ, uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDispatchBase( commandBuffer, baseGroupX, baseGroupY, baseGroupZ, groupCountX, groupCountY, groupCountZ ); }
791     void      GetImageMemoryRequirements2( const( VkImageMemoryRequirementsInfo2 )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetImageMemoryRequirements2( vkDevice, pInfo, pMemoryRequirements ); }
792     void      GetBufferMemoryRequirements2( const( VkBufferMemoryRequirementsInfo2 )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetBufferMemoryRequirements2( vkDevice, pInfo, pMemoryRequirements ); }
793     void      GetImageSparseMemoryRequirements2( const( VkImageSparseMemoryRequirementsInfo2 )* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) { vkGetImageSparseMemoryRequirements2( vkDevice, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); }
794     void      TrimCommandPool( VkCommandPool commandPool, VkCommandPoolTrimFlags flags ) { vkTrimCommandPool( vkDevice, commandPool, flags ); }
795     void      GetDeviceQueue2( const( VkDeviceQueueInfo2 )* pQueueInfo, VkQueue* pQueue ) { vkGetDeviceQueue2( vkDevice, pQueueInfo, pQueue ); }
796     VkResult  CreateSamplerYcbcrConversion( const( VkSamplerYcbcrConversionCreateInfo )* pCreateInfo, VkSamplerYcbcrConversion* pYcbcrConversion ) { return vkCreateSamplerYcbcrConversion( vkDevice, pCreateInfo, pAllocator, pYcbcrConversion ); }
797     void      DestroySamplerYcbcrConversion( VkSamplerYcbcrConversion ycbcrConversion ) { vkDestroySamplerYcbcrConversion( vkDevice, ycbcrConversion, pAllocator ); }
798     VkResult  CreateDescriptorUpdateTemplate( const( VkDescriptorUpdateTemplateCreateInfo )* pCreateInfo, VkDescriptorUpdateTemplate* pDescriptorUpdateTemplate ) { return vkCreateDescriptorUpdateTemplate( vkDevice, pCreateInfo, pAllocator, pDescriptorUpdateTemplate ); }
799     void      DestroyDescriptorUpdateTemplate( VkDescriptorUpdateTemplate descriptorUpdateTemplate ) { vkDestroyDescriptorUpdateTemplate( vkDevice, descriptorUpdateTemplate, pAllocator ); }
800     void      UpdateDescriptorSetWithTemplate( VkDescriptorSet descriptorSet, VkDescriptorUpdateTemplate descriptorUpdateTemplate, const( void )* pData ) { vkUpdateDescriptorSetWithTemplate( vkDevice, descriptorSet, descriptorUpdateTemplate, pData ); }
801     void      GetDescriptorSetLayoutSupport( const( VkDescriptorSetLayoutCreateInfo )* pCreateInfo, VkDescriptorSetLayoutSupport* pSupport ) { vkGetDescriptorSetLayoutSupport( vkDevice, pCreateInfo, pSupport ); }
802 
803     // VK_VERSION_1_2
804     void      CmdDrawIndirectCount( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); }
805     void      CmdDrawIndexedIndirectCount( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawIndexedIndirectCount( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); }
806     VkResult  CreateRenderPass2( const( VkRenderPassCreateInfo2 )* pCreateInfo, VkRenderPass* pRenderPass ) { return vkCreateRenderPass2( vkDevice, pCreateInfo, pAllocator, pRenderPass ); }
807     void      CmdBeginRenderPass2( const( VkRenderPassBeginInfo )* pRenderPassBegin, const( VkSubpassBeginInfo )* pSubpassBeginInfo ) { vkCmdBeginRenderPass2( commandBuffer, pRenderPassBegin, pSubpassBeginInfo ); }
808     void      CmdNextSubpass2( const( VkSubpassBeginInfo )* pSubpassBeginInfo, const( VkSubpassEndInfo )* pSubpassEndInfo ) { vkCmdNextSubpass2( commandBuffer, pSubpassBeginInfo, pSubpassEndInfo ); }
809     void      CmdEndRenderPass2( const( VkSubpassEndInfo )* pSubpassEndInfo ) { vkCmdEndRenderPass2( commandBuffer, pSubpassEndInfo ); }
810     void      ResetQueryPool( VkQueryPool queryPool, uint32_t firstQuery, uint32_t queryCount ) { vkResetQueryPool( vkDevice, queryPool, firstQuery, queryCount ); }
811     VkResult  GetSemaphoreCounterValue( VkSemaphore semaphore, uint64_t* pValue ) { return vkGetSemaphoreCounterValue( vkDevice, semaphore, pValue ); }
812     VkResult  WaitSemaphores( const( VkSemaphoreWaitInfo )* pWaitInfo, uint64_t timeout ) { return vkWaitSemaphores( vkDevice, pWaitInfo, timeout ); }
813     VkResult  SignalSemaphore( const( VkSemaphoreSignalInfo )* pSignalInfo ) { return vkSignalSemaphore( vkDevice, pSignalInfo ); }
814     VkDeviceAddress  GetBufferDeviceAddress( const( VkBufferDeviceAddressInfo )* pInfo ) { return vkGetBufferDeviceAddress( vkDevice, pInfo ); }
815     uint64_t  GetBufferOpaqueCaptureAddress( const( VkBufferDeviceAddressInfo )* pInfo ) { return vkGetBufferOpaqueCaptureAddress( vkDevice, pInfo ); }
816     uint64_t  GetDeviceMemoryOpaqueCaptureAddress( const( VkDeviceMemoryOpaqueCaptureAddressInfo )* pInfo ) { return vkGetDeviceMemoryOpaqueCaptureAddress( vkDevice, pInfo ); }
817 
818     // VK_VERSION_1_3
819     VkResult  CreatePrivateDataSlot( const( VkPrivateDataSlotCreateInfo )* pCreateInfo, VkPrivateDataSlot* pPrivateDataSlot ) { return vkCreatePrivateDataSlot( vkDevice, pCreateInfo, pAllocator, pPrivateDataSlot ); }
820     void      DestroyPrivateDataSlot( VkPrivateDataSlot privateDataSlot ) { vkDestroyPrivateDataSlot( vkDevice, privateDataSlot, pAllocator ); }
821     VkResult  SetPrivateData( VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t data ) { return vkSetPrivateData( vkDevice, objectType, objectHandle, privateDataSlot, data ); }
822     void      GetPrivateData( VkObjectType objectType, uint64_t objectHandle, VkPrivateDataSlot privateDataSlot, uint64_t* pData ) { vkGetPrivateData( vkDevice, objectType, objectHandle, privateDataSlot, pData ); }
823     void      CmdSetEvent2( VkEvent event, const( VkDependencyInfo )* pDependencyInfo ) { vkCmdSetEvent2( commandBuffer, event, pDependencyInfo ); }
824     void      CmdResetEvent2( VkEvent event, VkPipelineStageFlags2 stageMask ) { vkCmdResetEvent2( commandBuffer, event, stageMask ); }
825     void      CmdWaitEvents2( uint32_t eventCount, const( VkEvent )* pEvents, const( VkDependencyInfo )* pDependencyInfos ) { vkCmdWaitEvents2( commandBuffer, eventCount, pEvents, pDependencyInfos ); }
826     void      CmdPipelineBarrier2( const( VkDependencyInfo )* pDependencyInfo ) { vkCmdPipelineBarrier2( commandBuffer, pDependencyInfo ); }
827     void      CmdWriteTimestamp2( VkPipelineStageFlags2 stage, VkQueryPool queryPool, uint32_t query ) { vkCmdWriteTimestamp2( commandBuffer, stage, queryPool, query ); }
828     void      CmdCopyBuffer2( const( VkCopyBufferInfo2 )* pCopyBufferInfo ) { vkCmdCopyBuffer2( commandBuffer, pCopyBufferInfo ); }
829     void      CmdCopyImage2( const( VkCopyImageInfo2 )* pCopyImageInfo ) { vkCmdCopyImage2( commandBuffer, pCopyImageInfo ); }
830     void      CmdCopyBufferToImage2( const( VkCopyBufferToImageInfo2 )* pCopyBufferToImageInfo ) { vkCmdCopyBufferToImage2( commandBuffer, pCopyBufferToImageInfo ); }
831     void      CmdCopyImageToBuffer2( const( VkCopyImageToBufferInfo2 )* pCopyImageToBufferInfo ) { vkCmdCopyImageToBuffer2( commandBuffer, pCopyImageToBufferInfo ); }
832     void      CmdBlitImage2( const( VkBlitImageInfo2 )* pBlitImageInfo ) { vkCmdBlitImage2( commandBuffer, pBlitImageInfo ); }
833     void      CmdResolveImage2( const( VkResolveImageInfo2 )* pResolveImageInfo ) { vkCmdResolveImage2( commandBuffer, pResolveImageInfo ); }
834     void      CmdBeginRendering( const( VkRenderingInfo )* pRenderingInfo ) { vkCmdBeginRendering( commandBuffer, pRenderingInfo ); }
835     void      CmdEndRendering() { vkCmdEndRendering( commandBuffer ); }
836     void      CmdSetCullMode( VkCullModeFlags cullMode ) { vkCmdSetCullMode( commandBuffer, cullMode ); }
837     void      CmdSetFrontFace( VkFrontFace frontFace ) { vkCmdSetFrontFace( commandBuffer, frontFace ); }
838     void      CmdSetPrimitiveTopology( VkPrimitiveTopology primitiveTopology ) { vkCmdSetPrimitiveTopology( commandBuffer, primitiveTopology ); }
839     void      CmdSetViewportWithCount( uint32_t viewportCount, const( VkViewport )* pViewports ) { vkCmdSetViewportWithCount( commandBuffer, viewportCount, pViewports ); }
840     void      CmdSetScissorWithCount( uint32_t scissorCount, const( VkRect2D )* pScissors ) { vkCmdSetScissorWithCount( commandBuffer, scissorCount, pScissors ); }
841     void      CmdBindVertexBuffers2( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets, const( VkDeviceSize )* pSizes, const( VkDeviceSize )* pStrides ) { vkCmdBindVertexBuffers2( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes, pStrides ); }
842     void      CmdSetDepthTestEnable( VkBool32 depthTestEnable ) { vkCmdSetDepthTestEnable( commandBuffer, depthTestEnable ); }
843     void      CmdSetDepthWriteEnable( VkBool32 depthWriteEnable ) { vkCmdSetDepthWriteEnable( commandBuffer, depthWriteEnable ); }
844     void      CmdSetDepthCompareOp( VkCompareOp depthCompareOp ) { vkCmdSetDepthCompareOp( commandBuffer, depthCompareOp ); }
845     void      CmdSetDepthBoundsTestEnable( VkBool32 depthBoundsTestEnable ) { vkCmdSetDepthBoundsTestEnable( commandBuffer, depthBoundsTestEnable ); }
846     void      CmdSetStencilTestEnable( VkBool32 stencilTestEnable ) { vkCmdSetStencilTestEnable( commandBuffer, stencilTestEnable ); }
847     void      CmdSetStencilOp( VkStencilFaceFlags faceMask, VkStencilOp failOp, VkStencilOp passOp, VkStencilOp depthFailOp, VkCompareOp compareOp ) { vkCmdSetStencilOp( commandBuffer, faceMask, failOp, passOp, depthFailOp, compareOp ); }
848     void      CmdSetRasterizerDiscardEnable( VkBool32 rasterizerDiscardEnable ) { vkCmdSetRasterizerDiscardEnable( commandBuffer, rasterizerDiscardEnable ); }
849     void      CmdSetDepthBiasEnable( VkBool32 depthBiasEnable ) { vkCmdSetDepthBiasEnable( commandBuffer, depthBiasEnable ); }
850     void      CmdSetPrimitiveRestartEnable( VkBool32 primitiveRestartEnable ) { vkCmdSetPrimitiveRestartEnable( commandBuffer, primitiveRestartEnable ); }
851     void      GetDeviceBufferMemoryRequirements( const( VkDeviceBufferMemoryRequirements )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetDeviceBufferMemoryRequirements( vkDevice, pInfo, pMemoryRequirements ); }
852     void      GetDeviceImageMemoryRequirements( const( VkDeviceImageMemoryRequirements )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetDeviceImageMemoryRequirements( vkDevice, pInfo, pMemoryRequirements ); }
853     void      GetDeviceImageSparseMemoryRequirements( const( VkDeviceImageMemoryRequirements )* pInfo, uint32_t* pSparseMemoryRequirementCount, VkSparseImageMemoryRequirements2* pSparseMemoryRequirements ) { vkGetDeviceImageSparseMemoryRequirements( vkDevice, pInfo, pSparseMemoryRequirementCount, pSparseMemoryRequirements ); }
854 
855     // VK_KHR_swapchain
856     VkResult  CreateSwapchainKHR( const( VkSwapchainCreateInfoKHR )* pCreateInfo, VkSwapchainKHR* pSwapchain ) { return vkCreateSwapchainKHR( vkDevice, pCreateInfo, pAllocator, pSwapchain ); }
857     void      DestroySwapchainKHR( VkSwapchainKHR swapchain ) { vkDestroySwapchainKHR( vkDevice, swapchain, pAllocator ); }
858     VkResult  GetSwapchainImagesKHR( VkSwapchainKHR swapchain, uint32_t* pSwapchainImageCount, VkImage* pSwapchainImages ) { return vkGetSwapchainImagesKHR( vkDevice, swapchain, pSwapchainImageCount, pSwapchainImages ); }
859     VkResult  AcquireNextImageKHR( VkSwapchainKHR swapchain, uint64_t timeout, VkSemaphore semaphore, VkFence fence, uint32_t* pImageIndex ) { return vkAcquireNextImageKHR( vkDevice, swapchain, timeout, semaphore, fence, pImageIndex ); }
860     VkResult  GetDeviceGroupPresentCapabilitiesKHR( VkDeviceGroupPresentCapabilitiesKHR* pDeviceGroupPresentCapabilities ) { return vkGetDeviceGroupPresentCapabilitiesKHR( vkDevice, pDeviceGroupPresentCapabilities ); }
861     VkResult  GetDeviceGroupSurfacePresentModesKHR( VkSurfaceKHR surface, VkDeviceGroupPresentModeFlagsKHR* pModes ) { return vkGetDeviceGroupSurfacePresentModesKHR( vkDevice, surface, pModes ); }
862     VkResult  AcquireNextImage2KHR( const( VkAcquireNextImageInfoKHR )* pAcquireInfo, uint32_t* pImageIndex ) { return vkAcquireNextImage2KHR( vkDevice, pAcquireInfo, pImageIndex ); }
863 
864     // VK_KHR_display_swapchain
865     VkResult  CreateSharedSwapchainsKHR( uint32_t swapchainCount, const( VkSwapchainCreateInfoKHR )* pCreateInfos, VkSwapchainKHR* pSwapchains ) { return vkCreateSharedSwapchainsKHR( vkDevice, swapchainCount, pCreateInfos, pAllocator, pSwapchains ); }
866 
867     // VK_KHR_video_queue
868     VkResult  CreateVideoSessionKHR( const( VkVideoSessionCreateInfoKHR )* pCreateInfo, VkVideoSessionKHR* pVideoSession ) { return vkCreateVideoSessionKHR( vkDevice, pCreateInfo, pAllocator, pVideoSession ); }
869     void      DestroyVideoSessionKHR( VkVideoSessionKHR videoSession ) { vkDestroyVideoSessionKHR( vkDevice, videoSession, pAllocator ); }
870     VkResult  GetVideoSessionMemoryRequirementsKHR( VkVideoSessionKHR videoSession, uint32_t* pMemoryRequirementsCount, VkVideoSessionMemoryRequirementsKHR* pMemoryRequirements ) { return vkGetVideoSessionMemoryRequirementsKHR( vkDevice, videoSession, pMemoryRequirementsCount, pMemoryRequirements ); }
871     VkResult  BindVideoSessionMemoryKHR( VkVideoSessionKHR videoSession, uint32_t bindSessionMemoryInfoCount, const( VkBindVideoSessionMemoryInfoKHR )* pBindSessionMemoryInfos ) { return vkBindVideoSessionMemoryKHR( vkDevice, videoSession, bindSessionMemoryInfoCount, pBindSessionMemoryInfos ); }
872     VkResult  CreateVideoSessionParametersKHR( const( VkVideoSessionParametersCreateInfoKHR )* pCreateInfo, VkVideoSessionParametersKHR* pVideoSessionParameters ) { return vkCreateVideoSessionParametersKHR( vkDevice, pCreateInfo, pAllocator, pVideoSessionParameters ); }
873     VkResult  UpdateVideoSessionParametersKHR( VkVideoSessionParametersKHR videoSessionParameters, const( VkVideoSessionParametersUpdateInfoKHR )* pUpdateInfo ) { return vkUpdateVideoSessionParametersKHR( vkDevice, videoSessionParameters, pUpdateInfo ); }
874     void      DestroyVideoSessionParametersKHR( VkVideoSessionParametersKHR videoSessionParameters ) { vkDestroyVideoSessionParametersKHR( vkDevice, videoSessionParameters, pAllocator ); }
875     void      CmdBeginVideoCodingKHR( const( VkVideoBeginCodingInfoKHR )* pBeginInfo ) { vkCmdBeginVideoCodingKHR( commandBuffer, pBeginInfo ); }
876     void      CmdEndVideoCodingKHR( const( VkVideoEndCodingInfoKHR )* pEndCodingInfo ) { vkCmdEndVideoCodingKHR( commandBuffer, pEndCodingInfo ); }
877     void      CmdControlVideoCodingKHR( const( VkVideoCodingControlInfoKHR )* pCodingControlInfo ) { vkCmdControlVideoCodingKHR( commandBuffer, pCodingControlInfo ); }
878 
879     // VK_KHR_video_decode_queue
880     void      CmdDecodeVideoKHR( const( VkVideoDecodeInfoKHR )* pDecodeInfo ) { vkCmdDecodeVideoKHR( commandBuffer, pDecodeInfo ); }
881 
882     // VK_KHR_external_memory_fd
883     VkResult  GetMemoryFdKHR( const( VkMemoryGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetMemoryFdKHR( vkDevice, pGetFdInfo, pFd ); }
884     VkResult  GetMemoryFdPropertiesKHR( VkExternalMemoryHandleTypeFlagBits handleType, int fd, VkMemoryFdPropertiesKHR* pMemoryFdProperties ) { return vkGetMemoryFdPropertiesKHR( vkDevice, handleType, fd, pMemoryFdProperties ); }
885 
886     // VK_KHR_external_semaphore_fd
887     VkResult  ImportSemaphoreFdKHR( const( VkImportSemaphoreFdInfoKHR )* pImportSemaphoreFdInfo ) { return vkImportSemaphoreFdKHR( vkDevice, pImportSemaphoreFdInfo ); }
888     VkResult  GetSemaphoreFdKHR( const( VkSemaphoreGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetSemaphoreFdKHR( vkDevice, pGetFdInfo, pFd ); }
889 
890     // VK_KHR_push_descriptor
891     void      CmdPushDescriptorSetKHR( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set, uint32_t descriptorWriteCount, const( VkWriteDescriptorSet )* pDescriptorWrites ) { vkCmdPushDescriptorSetKHR( commandBuffer, pipelineBindPoint, layout, set, descriptorWriteCount, pDescriptorWrites ); }
892     void      CmdPushDescriptorSetWithTemplateKHR( VkDescriptorUpdateTemplate descriptorUpdateTemplate, VkPipelineLayout layout, uint32_t set, const( void )* pData ) { vkCmdPushDescriptorSetWithTemplateKHR( commandBuffer, descriptorUpdateTemplate, layout, set, pData ); }
893 
894     // VK_KHR_shared_presentable_image
895     VkResult  GetSwapchainStatusKHR( VkSwapchainKHR swapchain ) { return vkGetSwapchainStatusKHR( vkDevice, swapchain ); }
896 
897     // VK_KHR_external_fence_fd
898     VkResult  ImportFenceFdKHR( const( VkImportFenceFdInfoKHR )* pImportFenceFdInfo ) { return vkImportFenceFdKHR( vkDevice, pImportFenceFdInfo ); }
899     VkResult  GetFenceFdKHR( const( VkFenceGetFdInfoKHR )* pGetFdInfo, int* pFd ) { return vkGetFenceFdKHR( vkDevice, pGetFdInfo, pFd ); }
900 
901     // VK_KHR_performance_query
902     VkResult  AcquireProfilingLockKHR( const( VkAcquireProfilingLockInfoKHR )* pInfo ) { return vkAcquireProfilingLockKHR( vkDevice, pInfo ); }
903     void      ReleaseProfilingLockKHR() { vkReleaseProfilingLockKHR( vkDevice ); }
904 
905     // VK_KHR_fragment_shading_rate
906     void      CmdSetFragmentShadingRateKHR( const( VkExtent2D )* pFragmentSize, const VkFragmentShadingRateCombinerOpKHR[2] combinerOps ) { vkCmdSetFragmentShadingRateKHR( commandBuffer, pFragmentSize, combinerOps ); }
907 
908     // VK_KHR_present_wait
909     VkResult  WaitForPresentKHR( VkSwapchainKHR swapchain, uint64_t presentId, uint64_t timeout ) { return vkWaitForPresentKHR( vkDevice, swapchain, presentId, timeout ); }
910 
911     // VK_KHR_deferred_host_operations
912     VkResult  CreateDeferredOperationKHR( VkDeferredOperationKHR* pDeferredOperation ) { return vkCreateDeferredOperationKHR( vkDevice, pAllocator, pDeferredOperation ); }
913     void      DestroyDeferredOperationKHR( VkDeferredOperationKHR operation ) { vkDestroyDeferredOperationKHR( vkDevice, operation, pAllocator ); }
914     uint32_t  GetDeferredOperationMaxConcurrencyKHR( VkDeferredOperationKHR operation ) { return vkGetDeferredOperationMaxConcurrencyKHR( vkDevice, operation ); }
915     VkResult  GetDeferredOperationResultKHR( VkDeferredOperationKHR operation ) { return vkGetDeferredOperationResultKHR( vkDevice, operation ); }
916     VkResult  DeferredOperationJoinKHR( VkDeferredOperationKHR operation ) { return vkDeferredOperationJoinKHR( vkDevice, operation ); }
917 
918     // VK_KHR_pipeline_executable_properties
919     VkResult  GetPipelineExecutablePropertiesKHR( const( VkPipelineInfoKHR )* pPipelineInfo, uint32_t* pExecutableCount, VkPipelineExecutablePropertiesKHR* pProperties ) { return vkGetPipelineExecutablePropertiesKHR( vkDevice, pPipelineInfo, pExecutableCount, pProperties ); }
920     VkResult  GetPipelineExecutableStatisticsKHR( const( VkPipelineExecutableInfoKHR )* pExecutableInfo, uint32_t* pStatisticCount, VkPipelineExecutableStatisticKHR* pStatistics ) { return vkGetPipelineExecutableStatisticsKHR( vkDevice, pExecutableInfo, pStatisticCount, pStatistics ); }
921     VkResult  GetPipelineExecutableInternalRepresentationsKHR( const( VkPipelineExecutableInfoKHR )* pExecutableInfo, uint32_t* pInternalRepresentationCount, VkPipelineExecutableInternalRepresentationKHR* pInternalRepresentations ) { return vkGetPipelineExecutableInternalRepresentationsKHR( vkDevice, pExecutableInfo, pInternalRepresentationCount, pInternalRepresentations ); }
922 
923     // VK_KHR_map_memory2
924     VkResult  MapMemory2KHR( const( VkMemoryMapInfoKHR )* pMemoryMapInfo, void** ppData ) { return vkMapMemory2KHR( vkDevice, pMemoryMapInfo, ppData ); }
925     VkResult  UnmapMemory2KHR( const( VkMemoryUnmapInfoKHR )* pMemoryUnmapInfo ) { return vkUnmapMemory2KHR( vkDevice, pMemoryUnmapInfo ); }
926 
927     // VK_KHR_synchronization2
928     void      CmdWriteBufferMarker2AMD( VkPipelineStageFlags2 stage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) { vkCmdWriteBufferMarker2AMD( commandBuffer, stage, dstBuffer, dstOffset, marker ); }
929 
930     // VK_KHR_ray_tracing_maintenance1
931     void      CmdTraceRaysIndirect2KHR( VkDeviceAddress indirectDeviceAddress ) { vkCmdTraceRaysIndirect2KHR( commandBuffer, indirectDeviceAddress ); }
932 
933     // VK_EXT_debug_marker
934     VkResult  DebugMarkerSetObjectTagEXT( const( VkDebugMarkerObjectTagInfoEXT )* pTagInfo ) { return vkDebugMarkerSetObjectTagEXT( vkDevice, pTagInfo ); }
935     VkResult  DebugMarkerSetObjectNameEXT( const( VkDebugMarkerObjectNameInfoEXT )* pNameInfo ) { return vkDebugMarkerSetObjectNameEXT( vkDevice, pNameInfo ); }
936     void      CmdDebugMarkerBeginEXT( const( VkDebugMarkerMarkerInfoEXT )* pMarkerInfo ) { vkCmdDebugMarkerBeginEXT( commandBuffer, pMarkerInfo ); }
937     void      CmdDebugMarkerEndEXT() { vkCmdDebugMarkerEndEXT( commandBuffer ); }
938     void      CmdDebugMarkerInsertEXT( const( VkDebugMarkerMarkerInfoEXT )* pMarkerInfo ) { vkCmdDebugMarkerInsertEXT( commandBuffer, pMarkerInfo ); }
939 
940     // VK_EXT_transform_feedback
941     void      CmdBindTransformFeedbackBuffersEXT( uint32_t firstBinding, uint32_t bindingCount, const( VkBuffer )* pBuffers, const( VkDeviceSize )* pOffsets, const( VkDeviceSize )* pSizes ) { vkCmdBindTransformFeedbackBuffersEXT( commandBuffer, firstBinding, bindingCount, pBuffers, pOffsets, pSizes ); }
942     void      CmdBeginTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, const( VkBuffer )* pCounterBuffers, const( VkDeviceSize )* pCounterBufferOffsets ) { vkCmdBeginTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets ); }
943     void      CmdEndTransformFeedbackEXT( uint32_t firstCounterBuffer, uint32_t counterBufferCount, const( VkBuffer )* pCounterBuffers, const( VkDeviceSize )* pCounterBufferOffsets ) { vkCmdEndTransformFeedbackEXT( commandBuffer, firstCounterBuffer, counterBufferCount, pCounterBuffers, pCounterBufferOffsets ); }
944     void      CmdBeginQueryIndexedEXT( VkQueryPool queryPool, uint32_t query, VkQueryControlFlags flags, uint32_t index ) { vkCmdBeginQueryIndexedEXT( commandBuffer, queryPool, query, flags, index ); }
945     void      CmdEndQueryIndexedEXT( VkQueryPool queryPool, uint32_t query, uint32_t index ) { vkCmdEndQueryIndexedEXT( commandBuffer, queryPool, query, index ); }
946     void      CmdDrawIndirectByteCountEXT( uint32_t instanceCount, uint32_t firstInstance, VkBuffer counterBuffer, VkDeviceSize counterBufferOffset, uint32_t counterOffset, uint32_t vertexStride ) { vkCmdDrawIndirectByteCountEXT( commandBuffer, instanceCount, firstInstance, counterBuffer, counterBufferOffset, counterOffset, vertexStride ); }
947 
948     // VK_NVX_binary_import
949     VkResult  CreateCuModuleNVX( const( VkCuModuleCreateInfoNVX )* pCreateInfo, VkCuModuleNVX* pModule ) { return vkCreateCuModuleNVX( vkDevice, pCreateInfo, pAllocator, pModule ); }
950     VkResult  CreateCuFunctionNVX( const( VkCuFunctionCreateInfoNVX )* pCreateInfo, VkCuFunctionNVX* pFunction ) { return vkCreateCuFunctionNVX( vkDevice, pCreateInfo, pAllocator, pFunction ); }
951     void      DestroyCuModuleNVX( VkCuModuleNVX Module ) { vkDestroyCuModuleNVX( vkDevice, Module, pAllocator ); }
952     void      DestroyCuFunctionNVX( VkCuFunctionNVX Function ) { vkDestroyCuFunctionNVX( vkDevice, Function, pAllocator ); }
953     void      CmdCuLaunchKernelNVX( const( VkCuLaunchInfoNVX )* pLaunchInfo ) { vkCmdCuLaunchKernelNVX( commandBuffer, pLaunchInfo ); }
954 
955     // VK_NVX_image_view_handle
956     uint32_t  GetImageViewHandleNVX( const( VkImageViewHandleInfoNVX )* pInfo ) { return vkGetImageViewHandleNVX( vkDevice, pInfo ); }
957     VkResult  GetImageViewAddressNVX( VkImageView imageView, VkImageViewAddressPropertiesNVX* pProperties ) { return vkGetImageViewAddressNVX( vkDevice, imageView, pProperties ); }
958 
959     // VK_AMD_shader_info
960     VkResult  GetShaderInfoAMD( VkPipeline pipeline, VkShaderStageFlagBits shaderStage, VkShaderInfoTypeAMD infoType, size_t* pInfoSize, void* pInfo ) { return vkGetShaderInfoAMD( vkDevice, pipeline, shaderStage, infoType, pInfoSize, pInfo ); }
961 
962     // VK_EXT_conditional_rendering
963     void      CmdBeginConditionalRenderingEXT( const( VkConditionalRenderingBeginInfoEXT )* pConditionalRenderingBegin ) { vkCmdBeginConditionalRenderingEXT( commandBuffer, pConditionalRenderingBegin ); }
964     void      CmdEndConditionalRenderingEXT() { vkCmdEndConditionalRenderingEXT( commandBuffer ); }
965 
966     // VK_NV_clip_space_w_scaling
967     void      CmdSetViewportWScalingNV( uint32_t firstViewport, uint32_t viewportCount, const( VkViewportWScalingNV )* pViewportWScalings ) { vkCmdSetViewportWScalingNV( commandBuffer, firstViewport, viewportCount, pViewportWScalings ); }
968 
969     // VK_EXT_display_control
970     VkResult  DisplayPowerControlEXT( VkDisplayKHR display, const( VkDisplayPowerInfoEXT )* pDisplayPowerInfo ) { return vkDisplayPowerControlEXT( vkDevice, display, pDisplayPowerInfo ); }
971     VkResult  RegisterDeviceEventEXT( const( VkDeviceEventInfoEXT )* pDeviceEventInfo, VkFence* pFence ) { return vkRegisterDeviceEventEXT( vkDevice, pDeviceEventInfo, pAllocator, pFence ); }
972     VkResult  RegisterDisplayEventEXT( VkDisplayKHR display, const( VkDisplayEventInfoEXT )* pDisplayEventInfo, VkFence* pFence ) { return vkRegisterDisplayEventEXT( vkDevice, display, pDisplayEventInfo, pAllocator, pFence ); }
973     VkResult  GetSwapchainCounterEXT( VkSwapchainKHR swapchain, VkSurfaceCounterFlagBitsEXT counter, uint64_t* pCounterValue ) { return vkGetSwapchainCounterEXT( vkDevice, swapchain, counter, pCounterValue ); }
974 
975     // VK_GOOGLE_display_timing
976     VkResult  GetRefreshCycleDurationGOOGLE( VkSwapchainKHR swapchain, VkRefreshCycleDurationGOOGLE* pDisplayTimingProperties ) { return vkGetRefreshCycleDurationGOOGLE( vkDevice, swapchain, pDisplayTimingProperties ); }
977     VkResult  GetPastPresentationTimingGOOGLE( VkSwapchainKHR swapchain, uint32_t* pPresentationTimingCount, VkPastPresentationTimingGOOGLE* pPresentationTimings ) { return vkGetPastPresentationTimingGOOGLE( vkDevice, swapchain, pPresentationTimingCount, pPresentationTimings ); }
978 
979     // VK_EXT_discard_rectangles
980     void      CmdSetDiscardRectangleEXT( uint32_t firstDiscardRectangle, uint32_t discardRectangleCount, const( VkRect2D )* pDiscardRectangles ) { vkCmdSetDiscardRectangleEXT( commandBuffer, firstDiscardRectangle, discardRectangleCount, pDiscardRectangles ); }
981     void      CmdSetDiscardRectangleEnableEXT( VkBool32 discardRectangleEnable ) { vkCmdSetDiscardRectangleEnableEXT( commandBuffer, discardRectangleEnable ); }
982     void      CmdSetDiscardRectangleModeEXT( VkDiscardRectangleModeEXT discardRectangleMode ) { vkCmdSetDiscardRectangleModeEXT( commandBuffer, discardRectangleMode ); }
983 
984     // VK_EXT_hdr_metadata
985     void      SetHdrMetadataEXT( uint32_t swapchainCount, const( VkSwapchainKHR )* pSwapchains, const( VkHdrMetadataEXT )* pMetadata ) { vkSetHdrMetadataEXT( vkDevice, swapchainCount, pSwapchains, pMetadata ); }
986 
987     // VK_EXT_debug_utils
988     VkResult  SetDebugUtilsObjectNameEXT( const( VkDebugUtilsObjectNameInfoEXT )* pNameInfo ) { return vkSetDebugUtilsObjectNameEXT( vkDevice, pNameInfo ); }
989     VkResult  SetDebugUtilsObjectTagEXT( const( VkDebugUtilsObjectTagInfoEXT )* pTagInfo ) { return vkSetDebugUtilsObjectTagEXT( vkDevice, pTagInfo ); }
990     void      CmdBeginDebugUtilsLabelEXT( const( VkDebugUtilsLabelEXT )* pLabelInfo ) { vkCmdBeginDebugUtilsLabelEXT( commandBuffer, pLabelInfo ); }
991     void      CmdEndDebugUtilsLabelEXT() { vkCmdEndDebugUtilsLabelEXT( commandBuffer ); }
992     void      CmdInsertDebugUtilsLabelEXT( const( VkDebugUtilsLabelEXT )* pLabelInfo ) { vkCmdInsertDebugUtilsLabelEXT( commandBuffer, pLabelInfo ); }
993 
994     // VK_EXT_sample_locations
995     void      CmdSetSampleLocationsEXT( const( VkSampleLocationsInfoEXT )* pSampleLocationsInfo ) { vkCmdSetSampleLocationsEXT( commandBuffer, pSampleLocationsInfo ); }
996 
997     // VK_EXT_image_drm_format_modifier
998     VkResult  GetImageDrmFormatModifierPropertiesEXT( VkImage image, VkImageDrmFormatModifierPropertiesEXT* pProperties ) { return vkGetImageDrmFormatModifierPropertiesEXT( vkDevice, image, pProperties ); }
999 
1000     // VK_EXT_validation_cache
1001     VkResult  CreateValidationCacheEXT( const( VkValidationCacheCreateInfoEXT )* pCreateInfo, VkValidationCacheEXT* pValidationCache ) { return vkCreateValidationCacheEXT( vkDevice, pCreateInfo, pAllocator, pValidationCache ); }
1002     void      DestroyValidationCacheEXT( VkValidationCacheEXT validationCache ) { vkDestroyValidationCacheEXT( vkDevice, validationCache, pAllocator ); }
1003     VkResult  MergeValidationCachesEXT( VkValidationCacheEXT dstCache, uint32_t srcCacheCount, const( VkValidationCacheEXT )* pSrcCaches ) { return vkMergeValidationCachesEXT( vkDevice, dstCache, srcCacheCount, pSrcCaches ); }
1004     VkResult  GetValidationCacheDataEXT( VkValidationCacheEXT validationCache, size_t* pDataSize, void* pData ) { return vkGetValidationCacheDataEXT( vkDevice, validationCache, pDataSize, pData ); }
1005 
1006     // VK_NV_shading_rate_image
1007     void      CmdBindShadingRateImageNV( VkImageView imageView, VkImageLayout imageLayout ) { vkCmdBindShadingRateImageNV( commandBuffer, imageView, imageLayout ); }
1008     void      CmdSetViewportShadingRatePaletteNV( uint32_t firstViewport, uint32_t viewportCount, const( VkShadingRatePaletteNV )* pShadingRatePalettes ) { vkCmdSetViewportShadingRatePaletteNV( commandBuffer, firstViewport, viewportCount, pShadingRatePalettes ); }
1009     void      CmdSetCoarseSampleOrderNV( VkCoarseSampleOrderTypeNV sampleOrderType, uint32_t customSampleOrderCount, const( VkCoarseSampleOrderCustomNV )* pCustomSampleOrders ) { vkCmdSetCoarseSampleOrderNV( commandBuffer, sampleOrderType, customSampleOrderCount, pCustomSampleOrders ); }
1010 
1011     // VK_NV_ray_tracing
1012     VkResult  CreateAccelerationStructureNV( const( VkAccelerationStructureCreateInfoNV )* pCreateInfo, VkAccelerationStructureNV* pAccelerationStructure ) { return vkCreateAccelerationStructureNV( vkDevice, pCreateInfo, pAllocator, pAccelerationStructure ); }
1013     void      DestroyAccelerationStructureNV( VkAccelerationStructureNV accelerationStructure ) { vkDestroyAccelerationStructureNV( vkDevice, accelerationStructure, pAllocator ); }
1014     void      GetAccelerationStructureMemoryRequirementsNV( const( VkAccelerationStructureMemoryRequirementsInfoNV )* pInfo, VkMemoryRequirements2KHR* pMemoryRequirements ) { vkGetAccelerationStructureMemoryRequirementsNV( vkDevice, pInfo, pMemoryRequirements ); }
1015     VkResult  BindAccelerationStructureMemoryNV( uint32_t bindInfoCount, const( VkBindAccelerationStructureMemoryInfoNV )* pBindInfos ) { return vkBindAccelerationStructureMemoryNV( vkDevice, bindInfoCount, pBindInfos ); }
1016     void      CmdBuildAccelerationStructureNV( const( VkAccelerationStructureInfoNV )* pInfo, VkBuffer instanceData, VkDeviceSize instanceOffset, VkBool32 update, VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkBuffer scratch, VkDeviceSize scratchOffset ) { vkCmdBuildAccelerationStructureNV( commandBuffer, pInfo, instanceData, instanceOffset, update, dst, src, scratch, scratchOffset ); }
1017     void      CmdCopyAccelerationStructureNV( VkAccelerationStructureNV dst, VkAccelerationStructureNV src, VkCopyAccelerationStructureModeKHR mode ) { vkCmdCopyAccelerationStructureNV( commandBuffer, dst, src, mode ); }
1018     void      CmdTraceRaysNV( VkBuffer raygenShaderBindingTableBuffer, VkDeviceSize raygenShaderBindingOffset, VkBuffer missShaderBindingTableBuffer, VkDeviceSize missShaderBindingOffset, VkDeviceSize missShaderBindingStride, VkBuffer hitShaderBindingTableBuffer, VkDeviceSize hitShaderBindingOffset, VkDeviceSize hitShaderBindingStride, VkBuffer callableShaderBindingTableBuffer, VkDeviceSize callableShaderBindingOffset, VkDeviceSize callableShaderBindingStride, uint32_t width, uint32_t height, uint32_t depth ) { vkCmdTraceRaysNV( commandBuffer, raygenShaderBindingTableBuffer, raygenShaderBindingOffset, missShaderBindingTableBuffer, missShaderBindingOffset, missShaderBindingStride, hitShaderBindingTableBuffer, hitShaderBindingOffset, hitShaderBindingStride, callableShaderBindingTableBuffer, callableShaderBindingOffset, callableShaderBindingStride, width, height, depth ); }
1019     VkResult  CreateRayTracingPipelinesNV( VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkRayTracingPipelineCreateInfoNV )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateRayTracingPipelinesNV( vkDevice, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); }
1020     VkResult  GetRayTracingShaderGroupHandlesKHR( VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData ) { return vkGetRayTracingShaderGroupHandlesKHR( vkDevice, pipeline, firstGroup, groupCount, dataSize, pData ); }
1021     VkResult  GetAccelerationStructureHandleNV( VkAccelerationStructureNV accelerationStructure, size_t dataSize, void* pData ) { return vkGetAccelerationStructureHandleNV( vkDevice, accelerationStructure, dataSize, pData ); }
1022     void      CmdWriteAccelerationStructuresPropertiesNV( uint32_t accelerationStructureCount, const( VkAccelerationStructureNV )* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteAccelerationStructuresPropertiesNV( commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery ); }
1023     VkResult  CompileDeferredNV( VkPipeline pipeline, uint32_t shader ) { return vkCompileDeferredNV( vkDevice, pipeline, shader ); }
1024 
1025     // VK_EXT_external_memory_host
1026     VkResult  GetMemoryHostPointerPropertiesEXT( VkExternalMemoryHandleTypeFlagBits handleType, const( void )* pHostPointer, VkMemoryHostPointerPropertiesEXT* pMemoryHostPointerProperties ) { return vkGetMemoryHostPointerPropertiesEXT( vkDevice, handleType, pHostPointer, pMemoryHostPointerProperties ); }
1027 
1028     // VK_AMD_buffer_marker
1029     void      CmdWriteBufferMarkerAMD( VkPipelineStageFlagBits pipelineStage, VkBuffer dstBuffer, VkDeviceSize dstOffset, uint32_t marker ) { vkCmdWriteBufferMarkerAMD( commandBuffer, pipelineStage, dstBuffer, dstOffset, marker ); }
1030 
1031     // VK_EXT_calibrated_timestamps
1032     VkResult  GetCalibratedTimestampsEXT( uint32_t timestampCount, const( VkCalibratedTimestampInfoEXT )* pTimestampInfos, uint64_t* pTimestamps, uint64_t* pMaxDeviation ) { return vkGetCalibratedTimestampsEXT( vkDevice, timestampCount, pTimestampInfos, pTimestamps, pMaxDeviation ); }
1033 
1034     // VK_NV_mesh_shader
1035     void      CmdDrawMeshTasksNV( uint32_t taskCount, uint32_t firstTask ) { vkCmdDrawMeshTasksNV( commandBuffer, taskCount, firstTask ); }
1036     void      CmdDrawMeshTasksIndirectNV( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectNV( commandBuffer, buffer, offset, drawCount, stride ); }
1037     void      CmdDrawMeshTasksIndirectCountNV( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectCountNV( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); }
1038 
1039     // VK_NV_scissor_exclusive
1040     void      CmdSetExclusiveScissorEnableNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const( VkBool32 )* pExclusiveScissorEnables ) { vkCmdSetExclusiveScissorEnableNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissorEnables ); }
1041     void      CmdSetExclusiveScissorNV( uint32_t firstExclusiveScissor, uint32_t exclusiveScissorCount, const( VkRect2D )* pExclusiveScissors ) { vkCmdSetExclusiveScissorNV( commandBuffer, firstExclusiveScissor, exclusiveScissorCount, pExclusiveScissors ); }
1042 
1043     // VK_NV_device_diagnostic_checkpoints
1044     void      CmdSetCheckpointNV( const( void )* pCheckpointMarker ) { vkCmdSetCheckpointNV( commandBuffer, pCheckpointMarker ); }
1045 
1046     // VK_INTEL_performance_query
1047     VkResult  InitializePerformanceApiINTEL( const( VkInitializePerformanceApiInfoINTEL )* pInitializeInfo ) { return vkInitializePerformanceApiINTEL( vkDevice, pInitializeInfo ); }
1048     void      UninitializePerformanceApiINTEL() { vkUninitializePerformanceApiINTEL( vkDevice ); }
1049     VkResult  CmdSetPerformanceMarkerINTEL( const( VkPerformanceMarkerInfoINTEL )* pMarkerInfo ) { return vkCmdSetPerformanceMarkerINTEL( commandBuffer, pMarkerInfo ); }
1050     VkResult  CmdSetPerformanceStreamMarkerINTEL( const( VkPerformanceStreamMarkerInfoINTEL )* pMarkerInfo ) { return vkCmdSetPerformanceStreamMarkerINTEL( commandBuffer, pMarkerInfo ); }
1051     VkResult  CmdSetPerformanceOverrideINTEL( const( VkPerformanceOverrideInfoINTEL )* pOverrideInfo ) { return vkCmdSetPerformanceOverrideINTEL( commandBuffer, pOverrideInfo ); }
1052     VkResult  AcquirePerformanceConfigurationINTEL( const( VkPerformanceConfigurationAcquireInfoINTEL )* pAcquireInfo, VkPerformanceConfigurationINTEL* pConfiguration ) { return vkAcquirePerformanceConfigurationINTEL( vkDevice, pAcquireInfo, pConfiguration ); }
1053     VkResult  ReleasePerformanceConfigurationINTEL( VkPerformanceConfigurationINTEL configuration ) { return vkReleasePerformanceConfigurationINTEL( vkDevice, configuration ); }
1054     VkResult  GetPerformanceParameterINTEL( VkPerformanceParameterTypeINTEL parameter, VkPerformanceValueINTEL* pValue ) { return vkGetPerformanceParameterINTEL( vkDevice, parameter, pValue ); }
1055 
1056     // VK_AMD_display_native_hdr
1057     void      SetLocalDimmingAMD( VkSwapchainKHR swapChain, VkBool32 localDimmingEnable ) { vkSetLocalDimmingAMD( vkDevice, swapChain, localDimmingEnable ); }
1058 
1059     // VK_EXT_line_rasterization
1060     void      CmdSetLineStippleEXT( uint32_t lineStippleFactor, uint16_t lineStipplePattern ) { vkCmdSetLineStippleEXT( commandBuffer, lineStippleFactor, lineStipplePattern ); }
1061 
1062     // VK_EXT_swapchain_maintenance1
1063     VkResult  ReleaseSwapchainImagesEXT( const( VkReleaseSwapchainImagesInfoEXT )* pReleaseInfo ) { return vkReleaseSwapchainImagesEXT( vkDevice, pReleaseInfo ); }
1064 
1065     // VK_NV_device_generated_commands
1066     void      GetGeneratedCommandsMemoryRequirementsNV( const( VkGeneratedCommandsMemoryRequirementsInfoNV )* pInfo, VkMemoryRequirements2* pMemoryRequirements ) { vkGetGeneratedCommandsMemoryRequirementsNV( vkDevice, pInfo, pMemoryRequirements ); }
1067     void      CmdPreprocessGeneratedCommandsNV( const( VkGeneratedCommandsInfoNV )* pGeneratedCommandsInfo ) { vkCmdPreprocessGeneratedCommandsNV( commandBuffer, pGeneratedCommandsInfo ); }
1068     void      CmdExecuteGeneratedCommandsNV( VkBool32 isPreprocessed, const( VkGeneratedCommandsInfoNV )* pGeneratedCommandsInfo ) { vkCmdExecuteGeneratedCommandsNV( commandBuffer, isPreprocessed, pGeneratedCommandsInfo ); }
1069     void      CmdBindPipelineShaderGroupNV( VkPipelineBindPoint pipelineBindPoint, VkPipeline pipeline, uint32_t groupIndex ) { vkCmdBindPipelineShaderGroupNV( commandBuffer, pipelineBindPoint, pipeline, groupIndex ); }
1070     VkResult  CreateIndirectCommandsLayoutNV( const( VkIndirectCommandsLayoutCreateInfoNV )* pCreateInfo, VkIndirectCommandsLayoutNV* pIndirectCommandsLayout ) { return vkCreateIndirectCommandsLayoutNV( vkDevice, pCreateInfo, pAllocator, pIndirectCommandsLayout ); }
1071     void      DestroyIndirectCommandsLayoutNV( VkIndirectCommandsLayoutNV indirectCommandsLayout ) { vkDestroyIndirectCommandsLayoutNV( vkDevice, indirectCommandsLayout, pAllocator ); }
1072 
1073     // VK_EXT_descriptor_buffer
1074     void      GetDescriptorSetLayoutSizeEXT( VkDescriptorSetLayout layout, VkDeviceSize* pLayoutSizeInBytes ) { vkGetDescriptorSetLayoutSizeEXT( vkDevice, layout, pLayoutSizeInBytes ); }
1075     void      GetDescriptorSetLayoutBindingOffsetEXT( VkDescriptorSetLayout layout, uint32_t binding, VkDeviceSize* pOffset ) { vkGetDescriptorSetLayoutBindingOffsetEXT( vkDevice, layout, binding, pOffset ); }
1076     void      GetDescriptorEXT( const( VkDescriptorGetInfoEXT )* pDescriptorInfo, size_t dataSize, void* pDescriptor ) { vkGetDescriptorEXT( vkDevice, pDescriptorInfo, dataSize, pDescriptor ); }
1077     void      CmdBindDescriptorBuffersEXT( uint32_t bufferCount, const( VkDescriptorBufferBindingInfoEXT )* pBindingInfos ) { vkCmdBindDescriptorBuffersEXT( commandBuffer, bufferCount, pBindingInfos ); }
1078     void      CmdSetDescriptorBufferOffsetsEXT( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t firstSet, uint32_t setCount, const( uint32_t )* pBufferIndices, const( VkDeviceSize )* pOffsets ) { vkCmdSetDescriptorBufferOffsetsEXT( commandBuffer, pipelineBindPoint, layout, firstSet, setCount, pBufferIndices, pOffsets ); }
1079     void      CmdBindDescriptorBufferEmbeddedSamplersEXT( VkPipelineBindPoint pipelineBindPoint, VkPipelineLayout layout, uint32_t set ) { vkCmdBindDescriptorBufferEmbeddedSamplersEXT( commandBuffer, pipelineBindPoint, layout, set ); }
1080     VkResult  GetBufferOpaqueCaptureDescriptorDataEXT( const( VkBufferCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetBufferOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); }
1081     VkResult  GetImageOpaqueCaptureDescriptorDataEXT( const( VkImageCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetImageOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); }
1082     VkResult  GetImageViewOpaqueCaptureDescriptorDataEXT( const( VkImageViewCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetImageViewOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); }
1083     VkResult  GetSamplerOpaqueCaptureDescriptorDataEXT( const( VkSamplerCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetSamplerOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); }
1084     VkResult  GetAccelerationStructureOpaqueCaptureDescriptorDataEXT( const( VkAccelerationStructureCaptureDescriptorDataInfoEXT )* pInfo, void* pData ) { return vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT( vkDevice, pInfo, pData ); }
1085 
1086     // VK_NV_fragment_shading_rate_enums
1087     void      CmdSetFragmentShadingRateEnumNV( VkFragmentShadingRateNV shadingRate, const VkFragmentShadingRateCombinerOpKHR[2] combinerOps ) { vkCmdSetFragmentShadingRateEnumNV( commandBuffer, shadingRate, combinerOps ); }
1088 
1089     // VK_EXT_image_compression_control
1090     void      GetImageSubresourceLayout2EXT( VkImage image, const( VkImageSubresource2EXT )* pSubresource, VkSubresourceLayout2EXT* pLayout ) { vkGetImageSubresourceLayout2EXT( vkDevice, image, pSubresource, pLayout ); }
1091 
1092     // VK_EXT_device_fault
1093     VkResult  GetDeviceFaultInfoEXT( VkDeviceFaultCountsEXT* pFaultCounts, VkDeviceFaultInfoEXT* pFaultInfo ) { return vkGetDeviceFaultInfoEXT( vkDevice, pFaultCounts, pFaultInfo ); }
1094 
1095     // VK_EXT_vertex_input_dynamic_state
1096     void      CmdSetVertexInputEXT( uint32_t vertexBindingDescriptionCount, const( VkVertexInputBindingDescription2EXT )* pVertexBindingDescriptions, uint32_t vertexAttributeDescriptionCount, const( VkVertexInputAttributeDescription2EXT )* pVertexAttributeDescriptions ) { vkCmdSetVertexInputEXT( commandBuffer, vertexBindingDescriptionCount, pVertexBindingDescriptions, vertexAttributeDescriptionCount, pVertexAttributeDescriptions ); }
1097 
1098     // VK_HUAWEI_subpass_shading
1099     VkResult  GetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( VkRenderPass renderpass, VkExtent2D* pMaxWorkgroupSize ) { return vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI( vkDevice, renderpass, pMaxWorkgroupSize ); }
1100     void      CmdSubpassShadingHUAWEI() { vkCmdSubpassShadingHUAWEI( commandBuffer ); }
1101 
1102     // VK_HUAWEI_invocation_mask
1103     void      CmdBindInvocationMaskHUAWEI( VkImageView imageView, VkImageLayout imageLayout ) { vkCmdBindInvocationMaskHUAWEI( commandBuffer, imageView, imageLayout ); }
1104 
1105     // VK_NV_external_memory_rdma
1106     VkResult  GetMemoryRemoteAddressNV( const( VkMemoryGetRemoteAddressInfoNV )* pMemoryGetRemoteAddressInfo, VkRemoteAddressNV* pAddress ) { return vkGetMemoryRemoteAddressNV( vkDevice, pMemoryGetRemoteAddressInfo, pAddress ); }
1107 
1108     // VK_EXT_pipeline_properties
1109     VkResult  GetPipelinePropertiesEXT( const( VkPipelineInfoEXT )* pPipelineInfo, VkBaseOutStructure* pPipelineProperties ) { return vkGetPipelinePropertiesEXT( vkDevice, pPipelineInfo, pPipelineProperties ); }
1110 
1111     // VK_EXT_extended_dynamic_state2
1112     void      CmdSetPatchControlPointsEXT( uint32_t patchControlPoints ) { vkCmdSetPatchControlPointsEXT( commandBuffer, patchControlPoints ); }
1113     void      CmdSetLogicOpEXT( VkLogicOp logicOp ) { vkCmdSetLogicOpEXT( commandBuffer, logicOp ); }
1114 
1115     // VK_EXT_color_write_enable
1116     void      CmdSetColorWriteEnableEXT( uint32_t attachmentCount, const( VkBool32 )* pColorWriteEnables ) { vkCmdSetColorWriteEnableEXT( commandBuffer, attachmentCount, pColorWriteEnables ); }
1117 
1118     // VK_EXT_multi_draw
1119     void      CmdDrawMultiEXT( uint32_t drawCount, const( VkMultiDrawInfoEXT )* pVertexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride ) { vkCmdDrawMultiEXT( commandBuffer, drawCount, pVertexInfo, instanceCount, firstInstance, stride ); }
1120     void      CmdDrawMultiIndexedEXT( uint32_t drawCount, const( VkMultiDrawIndexedInfoEXT )* pIndexInfo, uint32_t instanceCount, uint32_t firstInstance, uint32_t stride, const( int32_t )* pVertexOffset ) { vkCmdDrawMultiIndexedEXT( commandBuffer, drawCount, pIndexInfo, instanceCount, firstInstance, stride, pVertexOffset ); }
1121 
1122     // VK_EXT_opacity_micromap
1123     VkResult  CreateMicromapEXT( const( VkMicromapCreateInfoEXT )* pCreateInfo, VkMicromapEXT* pMicromap ) { return vkCreateMicromapEXT( vkDevice, pCreateInfo, pAllocator, pMicromap ); }
1124     void      DestroyMicromapEXT( VkMicromapEXT micromap ) { vkDestroyMicromapEXT( vkDevice, micromap, pAllocator ); }
1125     void      CmdBuildMicromapsEXT( uint32_t infoCount, const( VkMicromapBuildInfoEXT )* pInfos ) { vkCmdBuildMicromapsEXT( commandBuffer, infoCount, pInfos ); }
1126     VkResult  BuildMicromapsEXT( VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const( VkMicromapBuildInfoEXT )* pInfos ) { return vkBuildMicromapsEXT( vkDevice, deferredOperation, infoCount, pInfos ); }
1127     VkResult  CopyMicromapEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMicromapInfoEXT )* pInfo ) { return vkCopyMicromapEXT( vkDevice, deferredOperation, pInfo ); }
1128     VkResult  CopyMicromapToMemoryEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMicromapToMemoryInfoEXT )* pInfo ) { return vkCopyMicromapToMemoryEXT( vkDevice, deferredOperation, pInfo ); }
1129     VkResult  CopyMemoryToMicromapEXT( VkDeferredOperationKHR deferredOperation, const( VkCopyMemoryToMicromapInfoEXT )* pInfo ) { return vkCopyMemoryToMicromapEXT( vkDevice, deferredOperation, pInfo ); }
1130     VkResult  WriteMicromapsPropertiesEXT( uint32_t micromapCount, const( VkMicromapEXT )* pMicromaps, VkQueryType queryType, size_t dataSize, void* pData, size_t stride ) { return vkWriteMicromapsPropertiesEXT( vkDevice, micromapCount, pMicromaps, queryType, dataSize, pData, stride ); }
1131     void      CmdCopyMicromapEXT( const( VkCopyMicromapInfoEXT )* pInfo ) { vkCmdCopyMicromapEXT( commandBuffer, pInfo ); }
1132     void      CmdCopyMicromapToMemoryEXT( const( VkCopyMicromapToMemoryInfoEXT )* pInfo ) { vkCmdCopyMicromapToMemoryEXT( commandBuffer, pInfo ); }
1133     void      CmdCopyMemoryToMicromapEXT( const( VkCopyMemoryToMicromapInfoEXT )* pInfo ) { vkCmdCopyMemoryToMicromapEXT( commandBuffer, pInfo ); }
1134     void      CmdWriteMicromapsPropertiesEXT( uint32_t micromapCount, const( VkMicromapEXT )* pMicromaps, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteMicromapsPropertiesEXT( commandBuffer, micromapCount, pMicromaps, queryType, queryPool, firstQuery ); }
1135     void      GetDeviceMicromapCompatibilityEXT( const( VkMicromapVersionInfoEXT )* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility ) { vkGetDeviceMicromapCompatibilityEXT( vkDevice, pVersionInfo, pCompatibility ); }
1136     void      GetMicromapBuildSizesEXT( VkAccelerationStructureBuildTypeKHR buildType, const( VkMicromapBuildInfoEXT )* pBuildInfo, VkMicromapBuildSizesInfoEXT* pSizeInfo ) { vkGetMicromapBuildSizesEXT( vkDevice, buildType, pBuildInfo, pSizeInfo ); }
1137 
1138     // VK_HUAWEI_cluster_culling_shader
1139     void      CmdDrawClusterHUAWEI( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDrawClusterHUAWEI( commandBuffer, groupCountX, groupCountY, groupCountZ ); }
1140     void      CmdDrawClusterIndirectHUAWEI( VkBuffer buffer, VkDeviceSize offset ) { vkCmdDrawClusterIndirectHUAWEI( commandBuffer, buffer, offset ); }
1141 
1142     // VK_EXT_pageable_device_local_memory
1143     void      SetDeviceMemoryPriorityEXT( VkDeviceMemory memory, float priority ) { vkSetDeviceMemoryPriorityEXT( vkDevice, memory, priority ); }
1144 
1145     // VK_VALVE_descriptor_set_host_mapping
1146     void      GetDescriptorSetLayoutHostMappingInfoVALVE( const( VkDescriptorSetBindingReferenceVALVE )* pBindingReference, VkDescriptorSetLayoutHostMappingInfoVALVE* pHostMapping ) { vkGetDescriptorSetLayoutHostMappingInfoVALVE( vkDevice, pBindingReference, pHostMapping ); }
1147     void      GetDescriptorSetHostMappingVALVE( VkDescriptorSet descriptorSet, void** ppData ) { vkGetDescriptorSetHostMappingVALVE( vkDevice, descriptorSet, ppData ); }
1148 
1149     // VK_NV_copy_memory_indirect
1150     void      CmdCopyMemoryIndirectNV( VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride ) { vkCmdCopyMemoryIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride ); }
1151     void      CmdCopyMemoryToImageIndirectNV( VkDeviceAddress copyBufferAddress, uint32_t copyCount, uint32_t stride, VkImage dstImage, VkImageLayout dstImageLayout, const( VkImageSubresourceLayers )* pImageSubresources ) { vkCmdCopyMemoryToImageIndirectNV( commandBuffer, copyBufferAddress, copyCount, stride, dstImage, dstImageLayout, pImageSubresources ); }
1152 
1153     // VK_NV_memory_decompression
1154     void      CmdDecompressMemoryNV( uint32_t decompressRegionCount, const( VkDecompressMemoryRegionNV )* pDecompressMemoryRegions ) { vkCmdDecompressMemoryNV( commandBuffer, decompressRegionCount, pDecompressMemoryRegions ); }
1155     void      CmdDecompressMemoryIndirectCountNV( VkDeviceAddress indirectCommandsAddress, VkDeviceAddress indirectCommandsCountAddress, uint32_t stride ) { vkCmdDecompressMemoryIndirectCountNV( commandBuffer, indirectCommandsAddress, indirectCommandsCountAddress, stride ); }
1156 
1157     // VK_EXT_extended_dynamic_state3
1158     void      CmdSetTessellationDomainOriginEXT( VkTessellationDomainOrigin domainOrigin ) { vkCmdSetTessellationDomainOriginEXT( commandBuffer, domainOrigin ); }
1159     void      CmdSetDepthClampEnableEXT( VkBool32 depthClampEnable ) { vkCmdSetDepthClampEnableEXT( commandBuffer, depthClampEnable ); }
1160     void      CmdSetPolygonModeEXT( VkPolygonMode polygonMode ) { vkCmdSetPolygonModeEXT( commandBuffer, polygonMode ); }
1161     void      CmdSetRasterizationSamplesEXT( VkSampleCountFlagBits rasterizationSamples ) { vkCmdSetRasterizationSamplesEXT( commandBuffer, rasterizationSamples ); }
1162     void      CmdSetSampleMaskEXT( VkSampleCountFlagBits samples, const( VkSampleMask )* pSampleMask ) { vkCmdSetSampleMaskEXT( commandBuffer, samples, pSampleMask ); }
1163     void      CmdSetAlphaToCoverageEnableEXT( VkBool32 alphaToCoverageEnable ) { vkCmdSetAlphaToCoverageEnableEXT( commandBuffer, alphaToCoverageEnable ); }
1164     void      CmdSetAlphaToOneEnableEXT( VkBool32 alphaToOneEnable ) { vkCmdSetAlphaToOneEnableEXT( commandBuffer, alphaToOneEnable ); }
1165     void      CmdSetLogicOpEnableEXT( VkBool32 logicOpEnable ) { vkCmdSetLogicOpEnableEXT( commandBuffer, logicOpEnable ); }
1166     void      CmdSetColorBlendEnableEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkBool32 )* pColorBlendEnables ) { vkCmdSetColorBlendEnableEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEnables ); }
1167     void      CmdSetColorBlendEquationEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorBlendEquationEXT )* pColorBlendEquations ) { vkCmdSetColorBlendEquationEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendEquations ); }
1168     void      CmdSetColorWriteMaskEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorComponentFlags )* pColorWriteMasks ) { vkCmdSetColorWriteMaskEXT( commandBuffer, firstAttachment, attachmentCount, pColorWriteMasks ); }
1169     void      CmdSetRasterizationStreamEXT( uint32_t rasterizationStream ) { vkCmdSetRasterizationStreamEXT( commandBuffer, rasterizationStream ); }
1170     void      CmdSetConservativeRasterizationModeEXT( VkConservativeRasterizationModeEXT conservativeRasterizationMode ) { vkCmdSetConservativeRasterizationModeEXT( commandBuffer, conservativeRasterizationMode ); }
1171     void      CmdSetExtraPrimitiveOverestimationSizeEXT( float extraPrimitiveOverestimationSize ) { vkCmdSetExtraPrimitiveOverestimationSizeEXT( commandBuffer, extraPrimitiveOverestimationSize ); }
1172     void      CmdSetDepthClipEnableEXT( VkBool32 depthClipEnable ) { vkCmdSetDepthClipEnableEXT( commandBuffer, depthClipEnable ); }
1173     void      CmdSetSampleLocationsEnableEXT( VkBool32 sampleLocationsEnable ) { vkCmdSetSampleLocationsEnableEXT( commandBuffer, sampleLocationsEnable ); }
1174     void      CmdSetColorBlendAdvancedEXT( uint32_t firstAttachment, uint32_t attachmentCount, const( VkColorBlendAdvancedEXT )* pColorBlendAdvanced ) { vkCmdSetColorBlendAdvancedEXT( commandBuffer, firstAttachment, attachmentCount, pColorBlendAdvanced ); }
1175     void      CmdSetProvokingVertexModeEXT( VkProvokingVertexModeEXT provokingVertexMode ) { vkCmdSetProvokingVertexModeEXT( commandBuffer, provokingVertexMode ); }
1176     void      CmdSetLineRasterizationModeEXT( VkLineRasterizationModeEXT lineRasterizationMode ) { vkCmdSetLineRasterizationModeEXT( commandBuffer, lineRasterizationMode ); }
1177     void      CmdSetLineStippleEnableEXT( VkBool32 stippledLineEnable ) { vkCmdSetLineStippleEnableEXT( commandBuffer, stippledLineEnable ); }
1178     void      CmdSetDepthClipNegativeOneToOneEXT( VkBool32 negativeOneToOne ) { vkCmdSetDepthClipNegativeOneToOneEXT( commandBuffer, negativeOneToOne ); }
1179     void      CmdSetViewportWScalingEnableNV( VkBool32 viewportWScalingEnable ) { vkCmdSetViewportWScalingEnableNV( commandBuffer, viewportWScalingEnable ); }
1180     void      CmdSetViewportSwizzleNV( uint32_t firstViewport, uint32_t viewportCount, const( VkViewportSwizzleNV )* pViewportSwizzles ) { vkCmdSetViewportSwizzleNV( commandBuffer, firstViewport, viewportCount, pViewportSwizzles ); }
1181     void      CmdSetCoverageToColorEnableNV( VkBool32 coverageToColorEnable ) { vkCmdSetCoverageToColorEnableNV( commandBuffer, coverageToColorEnable ); }
1182     void      CmdSetCoverageToColorLocationNV( uint32_t coverageToColorLocation ) { vkCmdSetCoverageToColorLocationNV( commandBuffer, coverageToColorLocation ); }
1183     void      CmdSetCoverageModulationModeNV( VkCoverageModulationModeNV coverageModulationMode ) { vkCmdSetCoverageModulationModeNV( commandBuffer, coverageModulationMode ); }
1184     void      CmdSetCoverageModulationTableEnableNV( VkBool32 coverageModulationTableEnable ) { vkCmdSetCoverageModulationTableEnableNV( commandBuffer, coverageModulationTableEnable ); }
1185     void      CmdSetCoverageModulationTableNV( uint32_t coverageModulationTableCount, const( float )* pCoverageModulationTable ) { vkCmdSetCoverageModulationTableNV( commandBuffer, coverageModulationTableCount, pCoverageModulationTable ); }
1186     void      CmdSetShadingRateImageEnableNV( VkBool32 shadingRateImageEnable ) { vkCmdSetShadingRateImageEnableNV( commandBuffer, shadingRateImageEnable ); }
1187     void      CmdSetRepresentativeFragmentTestEnableNV( VkBool32 representativeFragmentTestEnable ) { vkCmdSetRepresentativeFragmentTestEnableNV( commandBuffer, representativeFragmentTestEnable ); }
1188     void      CmdSetCoverageReductionModeNV( VkCoverageReductionModeNV coverageReductionMode ) { vkCmdSetCoverageReductionModeNV( commandBuffer, coverageReductionMode ); }
1189 
1190     // VK_EXT_shader_module_identifier
1191     void      GetShaderModuleIdentifierEXT( VkShaderModule shaderModule, VkShaderModuleIdentifierEXT* pIdentifier ) { vkGetShaderModuleIdentifierEXT( vkDevice, shaderModule, pIdentifier ); }
1192     void      GetShaderModuleCreateInfoIdentifierEXT( const( VkShaderModuleCreateInfo )* pCreateInfo, VkShaderModuleIdentifierEXT* pIdentifier ) { vkGetShaderModuleCreateInfoIdentifierEXT( vkDevice, pCreateInfo, pIdentifier ); }
1193 
1194     // VK_NV_optical_flow
1195     VkResult  CreateOpticalFlowSessionNV( const( VkOpticalFlowSessionCreateInfoNV )* pCreateInfo, VkOpticalFlowSessionNV* pSession ) { return vkCreateOpticalFlowSessionNV( vkDevice, pCreateInfo, pAllocator, pSession ); }
1196     void      DestroyOpticalFlowSessionNV( VkOpticalFlowSessionNV session ) { vkDestroyOpticalFlowSessionNV( vkDevice, session, pAllocator ); }
1197     VkResult  BindOpticalFlowSessionImageNV( VkOpticalFlowSessionNV session, VkOpticalFlowSessionBindingPointNV bindingPoint, VkImageView view, VkImageLayout layout ) { return vkBindOpticalFlowSessionImageNV( vkDevice, session, bindingPoint, view, layout ); }
1198     void      CmdOpticalFlowExecuteNV( VkOpticalFlowSessionNV session, const( VkOpticalFlowExecuteInfoNV )* pExecuteInfo ) { vkCmdOpticalFlowExecuteNV( commandBuffer, session, pExecuteInfo ); }
1199 
1200     // VK_EXT_shader_object
1201     VkResult  CreateShadersEXT( uint32_t createInfoCount, const( VkShaderCreateInfoEXT )* pCreateInfos, VkShaderEXT* pShaders ) { return vkCreateShadersEXT( vkDevice, createInfoCount, pCreateInfos, pAllocator, pShaders ); }
1202     void      DestroyShaderEXT( VkShaderEXT shader ) { vkDestroyShaderEXT( vkDevice, shader, pAllocator ); }
1203     VkResult  GetShaderBinaryDataEXT( VkShaderEXT shader, size_t* pDataSize, void* pData ) { return vkGetShaderBinaryDataEXT( vkDevice, shader, pDataSize, pData ); }
1204     void      CmdBindShadersEXT( uint32_t stageCount, const( VkShaderStageFlagBits )* pStages, const( VkShaderEXT )* pShaders ) { vkCmdBindShadersEXT( commandBuffer, stageCount, pStages, pShaders ); }
1205 
1206     // VK_QCOM_tile_properties
1207     VkResult  GetFramebufferTilePropertiesQCOM( VkFramebuffer framebuffer, uint32_t* pPropertiesCount, VkTilePropertiesQCOM* pProperties ) { return vkGetFramebufferTilePropertiesQCOM( vkDevice, framebuffer, pPropertiesCount, pProperties ); }
1208     VkResult  GetDynamicRenderingTilePropertiesQCOM( const( VkRenderingInfo )* pRenderingInfo, VkTilePropertiesQCOM* pProperties ) { return vkGetDynamicRenderingTilePropertiesQCOM( vkDevice, pRenderingInfo, pProperties ); }
1209 
1210     // VK_KHR_acceleration_structure
1211     VkResult  CreateAccelerationStructureKHR( const( VkAccelerationStructureCreateInfoKHR )* pCreateInfo, VkAccelerationStructureKHR* pAccelerationStructure ) { return vkCreateAccelerationStructureKHR( vkDevice, pCreateInfo, pAllocator, pAccelerationStructure ); }
1212     void      DestroyAccelerationStructureKHR( VkAccelerationStructureKHR accelerationStructure ) { vkDestroyAccelerationStructureKHR( vkDevice, accelerationStructure, pAllocator ); }
1213     void      CmdBuildAccelerationStructuresKHR( uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkAccelerationStructureBuildRangeInfoKHR* )* ppBuildRangeInfos ) { vkCmdBuildAccelerationStructuresKHR( commandBuffer, infoCount, pInfos, ppBuildRangeInfos ); }
1214     void      CmdBuildAccelerationStructuresIndirectKHR( uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkDeviceAddress )* pIndirectDeviceAddresses, const( uint32_t )* pIndirectStrides, const( uint32_t* )* ppMaxPrimitiveCounts ) { vkCmdBuildAccelerationStructuresIndirectKHR( commandBuffer, infoCount, pInfos, pIndirectDeviceAddresses, pIndirectStrides, ppMaxPrimitiveCounts ); }
1215     VkResult  BuildAccelerationStructuresKHR( VkDeferredOperationKHR deferredOperation, uint32_t infoCount, const( VkAccelerationStructureBuildGeometryInfoKHR )* pInfos, const( VkAccelerationStructureBuildRangeInfoKHR* )* ppBuildRangeInfos ) { return vkBuildAccelerationStructuresKHR( vkDevice, deferredOperation, infoCount, pInfos, ppBuildRangeInfos ); }
1216     VkResult  CopyAccelerationStructureKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyAccelerationStructureInfoKHR )* pInfo ) { return vkCopyAccelerationStructureKHR( vkDevice, deferredOperation, pInfo ); }
1217     VkResult  CopyAccelerationStructureToMemoryKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyAccelerationStructureToMemoryInfoKHR )* pInfo ) { return vkCopyAccelerationStructureToMemoryKHR( vkDevice, deferredOperation, pInfo ); }
1218     VkResult  CopyMemoryToAccelerationStructureKHR( VkDeferredOperationKHR deferredOperation, const( VkCopyMemoryToAccelerationStructureInfoKHR )* pInfo ) { return vkCopyMemoryToAccelerationStructureKHR( vkDevice, deferredOperation, pInfo ); }
1219     VkResult  WriteAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, const( VkAccelerationStructureKHR )* pAccelerationStructures, VkQueryType queryType, size_t dataSize, void* pData, size_t stride ) { return vkWriteAccelerationStructuresPropertiesKHR( vkDevice, accelerationStructureCount, pAccelerationStructures, queryType, dataSize, pData, stride ); }
1220     void      CmdCopyAccelerationStructureKHR( const( VkCopyAccelerationStructureInfoKHR )* pInfo ) { vkCmdCopyAccelerationStructureKHR( commandBuffer, pInfo ); }
1221     void      CmdCopyAccelerationStructureToMemoryKHR( const( VkCopyAccelerationStructureToMemoryInfoKHR )* pInfo ) { vkCmdCopyAccelerationStructureToMemoryKHR( commandBuffer, pInfo ); }
1222     void      CmdCopyMemoryToAccelerationStructureKHR( const( VkCopyMemoryToAccelerationStructureInfoKHR )* pInfo ) { vkCmdCopyMemoryToAccelerationStructureKHR( commandBuffer, pInfo ); }
1223     VkDeviceAddress  GetAccelerationStructureDeviceAddressKHR( const( VkAccelerationStructureDeviceAddressInfoKHR )* pInfo ) { return vkGetAccelerationStructureDeviceAddressKHR( vkDevice, pInfo ); }
1224     void      CmdWriteAccelerationStructuresPropertiesKHR( uint32_t accelerationStructureCount, const( VkAccelerationStructureKHR )* pAccelerationStructures, VkQueryType queryType, VkQueryPool queryPool, uint32_t firstQuery ) { vkCmdWriteAccelerationStructuresPropertiesKHR( commandBuffer, accelerationStructureCount, pAccelerationStructures, queryType, queryPool, firstQuery ); }
1225     void      GetDeviceAccelerationStructureCompatibilityKHR( const( VkAccelerationStructureVersionInfoKHR )* pVersionInfo, VkAccelerationStructureCompatibilityKHR* pCompatibility ) { vkGetDeviceAccelerationStructureCompatibilityKHR( vkDevice, pVersionInfo, pCompatibility ); }
1226     void      GetAccelerationStructureBuildSizesKHR( VkAccelerationStructureBuildTypeKHR buildType, const( VkAccelerationStructureBuildGeometryInfoKHR )* pBuildInfo, const( uint32_t )* pMaxPrimitiveCounts, VkAccelerationStructureBuildSizesInfoKHR* pSizeInfo ) { vkGetAccelerationStructureBuildSizesKHR( vkDevice, buildType, pBuildInfo, pMaxPrimitiveCounts, pSizeInfo ); }
1227 
1228     // VK_KHR_ray_tracing_pipeline
1229     void      CmdTraceRaysKHR( const( VkStridedDeviceAddressRegionKHR )* pRaygenShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pMissShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pHitShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pCallableShaderBindingTable, uint32_t width, uint32_t height, uint32_t depth ) { vkCmdTraceRaysKHR( commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, width, height, depth ); }
1230     VkResult  CreateRayTracingPipelinesKHR( VkDeferredOperationKHR deferredOperation, VkPipelineCache pipelineCache, uint32_t createInfoCount, const( VkRayTracingPipelineCreateInfoKHR )* pCreateInfos, VkPipeline* pPipelines ) { return vkCreateRayTracingPipelinesKHR( vkDevice, deferredOperation, pipelineCache, createInfoCount, pCreateInfos, pAllocator, pPipelines ); }
1231     VkResult  GetRayTracingCaptureReplayShaderGroupHandlesKHR( VkPipeline pipeline, uint32_t firstGroup, uint32_t groupCount, size_t dataSize, void* pData ) { return vkGetRayTracingCaptureReplayShaderGroupHandlesKHR( vkDevice, pipeline, firstGroup, groupCount, dataSize, pData ); }
1232     void      CmdTraceRaysIndirectKHR( const( VkStridedDeviceAddressRegionKHR )* pRaygenShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pMissShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pHitShaderBindingTable, const( VkStridedDeviceAddressRegionKHR )* pCallableShaderBindingTable, VkDeviceAddress indirectDeviceAddress ) { vkCmdTraceRaysIndirectKHR( commandBuffer, pRaygenShaderBindingTable, pMissShaderBindingTable, pHitShaderBindingTable, pCallableShaderBindingTable, indirectDeviceAddress ); }
1233     VkDeviceSize  GetRayTracingShaderGroupStackSizeKHR( VkPipeline pipeline, uint32_t group, VkShaderGroupShaderKHR groupShader ) { return vkGetRayTracingShaderGroupStackSizeKHR( vkDevice, pipeline, group, groupShader ); }
1234     void      CmdSetRayTracingPipelineStackSizeKHR( uint32_t pipelineStackSize ) { vkCmdSetRayTracingPipelineStackSizeKHR( commandBuffer, pipelineStackSize ); }
1235 
1236     // VK_EXT_mesh_shader
1237     void      CmdDrawMeshTasksEXT( uint32_t groupCountX, uint32_t groupCountY, uint32_t groupCountZ ) { vkCmdDrawMeshTasksEXT( commandBuffer, groupCountX, groupCountY, groupCountZ ); }
1238     void      CmdDrawMeshTasksIndirectEXT( VkBuffer buffer, VkDeviceSize offset, uint32_t drawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectEXT( commandBuffer, buffer, offset, drawCount, stride ); }
1239     void      CmdDrawMeshTasksIndirectCountEXT( VkBuffer buffer, VkDeviceSize offset, VkBuffer countBuffer, VkDeviceSize countBufferOffset, uint32_t maxDrawCount, uint32_t stride ) { vkCmdDrawMeshTasksIndirectCountEXT( commandBuffer, buffer, offset, countBuffer, countBufferOffset, maxDrawCount, stride ); }
1240 
1241     // VK_KHR_dynamic_rendering
1242     alias CmdBeginRenderingKHR                                         = CmdBeginRendering;
1243     alias CmdEndRenderingKHR                                           = CmdEndRendering;
1244 
1245     // VK_KHR_device_group
1246     alias GetDeviceGroupPeerMemoryFeaturesKHR                          = GetDeviceGroupPeerMemoryFeatures;
1247     alias CmdSetDeviceMaskKHR                                          = CmdSetDeviceMask;
1248     alias CmdDispatchBaseKHR                                           = CmdDispatchBase;
1249 
1250     // VK_KHR_maintenance1
1251     alias TrimCommandPoolKHR                                           = TrimCommandPool;
1252 
1253     // VK_KHR_descriptor_update_template
1254     alias CreateDescriptorUpdateTemplateKHR                            = CreateDescriptorUpdateTemplate;
1255     alias DestroyDescriptorUpdateTemplateKHR                           = DestroyDescriptorUpdateTemplate;
1256     alias UpdateDescriptorSetWithTemplateKHR                           = UpdateDescriptorSetWithTemplate;
1257 
1258     // VK_KHR_create_renderpass2
1259     alias CreateRenderPass2KHR                                         = CreateRenderPass2;
1260     alias CmdBeginRenderPass2KHR                                       = CmdBeginRenderPass2;
1261     alias CmdNextSubpass2KHR                                           = CmdNextSubpass2;
1262     alias CmdEndRenderPass2KHR                                         = CmdEndRenderPass2;
1263 
1264     // VK_KHR_get_memory_requirements2
1265     alias GetImageMemoryRequirements2KHR                               = GetImageMemoryRequirements2;
1266     alias GetBufferMemoryRequirements2KHR                              = GetBufferMemoryRequirements2;
1267     alias GetImageSparseMemoryRequirements2KHR                         = GetImageSparseMemoryRequirements2;
1268 
1269     // VK_KHR_sampler_ycbcr_conversion
1270     alias CreateSamplerYcbcrConversionKHR                              = CreateSamplerYcbcrConversion;
1271     alias DestroySamplerYcbcrConversionKHR                             = DestroySamplerYcbcrConversion;
1272 
1273     // VK_KHR_bind_memory2
1274     alias BindBufferMemory2KHR                                         = BindBufferMemory2;
1275     alias BindImageMemory2KHR                                          = BindImageMemory2;
1276 
1277     // VK_KHR_maintenance3
1278     alias GetDescriptorSetLayoutSupportKHR                             = GetDescriptorSetLayoutSupport;
1279 
1280     // VK_KHR_draw_indirect_count
1281     alias CmdDrawIndirectCountKHR                                      = CmdDrawIndirectCount;
1282     alias CmdDrawIndexedIndirectCountKHR                               = CmdDrawIndexedIndirectCount;
1283 
1284     // VK_KHR_timeline_semaphore
1285     alias GetSemaphoreCounterValueKHR                                  = GetSemaphoreCounterValue;
1286     alias WaitSemaphoresKHR                                            = WaitSemaphores;
1287     alias SignalSemaphoreKHR                                           = SignalSemaphore;
1288 
1289     // VK_KHR_buffer_device_address
1290     alias GetBufferDeviceAddressKHR                                    = GetBufferDeviceAddress;
1291     alias GetBufferOpaqueCaptureAddressKHR                             = GetBufferOpaqueCaptureAddress;
1292     alias GetDeviceMemoryOpaqueCaptureAddressKHR                       = GetDeviceMemoryOpaqueCaptureAddress;
1293 
1294     // VK_KHR_synchronization2
1295     alias CmdSetEvent2KHR                                              = CmdSetEvent2;
1296     alias CmdResetEvent2KHR                                            = CmdResetEvent2;
1297     alias CmdWaitEvents2KHR                                            = CmdWaitEvents2;
1298     alias CmdPipelineBarrier2KHR                                       = CmdPipelineBarrier2;
1299     alias CmdWriteTimestamp2KHR                                        = CmdWriteTimestamp2;
1300 
1301     // VK_KHR_copy_commands2
1302     alias CmdCopyBuffer2KHR                                            = CmdCopyBuffer2;
1303     alias CmdCopyImage2KHR                                             = CmdCopyImage2;
1304     alias CmdCopyBufferToImage2KHR                                     = CmdCopyBufferToImage2;
1305     alias CmdCopyImageToBuffer2KHR                                     = CmdCopyImageToBuffer2;
1306     alias CmdBlitImage2KHR                                             = CmdBlitImage2;
1307     alias CmdResolveImage2KHR                                          = CmdResolveImage2;
1308 
1309     // VK_KHR_maintenance4
1310     alias GetDeviceBufferMemoryRequirementsKHR                         = GetDeviceBufferMemoryRequirements;
1311     alias GetDeviceImageMemoryRequirementsKHR                          = GetDeviceImageMemoryRequirements;
1312     alias GetDeviceImageSparseMemoryRequirementsKHR                    = GetDeviceImageSparseMemoryRequirements;
1313 
1314     // VK_AMD_draw_indirect_count
1315     alias CmdDrawIndirectCountAMD                                      = CmdDrawIndirectCount;
1316     alias CmdDrawIndexedIndirectCountAMD                               = CmdDrawIndexedIndirectCount;
1317 
1318     // VK_NV_ray_tracing
1319     alias GetRayTracingShaderGroupHandlesNV                            = GetRayTracingShaderGroupHandlesKHR;
1320 
1321     // VK_EXT_buffer_device_address
1322     alias GetBufferDeviceAddressEXT                                    = GetBufferDeviceAddress;
1323 
1324     // VK_EXT_host_query_reset
1325     alias ResetQueryPoolEXT                                            = ResetQueryPool;
1326 
1327     // VK_EXT_extended_dynamic_state
1328     alias CmdSetCullModeEXT                                            = CmdSetCullMode;
1329     alias CmdSetFrontFaceEXT                                           = CmdSetFrontFace;
1330     alias CmdSetPrimitiveTopologyEXT                                   = CmdSetPrimitiveTopology;
1331     alias CmdSetViewportWithCountEXT                                   = CmdSetViewportWithCount;
1332     alias CmdSetScissorWithCountEXT                                    = CmdSetScissorWithCount;
1333     alias CmdBindVertexBuffers2EXT                                     = CmdBindVertexBuffers2;
1334     alias CmdSetDepthTestEnableEXT                                     = CmdSetDepthTestEnable;
1335     alias CmdSetDepthWriteEnableEXT                                    = CmdSetDepthWriteEnable;
1336     alias CmdSetDepthCompareOpEXT                                      = CmdSetDepthCompareOp;
1337     alias CmdSetDepthBoundsTestEnableEXT                               = CmdSetDepthBoundsTestEnable;
1338     alias CmdSetStencilTestEnableEXT                                   = CmdSetStencilTestEnable;
1339     alias CmdSetStencilOpEXT                                           = CmdSetStencilOp;
1340 
1341     // VK_EXT_private_data
1342     alias CreatePrivateDataSlotEXT                                     = CreatePrivateDataSlot;
1343     alias DestroyPrivateDataSlotEXT                                    = DestroyPrivateDataSlot;
1344     alias SetPrivateDataEXT                                            = SetPrivateData;
1345     alias GetPrivateDataEXT                                            = GetPrivateData;
1346 
1347     // VK_EXT_extended_dynamic_state2
1348     alias CmdSetRasterizerDiscardEnableEXT                             = CmdSetRasterizerDiscardEnable;
1349     alias CmdSetDepthBiasEnableEXT                                     = CmdSetDepthBiasEnable;
1350     alias CmdSetPrimitiveRestartEnableEXT                              = CmdSetPrimitiveRestartEnable;
1351 
1352 
1353     /// member function pointer decelerations
1354 
1355     // VK_VERSION_1_0
1356     PFN_vkDestroyDevice                                          vkDestroyDevice;
1357     PFN_vkGetDeviceQueue                                         vkGetDeviceQueue;
1358     PFN_vkQueueSubmit                                            vkQueueSubmit;
1359     PFN_vkQueueWaitIdle                                          vkQueueWaitIdle;
1360     PFN_vkDeviceWaitIdle                                         vkDeviceWaitIdle;
1361     PFN_vkAllocateMemory                                         vkAllocateMemory;
1362     PFN_vkFreeMemory                                             vkFreeMemory;
1363     PFN_vkMapMemory                                              vkMapMemory;
1364     PFN_vkUnmapMemory                                            vkUnmapMemory;
1365     PFN_vkFlushMappedMemoryRanges                                vkFlushMappedMemoryRanges;
1366     PFN_vkInvalidateMappedMemoryRanges                           vkInvalidateMappedMemoryRanges;
1367     PFN_vkGetDeviceMemoryCommitment                              vkGetDeviceMemoryCommitment;
1368     PFN_vkBindBufferMemory                                       vkBindBufferMemory;
1369     PFN_vkBindImageMemory                                        vkBindImageMemory;
1370     PFN_vkGetBufferMemoryRequirements                            vkGetBufferMemoryRequirements;
1371     PFN_vkGetImageMemoryRequirements                             vkGetImageMemoryRequirements;
1372     PFN_vkGetImageSparseMemoryRequirements                       vkGetImageSparseMemoryRequirements;
1373     PFN_vkQueueBindSparse                                        vkQueueBindSparse;
1374     PFN_vkCreateFence                                            vkCreateFence;
1375     PFN_vkDestroyFence                                           vkDestroyFence;
1376     PFN_vkResetFences                                            vkResetFences;
1377     PFN_vkGetFenceStatus                                         vkGetFenceStatus;
1378     PFN_vkWaitForFences                                          vkWaitForFences;
1379     PFN_vkCreateSemaphore                                        vkCreateSemaphore;
1380     PFN_vkDestroySemaphore                                       vkDestroySemaphore;
1381     PFN_vkCreateEvent                                            vkCreateEvent;
1382     PFN_vkDestroyEvent                                           vkDestroyEvent;
1383     PFN_vkGetEventStatus                                         vkGetEventStatus;
1384     PFN_vkSetEvent                                               vkSetEvent;
1385     PFN_vkResetEvent                                             vkResetEvent;
1386     PFN_vkCreateQueryPool                                        vkCreateQueryPool;
1387     PFN_vkDestroyQueryPool                                       vkDestroyQueryPool;
1388     PFN_vkGetQueryPoolResults                                    vkGetQueryPoolResults;
1389     PFN_vkCreateBuffer                                           vkCreateBuffer;
1390     PFN_vkDestroyBuffer                                          vkDestroyBuffer;
1391     PFN_vkCreateBufferView                                       vkCreateBufferView;
1392     PFN_vkDestroyBufferView                                      vkDestroyBufferView;
1393     PFN_vkCreateImage                                            vkCreateImage;
1394     PFN_vkDestroyImage                                           vkDestroyImage;
1395     PFN_vkGetImageSubresourceLayout                              vkGetImageSubresourceLayout;
1396     PFN_vkCreateImageView                                        vkCreateImageView;
1397     PFN_vkDestroyImageView                                       vkDestroyImageView;
1398     PFN_vkCreateShaderModule                                     vkCreateShaderModule;
1399     PFN_vkDestroyShaderModule                                    vkDestroyShaderModule;
1400     PFN_vkCreatePipelineCache                                    vkCreatePipelineCache;
1401     PFN_vkDestroyPipelineCache                                   vkDestroyPipelineCache;
1402     PFN_vkGetPipelineCacheData                                   vkGetPipelineCacheData;
1403     PFN_vkMergePipelineCaches                                    vkMergePipelineCaches;
1404     PFN_vkCreateGraphicsPipelines                                vkCreateGraphicsPipelines;
1405     PFN_vkCreateComputePipelines                                 vkCreateComputePipelines;
1406     PFN_vkDestroyPipeline                                        vkDestroyPipeline;
1407     PFN_vkCreatePipelineLayout                                   vkCreatePipelineLayout;
1408     PFN_vkDestroyPipelineLayout                                  vkDestroyPipelineLayout;
1409     PFN_vkCreateSampler                                          vkCreateSampler;
1410     PFN_vkDestroySampler                                         vkDestroySampler;
1411     PFN_vkCreateDescriptorSetLayout                              vkCreateDescriptorSetLayout;
1412     PFN_vkDestroyDescriptorSetLayout                             vkDestroyDescriptorSetLayout;
1413     PFN_vkCreateDescriptorPool                                   vkCreateDescriptorPool;
1414     PFN_vkDestroyDescriptorPool                                  vkDestroyDescriptorPool;
1415     PFN_vkResetDescriptorPool                                    vkResetDescriptorPool;
1416     PFN_vkAllocateDescriptorSets                                 vkAllocateDescriptorSets;
1417     PFN_vkFreeDescriptorSets                                     vkFreeDescriptorSets;
1418     PFN_vkUpdateDescriptorSets                                   vkUpdateDescriptorSets;
1419     PFN_vkCreateFramebuffer                                      vkCreateFramebuffer;
1420     PFN_vkDestroyFramebuffer                                     vkDestroyFramebuffer;
1421     PFN_vkCreateRenderPass                                       vkCreateRenderPass;
1422     PFN_vkDestroyRenderPass                                      vkDestroyRenderPass;
1423     PFN_vkGetRenderAreaGranularity                               vkGetRenderAreaGranularity;
1424     PFN_vkCreateCommandPool                                      vkCreateCommandPool;
1425     PFN_vkDestroyCommandPool                                     vkDestroyCommandPool;
1426     PFN_vkResetCommandPool                                       vkResetCommandPool;
1427     PFN_vkAllocateCommandBuffers                                 vkAllocateCommandBuffers;
1428     PFN_vkFreeCommandBuffers                                     vkFreeCommandBuffers;
1429     PFN_vkBeginCommandBuffer                                     vkBeginCommandBuffer;
1430     PFN_vkEndCommandBuffer                                       vkEndCommandBuffer;
1431     PFN_vkResetCommandBuffer                                     vkResetCommandBuffer;
1432     PFN_vkCmdBindPipeline                                        vkCmdBindPipeline;
1433     PFN_vkCmdSetViewport                                         vkCmdSetViewport;
1434     PFN_vkCmdSetScissor                                          vkCmdSetScissor;
1435     PFN_vkCmdSetLineWidth                                        vkCmdSetLineWidth;
1436     PFN_vkCmdSetDepthBias                                        vkCmdSetDepthBias;
1437     PFN_vkCmdSetBlendConstants                                   vkCmdSetBlendConstants;
1438     PFN_vkCmdSetDepthBounds                                      vkCmdSetDepthBounds;
1439     PFN_vkCmdSetStencilCompareMask                               vkCmdSetStencilCompareMask;
1440     PFN_vkCmdSetStencilWriteMask                                 vkCmdSetStencilWriteMask;
1441     PFN_vkCmdSetStencilReference                                 vkCmdSetStencilReference;
1442     PFN_vkCmdBindDescriptorSets                                  vkCmdBindDescriptorSets;
1443     PFN_vkCmdBindIndexBuffer                                     vkCmdBindIndexBuffer;
1444     PFN_vkCmdBindVertexBuffers                                   vkCmdBindVertexBuffers;
1445     PFN_vkCmdDraw                                                vkCmdDraw;
1446     PFN_vkCmdDrawIndexed                                         vkCmdDrawIndexed;
1447     PFN_vkCmdDrawIndirect                                        vkCmdDrawIndirect;
1448     PFN_vkCmdDrawIndexedIndirect                                 vkCmdDrawIndexedIndirect;
1449     PFN_vkCmdDispatch                                            vkCmdDispatch;
1450     PFN_vkCmdDispatchIndirect                                    vkCmdDispatchIndirect;
1451     PFN_vkCmdCopyBuffer                                          vkCmdCopyBuffer;
1452     PFN_vkCmdCopyImage                                           vkCmdCopyImage;
1453     PFN_vkCmdBlitImage                                           vkCmdBlitImage;
1454     PFN_vkCmdCopyBufferToImage                                   vkCmdCopyBufferToImage;
1455     PFN_vkCmdCopyImageToBuffer                                   vkCmdCopyImageToBuffer;
1456     PFN_vkCmdUpdateBuffer                                        vkCmdUpdateBuffer;
1457     PFN_vkCmdFillBuffer                                          vkCmdFillBuffer;
1458     PFN_vkCmdClearColorImage                                     vkCmdClearColorImage;
1459     PFN_vkCmdClearDepthStencilImage                              vkCmdClearDepthStencilImage;
1460     PFN_vkCmdClearAttachments                                    vkCmdClearAttachments;
1461     PFN_vkCmdResolveImage                                        vkCmdResolveImage;
1462     PFN_vkCmdSetEvent                                            vkCmdSetEvent;
1463     PFN_vkCmdResetEvent                                          vkCmdResetEvent;
1464     PFN_vkCmdWaitEvents                                          vkCmdWaitEvents;
1465     PFN_vkCmdPipelineBarrier                                     vkCmdPipelineBarrier;
1466     PFN_vkCmdBeginQuery                                          vkCmdBeginQuery;
1467     PFN_vkCmdEndQuery                                            vkCmdEndQuery;
1468     PFN_vkCmdResetQueryPool                                      vkCmdResetQueryPool;
1469     PFN_vkCmdWriteTimestamp                                      vkCmdWriteTimestamp;
1470     PFN_vkCmdCopyQueryPoolResults                                vkCmdCopyQueryPoolResults;
1471     PFN_vkCmdPushConstants                                       vkCmdPushConstants;
1472     PFN_vkCmdBeginRenderPass                                     vkCmdBeginRenderPass;
1473     PFN_vkCmdNextSubpass                                         vkCmdNextSubpass;
1474     PFN_vkCmdEndRenderPass                                       vkCmdEndRenderPass;
1475     PFN_vkCmdExecuteCommands                                     vkCmdExecuteCommands;
1476 
1477     // VK_VERSION_1_1
1478     PFN_vkBindBufferMemory2                                      vkBindBufferMemory2;
1479     PFN_vkBindImageMemory2                                       vkBindImageMemory2;
1480     PFN_vkGetDeviceGroupPeerMemoryFeatures                       vkGetDeviceGroupPeerMemoryFeatures;
1481     PFN_vkCmdSetDeviceMask                                       vkCmdSetDeviceMask;
1482     PFN_vkCmdDispatchBase                                        vkCmdDispatchBase;
1483     PFN_vkGetImageMemoryRequirements2                            vkGetImageMemoryRequirements2;
1484     PFN_vkGetBufferMemoryRequirements2                           vkGetBufferMemoryRequirements2;
1485     PFN_vkGetImageSparseMemoryRequirements2                      vkGetImageSparseMemoryRequirements2;
1486     PFN_vkTrimCommandPool                                        vkTrimCommandPool;
1487     PFN_vkGetDeviceQueue2                                        vkGetDeviceQueue2;
1488     PFN_vkCreateSamplerYcbcrConversion                           vkCreateSamplerYcbcrConversion;
1489     PFN_vkDestroySamplerYcbcrConversion                          vkDestroySamplerYcbcrConversion;
1490     PFN_vkCreateDescriptorUpdateTemplate                         vkCreateDescriptorUpdateTemplate;
1491     PFN_vkDestroyDescriptorUpdateTemplate                        vkDestroyDescriptorUpdateTemplate;
1492     PFN_vkUpdateDescriptorSetWithTemplate                        vkUpdateDescriptorSetWithTemplate;
1493     PFN_vkGetDescriptorSetLayoutSupport                          vkGetDescriptorSetLayoutSupport;
1494 
1495     // VK_VERSION_1_2
1496     PFN_vkCmdDrawIndirectCount                                   vkCmdDrawIndirectCount;
1497     PFN_vkCmdDrawIndexedIndirectCount                            vkCmdDrawIndexedIndirectCount;
1498     PFN_vkCreateRenderPass2                                      vkCreateRenderPass2;
1499     PFN_vkCmdBeginRenderPass2                                    vkCmdBeginRenderPass2;
1500     PFN_vkCmdNextSubpass2                                        vkCmdNextSubpass2;
1501     PFN_vkCmdEndRenderPass2                                      vkCmdEndRenderPass2;
1502     PFN_vkResetQueryPool                                         vkResetQueryPool;
1503     PFN_vkGetSemaphoreCounterValue                               vkGetSemaphoreCounterValue;
1504     PFN_vkWaitSemaphores                                         vkWaitSemaphores;
1505     PFN_vkSignalSemaphore                                        vkSignalSemaphore;
1506     PFN_vkGetBufferDeviceAddress                                 vkGetBufferDeviceAddress;
1507     PFN_vkGetBufferOpaqueCaptureAddress                          vkGetBufferOpaqueCaptureAddress;
1508     PFN_vkGetDeviceMemoryOpaqueCaptureAddress                    vkGetDeviceMemoryOpaqueCaptureAddress;
1509 
1510     // VK_VERSION_1_3
1511     PFN_vkCreatePrivateDataSlot                                  vkCreatePrivateDataSlot;
1512     PFN_vkDestroyPrivateDataSlot                                 vkDestroyPrivateDataSlot;
1513     PFN_vkSetPrivateData                                         vkSetPrivateData;
1514     PFN_vkGetPrivateData                                         vkGetPrivateData;
1515     PFN_vkCmdSetEvent2                                           vkCmdSetEvent2;
1516     PFN_vkCmdResetEvent2                                         vkCmdResetEvent2;
1517     PFN_vkCmdWaitEvents2                                         vkCmdWaitEvents2;
1518     PFN_vkCmdPipelineBarrier2                                    vkCmdPipelineBarrier2;
1519     PFN_vkCmdWriteTimestamp2                                     vkCmdWriteTimestamp2;
1520     PFN_vkQueueSubmit2                                           vkQueueSubmit2;
1521     PFN_vkCmdCopyBuffer2                                         vkCmdCopyBuffer2;
1522     PFN_vkCmdCopyImage2                                          vkCmdCopyImage2;
1523     PFN_vkCmdCopyBufferToImage2                                  vkCmdCopyBufferToImage2;
1524     PFN_vkCmdCopyImageToBuffer2                                  vkCmdCopyImageToBuffer2;
1525     PFN_vkCmdBlitImage2                                          vkCmdBlitImage2;
1526     PFN_vkCmdResolveImage2                                       vkCmdResolveImage2;
1527     PFN_vkCmdBeginRendering                                      vkCmdBeginRendering;
1528     PFN_vkCmdEndRendering                                        vkCmdEndRendering;
1529     PFN_vkCmdSetCullMode                                         vkCmdSetCullMode;
1530     PFN_vkCmdSetFrontFace                                        vkCmdSetFrontFace;
1531     PFN_vkCmdSetPrimitiveTopology                                vkCmdSetPrimitiveTopology;
1532     PFN_vkCmdSetViewportWithCount                                vkCmdSetViewportWithCount;
1533     PFN_vkCmdSetScissorWithCount                                 vkCmdSetScissorWithCount;
1534     PFN_vkCmdBindVertexBuffers2                                  vkCmdBindVertexBuffers2;
1535     PFN_vkCmdSetDepthTestEnable                                  vkCmdSetDepthTestEnable;
1536     PFN_vkCmdSetDepthWriteEnable                                 vkCmdSetDepthWriteEnable;
1537     PFN_vkCmdSetDepthCompareOp                                   vkCmdSetDepthCompareOp;
1538     PFN_vkCmdSetDepthBoundsTestEnable                            vkCmdSetDepthBoundsTestEnable;
1539     PFN_vkCmdSetStencilTestEnable                                vkCmdSetStencilTestEnable;
1540     PFN_vkCmdSetStencilOp                                        vkCmdSetStencilOp;
1541     PFN_vkCmdSetRasterizerDiscardEnable                          vkCmdSetRasterizerDiscardEnable;
1542     PFN_vkCmdSetDepthBiasEnable                                  vkCmdSetDepthBiasEnable;
1543     PFN_vkCmdSetPrimitiveRestartEnable                           vkCmdSetPrimitiveRestartEnable;
1544     PFN_vkGetDeviceBufferMemoryRequirements                      vkGetDeviceBufferMemoryRequirements;
1545     PFN_vkGetDeviceImageMemoryRequirements                       vkGetDeviceImageMemoryRequirements;
1546     PFN_vkGetDeviceImageSparseMemoryRequirements                 vkGetDeviceImageSparseMemoryRequirements;
1547 
1548     // VK_KHR_swapchain
1549     PFN_vkCreateSwapchainKHR                                     vkCreateSwapchainKHR;
1550     PFN_vkDestroySwapchainKHR                                    vkDestroySwapchainKHR;
1551     PFN_vkGetSwapchainImagesKHR                                  vkGetSwapchainImagesKHR;
1552     PFN_vkAcquireNextImageKHR                                    vkAcquireNextImageKHR;
1553     PFN_vkQueuePresentKHR                                        vkQueuePresentKHR;
1554     PFN_vkGetDeviceGroupPresentCapabilitiesKHR                   vkGetDeviceGroupPresentCapabilitiesKHR;
1555     PFN_vkGetDeviceGroupSurfacePresentModesKHR                   vkGetDeviceGroupSurfacePresentModesKHR;
1556     PFN_vkAcquireNextImage2KHR                                   vkAcquireNextImage2KHR;
1557 
1558     // VK_KHR_display_swapchain
1559     PFN_vkCreateSharedSwapchainsKHR                              vkCreateSharedSwapchainsKHR;
1560 
1561     // VK_KHR_video_queue
1562     PFN_vkCreateVideoSessionKHR                                  vkCreateVideoSessionKHR;
1563     PFN_vkDestroyVideoSessionKHR                                 vkDestroyVideoSessionKHR;
1564     PFN_vkGetVideoSessionMemoryRequirementsKHR                   vkGetVideoSessionMemoryRequirementsKHR;
1565     PFN_vkBindVideoSessionMemoryKHR                              vkBindVideoSessionMemoryKHR;
1566     PFN_vkCreateVideoSessionParametersKHR                        vkCreateVideoSessionParametersKHR;
1567     PFN_vkUpdateVideoSessionParametersKHR                        vkUpdateVideoSessionParametersKHR;
1568     PFN_vkDestroyVideoSessionParametersKHR                       vkDestroyVideoSessionParametersKHR;
1569     PFN_vkCmdBeginVideoCodingKHR                                 vkCmdBeginVideoCodingKHR;
1570     PFN_vkCmdEndVideoCodingKHR                                   vkCmdEndVideoCodingKHR;
1571     PFN_vkCmdControlVideoCodingKHR                               vkCmdControlVideoCodingKHR;
1572 
1573     // VK_KHR_video_decode_queue
1574     PFN_vkCmdDecodeVideoKHR                                      vkCmdDecodeVideoKHR;
1575 
1576     // VK_KHR_external_memory_fd
1577     PFN_vkGetMemoryFdKHR                                         vkGetMemoryFdKHR;
1578     PFN_vkGetMemoryFdPropertiesKHR                               vkGetMemoryFdPropertiesKHR;
1579 
1580     // VK_KHR_external_semaphore_fd
1581     PFN_vkImportSemaphoreFdKHR                                   vkImportSemaphoreFdKHR;
1582     PFN_vkGetSemaphoreFdKHR                                      vkGetSemaphoreFdKHR;
1583 
1584     // VK_KHR_push_descriptor
1585     PFN_vkCmdPushDescriptorSetKHR                                vkCmdPushDescriptorSetKHR;
1586     PFN_vkCmdPushDescriptorSetWithTemplateKHR                    vkCmdPushDescriptorSetWithTemplateKHR;
1587 
1588     // VK_KHR_shared_presentable_image
1589     PFN_vkGetSwapchainStatusKHR                                  vkGetSwapchainStatusKHR;
1590 
1591     // VK_KHR_external_fence_fd
1592     PFN_vkImportFenceFdKHR                                       vkImportFenceFdKHR;
1593     PFN_vkGetFenceFdKHR                                          vkGetFenceFdKHR;
1594 
1595     // VK_KHR_performance_query
1596     PFN_vkAcquireProfilingLockKHR                                vkAcquireProfilingLockKHR;
1597     PFN_vkReleaseProfilingLockKHR                                vkReleaseProfilingLockKHR;
1598 
1599     // VK_KHR_fragment_shading_rate
1600     PFN_vkCmdSetFragmentShadingRateKHR                           vkCmdSetFragmentShadingRateKHR;
1601 
1602     // VK_KHR_present_wait
1603     PFN_vkWaitForPresentKHR                                      vkWaitForPresentKHR;
1604 
1605     // VK_KHR_deferred_host_operations
1606     PFN_vkCreateDeferredOperationKHR                             vkCreateDeferredOperationKHR;
1607     PFN_vkDestroyDeferredOperationKHR                            vkDestroyDeferredOperationKHR;
1608     PFN_vkGetDeferredOperationMaxConcurrencyKHR                  vkGetDeferredOperationMaxConcurrencyKHR;
1609     PFN_vkGetDeferredOperationResultKHR                          vkGetDeferredOperationResultKHR;
1610     PFN_vkDeferredOperationJoinKHR                               vkDeferredOperationJoinKHR;
1611 
1612     // VK_KHR_pipeline_executable_properties
1613     PFN_vkGetPipelineExecutablePropertiesKHR                     vkGetPipelineExecutablePropertiesKHR;
1614     PFN_vkGetPipelineExecutableStatisticsKHR                     vkGetPipelineExecutableStatisticsKHR;
1615     PFN_vkGetPipelineExecutableInternalRepresentationsKHR        vkGetPipelineExecutableInternalRepresentationsKHR;
1616 
1617     // VK_KHR_map_memory2
1618     PFN_vkMapMemory2KHR                                          vkMapMemory2KHR;
1619     PFN_vkUnmapMemory2KHR                                        vkUnmapMemory2KHR;
1620 
1621     // VK_KHR_synchronization2
1622     PFN_vkCmdWriteBufferMarker2AMD                               vkCmdWriteBufferMarker2AMD;
1623     PFN_vkGetQueueCheckpointData2NV                              vkGetQueueCheckpointData2NV;
1624 
1625     // VK_KHR_ray_tracing_maintenance1
1626     PFN_vkCmdTraceRaysIndirect2KHR                               vkCmdTraceRaysIndirect2KHR;
1627 
1628     // VK_EXT_debug_marker
1629     PFN_vkDebugMarkerSetObjectTagEXT                             vkDebugMarkerSetObjectTagEXT;
1630     PFN_vkDebugMarkerSetObjectNameEXT                            vkDebugMarkerSetObjectNameEXT;
1631     PFN_vkCmdDebugMarkerBeginEXT                                 vkCmdDebugMarkerBeginEXT;
1632     PFN_vkCmdDebugMarkerEndEXT                                   vkCmdDebugMarkerEndEXT;
1633     PFN_vkCmdDebugMarkerInsertEXT                                vkCmdDebugMarkerInsertEXT;
1634 
1635     // VK_EXT_transform_feedback
1636     PFN_vkCmdBindTransformFeedbackBuffersEXT                     vkCmdBindTransformFeedbackBuffersEXT;
1637     PFN_vkCmdBeginTransformFeedbackEXT                           vkCmdBeginTransformFeedbackEXT;
1638     PFN_vkCmdEndTransformFeedbackEXT                             vkCmdEndTransformFeedbackEXT;
1639     PFN_vkCmdBeginQueryIndexedEXT                                vkCmdBeginQueryIndexedEXT;
1640     PFN_vkCmdEndQueryIndexedEXT                                  vkCmdEndQueryIndexedEXT;
1641     PFN_vkCmdDrawIndirectByteCountEXT                            vkCmdDrawIndirectByteCountEXT;
1642 
1643     // VK_NVX_binary_import
1644     PFN_vkCreateCuModuleNVX                                      vkCreateCuModuleNVX;
1645     PFN_vkCreateCuFunctionNVX                                    vkCreateCuFunctionNVX;
1646     PFN_vkDestroyCuModuleNVX                                     vkDestroyCuModuleNVX;
1647     PFN_vkDestroyCuFunctionNVX                                   vkDestroyCuFunctionNVX;
1648     PFN_vkCmdCuLaunchKernelNVX                                   vkCmdCuLaunchKernelNVX;
1649 
1650     // VK_NVX_image_view_handle
1651     PFN_vkGetImageViewHandleNVX                                  vkGetImageViewHandleNVX;
1652     PFN_vkGetImageViewAddressNVX                                 vkGetImageViewAddressNVX;
1653 
1654     // VK_AMD_shader_info
1655     PFN_vkGetShaderInfoAMD                                       vkGetShaderInfoAMD;
1656 
1657     // VK_EXT_conditional_rendering
1658     PFN_vkCmdBeginConditionalRenderingEXT                        vkCmdBeginConditionalRenderingEXT;
1659     PFN_vkCmdEndConditionalRenderingEXT                          vkCmdEndConditionalRenderingEXT;
1660 
1661     // VK_NV_clip_space_w_scaling
1662     PFN_vkCmdSetViewportWScalingNV                               vkCmdSetViewportWScalingNV;
1663 
1664     // VK_EXT_display_control
1665     PFN_vkDisplayPowerControlEXT                                 vkDisplayPowerControlEXT;
1666     PFN_vkRegisterDeviceEventEXT                                 vkRegisterDeviceEventEXT;
1667     PFN_vkRegisterDisplayEventEXT                                vkRegisterDisplayEventEXT;
1668     PFN_vkGetSwapchainCounterEXT                                 vkGetSwapchainCounterEXT;
1669 
1670     // VK_GOOGLE_display_timing
1671     PFN_vkGetRefreshCycleDurationGOOGLE                          vkGetRefreshCycleDurationGOOGLE;
1672     PFN_vkGetPastPresentationTimingGOOGLE                        vkGetPastPresentationTimingGOOGLE;
1673 
1674     // VK_EXT_discard_rectangles
1675     PFN_vkCmdSetDiscardRectangleEXT                              vkCmdSetDiscardRectangleEXT;
1676     PFN_vkCmdSetDiscardRectangleEnableEXT                        vkCmdSetDiscardRectangleEnableEXT;
1677     PFN_vkCmdSetDiscardRectangleModeEXT                          vkCmdSetDiscardRectangleModeEXT;
1678 
1679     // VK_EXT_hdr_metadata
1680     PFN_vkSetHdrMetadataEXT                                      vkSetHdrMetadataEXT;
1681 
1682     // VK_EXT_debug_utils
1683     PFN_vkSetDebugUtilsObjectNameEXT                             vkSetDebugUtilsObjectNameEXT;
1684     PFN_vkSetDebugUtilsObjectTagEXT                              vkSetDebugUtilsObjectTagEXT;
1685     PFN_vkQueueBeginDebugUtilsLabelEXT                           vkQueueBeginDebugUtilsLabelEXT;
1686     PFN_vkQueueEndDebugUtilsLabelEXT                             vkQueueEndDebugUtilsLabelEXT;
1687     PFN_vkQueueInsertDebugUtilsLabelEXT                          vkQueueInsertDebugUtilsLabelEXT;
1688     PFN_vkCmdBeginDebugUtilsLabelEXT                             vkCmdBeginDebugUtilsLabelEXT;
1689     PFN_vkCmdEndDebugUtilsLabelEXT                               vkCmdEndDebugUtilsLabelEXT;
1690     PFN_vkCmdInsertDebugUtilsLabelEXT                            vkCmdInsertDebugUtilsLabelEXT;
1691 
1692     // VK_EXT_sample_locations
1693     PFN_vkCmdSetSampleLocationsEXT                               vkCmdSetSampleLocationsEXT;
1694 
1695     // VK_EXT_image_drm_format_modifier
1696     PFN_vkGetImageDrmFormatModifierPropertiesEXT                 vkGetImageDrmFormatModifierPropertiesEXT;
1697 
1698     // VK_EXT_validation_cache
1699     PFN_vkCreateValidationCacheEXT                               vkCreateValidationCacheEXT;
1700     PFN_vkDestroyValidationCacheEXT                              vkDestroyValidationCacheEXT;
1701     PFN_vkMergeValidationCachesEXT                               vkMergeValidationCachesEXT;
1702     PFN_vkGetValidationCacheDataEXT                              vkGetValidationCacheDataEXT;
1703 
1704     // VK_NV_shading_rate_image
1705     PFN_vkCmdBindShadingRateImageNV                              vkCmdBindShadingRateImageNV;
1706     PFN_vkCmdSetViewportShadingRatePaletteNV                     vkCmdSetViewportShadingRatePaletteNV;
1707     PFN_vkCmdSetCoarseSampleOrderNV                              vkCmdSetCoarseSampleOrderNV;
1708 
1709     // VK_NV_ray_tracing
1710     PFN_vkCreateAccelerationStructureNV                          vkCreateAccelerationStructureNV;
1711     PFN_vkDestroyAccelerationStructureNV                         vkDestroyAccelerationStructureNV;
1712     PFN_vkGetAccelerationStructureMemoryRequirementsNV           vkGetAccelerationStructureMemoryRequirementsNV;
1713     PFN_vkBindAccelerationStructureMemoryNV                      vkBindAccelerationStructureMemoryNV;
1714     PFN_vkCmdBuildAccelerationStructureNV                        vkCmdBuildAccelerationStructureNV;
1715     PFN_vkCmdCopyAccelerationStructureNV                         vkCmdCopyAccelerationStructureNV;
1716     PFN_vkCmdTraceRaysNV                                         vkCmdTraceRaysNV;
1717     PFN_vkCreateRayTracingPipelinesNV                            vkCreateRayTracingPipelinesNV;
1718     PFN_vkGetRayTracingShaderGroupHandlesKHR                     vkGetRayTracingShaderGroupHandlesKHR;
1719     PFN_vkGetAccelerationStructureHandleNV                       vkGetAccelerationStructureHandleNV;
1720     PFN_vkCmdWriteAccelerationStructuresPropertiesNV             vkCmdWriteAccelerationStructuresPropertiesNV;
1721     PFN_vkCompileDeferredNV                                      vkCompileDeferredNV;
1722 
1723     // VK_EXT_external_memory_host
1724     PFN_vkGetMemoryHostPointerPropertiesEXT                      vkGetMemoryHostPointerPropertiesEXT;
1725 
1726     // VK_AMD_buffer_marker
1727     PFN_vkCmdWriteBufferMarkerAMD                                vkCmdWriteBufferMarkerAMD;
1728 
1729     // VK_EXT_calibrated_timestamps
1730     PFN_vkGetCalibratedTimestampsEXT                             vkGetCalibratedTimestampsEXT;
1731 
1732     // VK_NV_mesh_shader
1733     PFN_vkCmdDrawMeshTasksNV                                     vkCmdDrawMeshTasksNV;
1734     PFN_vkCmdDrawMeshTasksIndirectNV                             vkCmdDrawMeshTasksIndirectNV;
1735     PFN_vkCmdDrawMeshTasksIndirectCountNV                        vkCmdDrawMeshTasksIndirectCountNV;
1736 
1737     // VK_NV_scissor_exclusive
1738     PFN_vkCmdSetExclusiveScissorEnableNV                         vkCmdSetExclusiveScissorEnableNV;
1739     PFN_vkCmdSetExclusiveScissorNV                               vkCmdSetExclusiveScissorNV;
1740 
1741     // VK_NV_device_diagnostic_checkpoints
1742     PFN_vkCmdSetCheckpointNV                                     vkCmdSetCheckpointNV;
1743     PFN_vkGetQueueCheckpointDataNV                               vkGetQueueCheckpointDataNV;
1744 
1745     // VK_INTEL_performance_query
1746     PFN_vkInitializePerformanceApiINTEL                          vkInitializePerformanceApiINTEL;
1747     PFN_vkUninitializePerformanceApiINTEL                        vkUninitializePerformanceApiINTEL;
1748     PFN_vkCmdSetPerformanceMarkerINTEL                           vkCmdSetPerformanceMarkerINTEL;
1749     PFN_vkCmdSetPerformanceStreamMarkerINTEL                     vkCmdSetPerformanceStreamMarkerINTEL;
1750     PFN_vkCmdSetPerformanceOverrideINTEL                         vkCmdSetPerformanceOverrideINTEL;
1751     PFN_vkAcquirePerformanceConfigurationINTEL                   vkAcquirePerformanceConfigurationINTEL;
1752     PFN_vkReleasePerformanceConfigurationINTEL                   vkReleasePerformanceConfigurationINTEL;
1753     PFN_vkQueueSetPerformanceConfigurationINTEL                  vkQueueSetPerformanceConfigurationINTEL;
1754     PFN_vkGetPerformanceParameterINTEL                           vkGetPerformanceParameterINTEL;
1755 
1756     // VK_AMD_display_native_hdr
1757     PFN_vkSetLocalDimmingAMD                                     vkSetLocalDimmingAMD;
1758 
1759     // VK_EXT_line_rasterization
1760     PFN_vkCmdSetLineStippleEXT                                   vkCmdSetLineStippleEXT;
1761 
1762     // VK_EXT_swapchain_maintenance1
1763     PFN_vkReleaseSwapchainImagesEXT                              vkReleaseSwapchainImagesEXT;
1764 
1765     // VK_NV_device_generated_commands
1766     PFN_vkGetGeneratedCommandsMemoryRequirementsNV               vkGetGeneratedCommandsMemoryRequirementsNV;
1767     PFN_vkCmdPreprocessGeneratedCommandsNV                       vkCmdPreprocessGeneratedCommandsNV;
1768     PFN_vkCmdExecuteGeneratedCommandsNV                          vkCmdExecuteGeneratedCommandsNV;
1769     PFN_vkCmdBindPipelineShaderGroupNV                           vkCmdBindPipelineShaderGroupNV;
1770     PFN_vkCreateIndirectCommandsLayoutNV                         vkCreateIndirectCommandsLayoutNV;
1771     PFN_vkDestroyIndirectCommandsLayoutNV                        vkDestroyIndirectCommandsLayoutNV;
1772 
1773     // VK_EXT_descriptor_buffer
1774     PFN_vkGetDescriptorSetLayoutSizeEXT                          vkGetDescriptorSetLayoutSizeEXT;
1775     PFN_vkGetDescriptorSetLayoutBindingOffsetEXT                 vkGetDescriptorSetLayoutBindingOffsetEXT;
1776     PFN_vkGetDescriptorEXT                                       vkGetDescriptorEXT;
1777     PFN_vkCmdBindDescriptorBuffersEXT                            vkCmdBindDescriptorBuffersEXT;
1778     PFN_vkCmdSetDescriptorBufferOffsetsEXT                       vkCmdSetDescriptorBufferOffsetsEXT;
1779     PFN_vkCmdBindDescriptorBufferEmbeddedSamplersEXT             vkCmdBindDescriptorBufferEmbeddedSamplersEXT;
1780     PFN_vkGetBufferOpaqueCaptureDescriptorDataEXT                vkGetBufferOpaqueCaptureDescriptorDataEXT;
1781     PFN_vkGetImageOpaqueCaptureDescriptorDataEXT                 vkGetImageOpaqueCaptureDescriptorDataEXT;
1782     PFN_vkGetImageViewOpaqueCaptureDescriptorDataEXT             vkGetImageViewOpaqueCaptureDescriptorDataEXT;
1783     PFN_vkGetSamplerOpaqueCaptureDescriptorDataEXT               vkGetSamplerOpaqueCaptureDescriptorDataEXT;
1784     PFN_vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT vkGetAccelerationStructureOpaqueCaptureDescriptorDataEXT;
1785 
1786     // VK_NV_fragment_shading_rate_enums
1787     PFN_vkCmdSetFragmentShadingRateEnumNV                        vkCmdSetFragmentShadingRateEnumNV;
1788 
1789     // VK_EXT_image_compression_control
1790     PFN_vkGetImageSubresourceLayout2EXT                          vkGetImageSubresourceLayout2EXT;
1791 
1792     // VK_EXT_device_fault
1793     PFN_vkGetDeviceFaultInfoEXT                                  vkGetDeviceFaultInfoEXT;
1794 
1795     // VK_EXT_vertex_input_dynamic_state
1796     PFN_vkCmdSetVertexInputEXT                                   vkCmdSetVertexInputEXT;
1797 
1798     // VK_HUAWEI_subpass_shading
1799     PFN_vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI          vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI;
1800     PFN_vkCmdSubpassShadingHUAWEI                                vkCmdSubpassShadingHUAWEI;
1801 
1802     // VK_HUAWEI_invocation_mask
1803     PFN_vkCmdBindInvocationMaskHUAWEI                            vkCmdBindInvocationMaskHUAWEI;
1804 
1805     // VK_NV_external_memory_rdma
1806     PFN_vkGetMemoryRemoteAddressNV                               vkGetMemoryRemoteAddressNV;
1807 
1808     // VK_EXT_pipeline_properties
1809     PFN_vkGetPipelinePropertiesEXT                               vkGetPipelinePropertiesEXT;
1810 
1811     // VK_EXT_extended_dynamic_state2
1812     PFN_vkCmdSetPatchControlPointsEXT                            vkCmdSetPatchControlPointsEXT;
1813     PFN_vkCmdSetLogicOpEXT                                       vkCmdSetLogicOpEXT;
1814 
1815     // VK_EXT_color_write_enable
1816     PFN_vkCmdSetColorWriteEnableEXT                              vkCmdSetColorWriteEnableEXT;
1817 
1818     // VK_EXT_multi_draw
1819     PFN_vkCmdDrawMultiEXT                                        vkCmdDrawMultiEXT;
1820     PFN_vkCmdDrawMultiIndexedEXT                                 vkCmdDrawMultiIndexedEXT;
1821 
1822     // VK_EXT_opacity_micromap
1823     PFN_vkCreateMicromapEXT                                      vkCreateMicromapEXT;
1824     PFN_vkDestroyMicromapEXT                                     vkDestroyMicromapEXT;
1825     PFN_vkCmdBuildMicromapsEXT                                   vkCmdBuildMicromapsEXT;
1826     PFN_vkBuildMicromapsEXT                                      vkBuildMicromapsEXT;
1827     PFN_vkCopyMicromapEXT                                        vkCopyMicromapEXT;
1828     PFN_vkCopyMicromapToMemoryEXT                                vkCopyMicromapToMemoryEXT;
1829     PFN_vkCopyMemoryToMicromapEXT                                vkCopyMemoryToMicromapEXT;
1830     PFN_vkWriteMicromapsPropertiesEXT                            vkWriteMicromapsPropertiesEXT;
1831     PFN_vkCmdCopyMicromapEXT                                     vkCmdCopyMicromapEXT;
1832     PFN_vkCmdCopyMicromapToMemoryEXT                             vkCmdCopyMicromapToMemoryEXT;
1833     PFN_vkCmdCopyMemoryToMicromapEXT                             vkCmdCopyMemoryToMicromapEXT;
1834     PFN_vkCmdWriteMicromapsPropertiesEXT                         vkCmdWriteMicromapsPropertiesEXT;
1835     PFN_vkGetDeviceMicromapCompatibilityEXT                      vkGetDeviceMicromapCompatibilityEXT;
1836     PFN_vkGetMicromapBuildSizesEXT                               vkGetMicromapBuildSizesEXT;
1837 
1838     // VK_HUAWEI_cluster_culling_shader
1839     PFN_vkCmdDrawClusterHUAWEI                                   vkCmdDrawClusterHUAWEI;
1840     PFN_vkCmdDrawClusterIndirectHUAWEI                           vkCmdDrawClusterIndirectHUAWEI;
1841 
1842     // VK_EXT_pageable_device_local_memory
1843     PFN_vkSetDeviceMemoryPriorityEXT                             vkSetDeviceMemoryPriorityEXT;
1844 
1845     // VK_VALVE_descriptor_set_host_mapping
1846     PFN_vkGetDescriptorSetLayoutHostMappingInfoVALVE             vkGetDescriptorSetLayoutHostMappingInfoVALVE;
1847     PFN_vkGetDescriptorSetHostMappingVALVE                       vkGetDescriptorSetHostMappingVALVE;
1848 
1849     // VK_NV_copy_memory_indirect
1850     PFN_vkCmdCopyMemoryIndirectNV                                vkCmdCopyMemoryIndirectNV;
1851     PFN_vkCmdCopyMemoryToImageIndirectNV                         vkCmdCopyMemoryToImageIndirectNV;
1852 
1853     // VK_NV_memory_decompression
1854     PFN_vkCmdDecompressMemoryNV                                  vkCmdDecompressMemoryNV;
1855     PFN_vkCmdDecompressMemoryIndirectCountNV                     vkCmdDecompressMemoryIndirectCountNV;
1856 
1857     // VK_EXT_extended_dynamic_state3
1858     PFN_vkCmdSetTessellationDomainOriginEXT                      vkCmdSetTessellationDomainOriginEXT;
1859     PFN_vkCmdSetDepthClampEnableEXT                              vkCmdSetDepthClampEnableEXT;
1860     PFN_vkCmdSetPolygonModeEXT                                   vkCmdSetPolygonModeEXT;
1861     PFN_vkCmdSetRasterizationSamplesEXT                          vkCmdSetRasterizationSamplesEXT;
1862     PFN_vkCmdSetSampleMaskEXT                                    vkCmdSetSampleMaskEXT;
1863     PFN_vkCmdSetAlphaToCoverageEnableEXT                         vkCmdSetAlphaToCoverageEnableEXT;
1864     PFN_vkCmdSetAlphaToOneEnableEXT                              vkCmdSetAlphaToOneEnableEXT;
1865     PFN_vkCmdSetLogicOpEnableEXT                                 vkCmdSetLogicOpEnableEXT;
1866     PFN_vkCmdSetColorBlendEnableEXT                              vkCmdSetColorBlendEnableEXT;
1867     PFN_vkCmdSetColorBlendEquationEXT                            vkCmdSetColorBlendEquationEXT;
1868     PFN_vkCmdSetColorWriteMaskEXT                                vkCmdSetColorWriteMaskEXT;
1869     PFN_vkCmdSetRasterizationStreamEXT                           vkCmdSetRasterizationStreamEXT;
1870     PFN_vkCmdSetConservativeRasterizationModeEXT                 vkCmdSetConservativeRasterizationModeEXT;
1871     PFN_vkCmdSetExtraPrimitiveOverestimationSizeEXT              vkCmdSetExtraPrimitiveOverestimationSizeEXT;
1872     PFN_vkCmdSetDepthClipEnableEXT                               vkCmdSetDepthClipEnableEXT;
1873     PFN_vkCmdSetSampleLocationsEnableEXT                         vkCmdSetSampleLocationsEnableEXT;
1874     PFN_vkCmdSetColorBlendAdvancedEXT                            vkCmdSetColorBlendAdvancedEXT;
1875     PFN_vkCmdSetProvokingVertexModeEXT                           vkCmdSetProvokingVertexModeEXT;
1876     PFN_vkCmdSetLineRasterizationModeEXT                         vkCmdSetLineRasterizationModeEXT;
1877     PFN_vkCmdSetLineStippleEnableEXT                             vkCmdSetLineStippleEnableEXT;
1878     PFN_vkCmdSetDepthClipNegativeOneToOneEXT                     vkCmdSetDepthClipNegativeOneToOneEXT;
1879     PFN_vkCmdSetViewportWScalingEnableNV                         vkCmdSetViewportWScalingEnableNV;
1880     PFN_vkCmdSetViewportSwizzleNV                                vkCmdSetViewportSwizzleNV;
1881     PFN_vkCmdSetCoverageToColorEnableNV                          vkCmdSetCoverageToColorEnableNV;
1882     PFN_vkCmdSetCoverageToColorLocationNV                        vkCmdSetCoverageToColorLocationNV;
1883     PFN_vkCmdSetCoverageModulationModeNV                         vkCmdSetCoverageModulationModeNV;
1884     PFN_vkCmdSetCoverageModulationTableEnableNV                  vkCmdSetCoverageModulationTableEnableNV;
1885     PFN_vkCmdSetCoverageModulationTableNV                        vkCmdSetCoverageModulationTableNV;
1886     PFN_vkCmdSetShadingRateImageEnableNV                         vkCmdSetShadingRateImageEnableNV;
1887     PFN_vkCmdSetRepresentativeFragmentTestEnableNV               vkCmdSetRepresentativeFragmentTestEnableNV;
1888     PFN_vkCmdSetCoverageReductionModeNV                          vkCmdSetCoverageReductionModeNV;
1889 
1890     // VK_EXT_shader_module_identifier
1891     PFN_vkGetShaderModuleIdentifierEXT                           vkGetShaderModuleIdentifierEXT;
1892     PFN_vkGetShaderModuleCreateInfoIdentifierEXT                 vkGetShaderModuleCreateInfoIdentifierEXT;
1893 
1894     // VK_NV_optical_flow
1895     PFN_vkCreateOpticalFlowSessionNV                             vkCreateOpticalFlowSessionNV;
1896     PFN_vkDestroyOpticalFlowSessionNV                            vkDestroyOpticalFlowSessionNV;
1897     PFN_vkBindOpticalFlowSessionImageNV                          vkBindOpticalFlowSessionImageNV;
1898     PFN_vkCmdOpticalFlowExecuteNV                                vkCmdOpticalFlowExecuteNV;
1899 
1900     // VK_EXT_shader_object
1901     PFN_vkCreateShadersEXT                                       vkCreateShadersEXT;
1902     PFN_vkDestroyShaderEXT                                       vkDestroyShaderEXT;
1903     PFN_vkGetShaderBinaryDataEXT                                 vkGetShaderBinaryDataEXT;
1904     PFN_vkCmdBindShadersEXT                                      vkCmdBindShadersEXT;
1905 
1906     // VK_QCOM_tile_properties
1907     PFN_vkGetFramebufferTilePropertiesQCOM                       vkGetFramebufferTilePropertiesQCOM;
1908     PFN_vkGetDynamicRenderingTilePropertiesQCOM                  vkGetDynamicRenderingTilePropertiesQCOM;
1909 
1910     // VK_KHR_acceleration_structure
1911     PFN_vkCreateAccelerationStructureKHR                         vkCreateAccelerationStructureKHR;
1912     PFN_vkDestroyAccelerationStructureKHR                        vkDestroyAccelerationStructureKHR;
1913     PFN_vkCmdBuildAccelerationStructuresKHR                      vkCmdBuildAccelerationStructuresKHR;
1914     PFN_vkCmdBuildAccelerationStructuresIndirectKHR              vkCmdBuildAccelerationStructuresIndirectKHR;
1915     PFN_vkBuildAccelerationStructuresKHR                         vkBuildAccelerationStructuresKHR;
1916     PFN_vkCopyAccelerationStructureKHR                           vkCopyAccelerationStructureKHR;
1917     PFN_vkCopyAccelerationStructureToMemoryKHR                   vkCopyAccelerationStructureToMemoryKHR;
1918     PFN_vkCopyMemoryToAccelerationStructureKHR                   vkCopyMemoryToAccelerationStructureKHR;
1919     PFN_vkWriteAccelerationStructuresPropertiesKHR               vkWriteAccelerationStructuresPropertiesKHR;
1920     PFN_vkCmdCopyAccelerationStructureKHR                        vkCmdCopyAccelerationStructureKHR;
1921     PFN_vkCmdCopyAccelerationStructureToMemoryKHR                vkCmdCopyAccelerationStructureToMemoryKHR;
1922     PFN_vkCmdCopyMemoryToAccelerationStructureKHR                vkCmdCopyMemoryToAccelerationStructureKHR;
1923     PFN_vkGetAccelerationStructureDeviceAddressKHR               vkGetAccelerationStructureDeviceAddressKHR;
1924     PFN_vkCmdWriteAccelerationStructuresPropertiesKHR            vkCmdWriteAccelerationStructuresPropertiesKHR;
1925     PFN_vkGetDeviceAccelerationStructureCompatibilityKHR         vkGetDeviceAccelerationStructureCompatibilityKHR;
1926     PFN_vkGetAccelerationStructureBuildSizesKHR                  vkGetAccelerationStructureBuildSizesKHR;
1927 
1928     // VK_KHR_ray_tracing_pipeline
1929     PFN_vkCmdTraceRaysKHR                                        vkCmdTraceRaysKHR;
1930     PFN_vkCreateRayTracingPipelinesKHR                           vkCreateRayTracingPipelinesKHR;
1931     PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR        vkGetRayTracingCaptureReplayShaderGroupHandlesKHR;
1932     PFN_vkCmdTraceRaysIndirectKHR                                vkCmdTraceRaysIndirectKHR;
1933     PFN_vkGetRayTracingShaderGroupStackSizeKHR                   vkGetRayTracingShaderGroupStackSizeKHR;
1934     PFN_vkCmdSetRayTracingPipelineStackSizeKHR                   vkCmdSetRayTracingPipelineStackSizeKHR;
1935 
1936     // VK_EXT_mesh_shader
1937     PFN_vkCmdDrawMeshTasksEXT                                    vkCmdDrawMeshTasksEXT;
1938     PFN_vkCmdDrawMeshTasksIndirectEXT                            vkCmdDrawMeshTasksIndirectEXT;
1939     PFN_vkCmdDrawMeshTasksIndirectCountEXT                       vkCmdDrawMeshTasksIndirectCountEXT;
1940 
1941     // VK_KHR_dynamic_rendering
1942     alias vkCmdBeginRenderingKHR                                         = vkCmdBeginRendering;
1943     alias vkCmdEndRenderingKHR                                           = vkCmdEndRendering;
1944 
1945     // VK_KHR_device_group
1946     alias vkGetDeviceGroupPeerMemoryFeaturesKHR                          = vkGetDeviceGroupPeerMemoryFeatures;
1947     alias vkCmdSetDeviceMaskKHR                                          = vkCmdSetDeviceMask;
1948     alias vkCmdDispatchBaseKHR                                           = vkCmdDispatchBase;
1949 
1950     // VK_KHR_maintenance1
1951     alias vkTrimCommandPoolKHR                                           = vkTrimCommandPool;
1952 
1953     // VK_KHR_descriptor_update_template
1954     alias vkCreateDescriptorUpdateTemplateKHR                            = vkCreateDescriptorUpdateTemplate;
1955     alias vkDestroyDescriptorUpdateTemplateKHR                           = vkDestroyDescriptorUpdateTemplate;
1956     alias vkUpdateDescriptorSetWithTemplateKHR                           = vkUpdateDescriptorSetWithTemplate;
1957 
1958     // VK_KHR_create_renderpass2
1959     alias vkCreateRenderPass2KHR                                         = vkCreateRenderPass2;
1960     alias vkCmdBeginRenderPass2KHR                                       = vkCmdBeginRenderPass2;
1961     alias vkCmdNextSubpass2KHR                                           = vkCmdNextSubpass2;
1962     alias vkCmdEndRenderPass2KHR                                         = vkCmdEndRenderPass2;
1963 
1964     // VK_KHR_get_memory_requirements2
1965     alias vkGetImageMemoryRequirements2KHR                               = vkGetImageMemoryRequirements2;
1966     alias vkGetBufferMemoryRequirements2KHR                              = vkGetBufferMemoryRequirements2;
1967     alias vkGetImageSparseMemoryRequirements2KHR                         = vkGetImageSparseMemoryRequirements2;
1968 
1969     // VK_KHR_sampler_ycbcr_conversion
1970     alias vkCreateSamplerYcbcrConversionKHR                              = vkCreateSamplerYcbcrConversion;
1971     alias vkDestroySamplerYcbcrConversionKHR                             = vkDestroySamplerYcbcrConversion;
1972 
1973     // VK_KHR_bind_memory2
1974     alias vkBindBufferMemory2KHR                                         = vkBindBufferMemory2;
1975     alias vkBindImageMemory2KHR                                          = vkBindImageMemory2;
1976 
1977     // VK_KHR_maintenance3
1978     alias vkGetDescriptorSetLayoutSupportKHR                             = vkGetDescriptorSetLayoutSupport;
1979 
1980     // VK_KHR_draw_indirect_count
1981     alias vkCmdDrawIndirectCountKHR                                      = vkCmdDrawIndirectCount;
1982     alias vkCmdDrawIndexedIndirectCountKHR                               = vkCmdDrawIndexedIndirectCount;
1983 
1984     // VK_KHR_timeline_semaphore
1985     alias vkGetSemaphoreCounterValueKHR                                  = vkGetSemaphoreCounterValue;
1986     alias vkWaitSemaphoresKHR                                            = vkWaitSemaphores;
1987     alias vkSignalSemaphoreKHR                                           = vkSignalSemaphore;
1988 
1989     // VK_KHR_buffer_device_address
1990     alias vkGetBufferDeviceAddressKHR                                    = vkGetBufferDeviceAddress;
1991     alias vkGetBufferOpaqueCaptureAddressKHR                             = vkGetBufferOpaqueCaptureAddress;
1992     alias vkGetDeviceMemoryOpaqueCaptureAddressKHR                       = vkGetDeviceMemoryOpaqueCaptureAddress;
1993 
1994     // VK_KHR_synchronization2
1995     alias vkCmdSetEvent2KHR                                              = vkCmdSetEvent2;
1996     alias vkCmdResetEvent2KHR                                            = vkCmdResetEvent2;
1997     alias vkCmdWaitEvents2KHR                                            = vkCmdWaitEvents2;
1998     alias vkCmdPipelineBarrier2KHR                                       = vkCmdPipelineBarrier2;
1999     alias vkCmdWriteTimestamp2KHR                                        = vkCmdWriteTimestamp2;
2000     alias vkQueueSubmit2KHR                                              = vkQueueSubmit2;
2001 
2002     // VK_KHR_copy_commands2
2003     alias vkCmdCopyBuffer2KHR                                            = vkCmdCopyBuffer2;
2004     alias vkCmdCopyImage2KHR                                             = vkCmdCopyImage2;
2005     alias vkCmdCopyBufferToImage2KHR                                     = vkCmdCopyBufferToImage2;
2006     alias vkCmdCopyImageToBuffer2KHR                                     = vkCmdCopyImageToBuffer2;
2007     alias vkCmdBlitImage2KHR                                             = vkCmdBlitImage2;
2008     alias vkCmdResolveImage2KHR                                          = vkCmdResolveImage2;
2009 
2010     // VK_KHR_maintenance4
2011     alias vkGetDeviceBufferMemoryRequirementsKHR                         = vkGetDeviceBufferMemoryRequirements;
2012     alias vkGetDeviceImageMemoryRequirementsKHR                          = vkGetDeviceImageMemoryRequirements;
2013     alias vkGetDeviceImageSparseMemoryRequirementsKHR                    = vkGetDeviceImageSparseMemoryRequirements;
2014 
2015     // VK_AMD_draw_indirect_count
2016     alias vkCmdDrawIndirectCountAMD                                      = vkCmdDrawIndirectCount;
2017     alias vkCmdDrawIndexedIndirectCountAMD                               = vkCmdDrawIndexedIndirectCount;
2018 
2019     // VK_NV_ray_tracing
2020     alias vkGetRayTracingShaderGroupHandlesNV                            = vkGetRayTracingShaderGroupHandlesKHR;
2021 
2022     // VK_EXT_buffer_device_address
2023     alias vkGetBufferDeviceAddressEXT                                    = vkGetBufferDeviceAddress;
2024 
2025     // VK_EXT_host_query_reset
2026     alias vkResetQueryPoolEXT                                            = vkResetQueryPool;
2027 
2028     // VK_EXT_extended_dynamic_state
2029     alias vkCmdSetCullModeEXT                                            = vkCmdSetCullMode;
2030     alias vkCmdSetFrontFaceEXT                                           = vkCmdSetFrontFace;
2031     alias vkCmdSetPrimitiveTopologyEXT                                   = vkCmdSetPrimitiveTopology;
2032     alias vkCmdSetViewportWithCountEXT                                   = vkCmdSetViewportWithCount;
2033     alias vkCmdSetScissorWithCountEXT                                    = vkCmdSetScissorWithCount;
2034     alias vkCmdBindVertexBuffers2EXT                                     = vkCmdBindVertexBuffers2;
2035     alias vkCmdSetDepthTestEnableEXT                                     = vkCmdSetDepthTestEnable;
2036     alias vkCmdSetDepthWriteEnableEXT                                    = vkCmdSetDepthWriteEnable;
2037     alias vkCmdSetDepthCompareOpEXT                                      = vkCmdSetDepthCompareOp;
2038     alias vkCmdSetDepthBoundsTestEnableEXT                               = vkCmdSetDepthBoundsTestEnable;
2039     alias vkCmdSetStencilTestEnableEXT                                   = vkCmdSetStencilTestEnable;
2040     alias vkCmdSetStencilOpEXT                                           = vkCmdSetStencilOp;
2041 
2042     // VK_EXT_private_data
2043     alias vkCreatePrivateDataSlotEXT                                     = vkCreatePrivateDataSlot;
2044     alias vkDestroyPrivateDataSlotEXT                                    = vkDestroyPrivateDataSlot;
2045     alias vkSetPrivateDataEXT                                            = vkSetPrivateData;
2046     alias vkGetPrivateDataEXT                                            = vkGetPrivateData;
2047 
2048     // VK_EXT_extended_dynamic_state2
2049     alias vkCmdSetRasterizerDiscardEnableEXT                             = vkCmdSetRasterizerDiscardEnable;
2050     alias vkCmdSetDepthBiasEnableEXT                                     = vkCmdSetDepthBiasEnable;
2051     alias vkCmdSetPrimitiveRestartEnableEXT                              = vkCmdSetPrimitiveRestartEnable;
2052 }
2053