1 // Copyright (C) 2018 The Android Open Source Project
2 // Copyright (C) 2018 Google Inc.
3 //
4 // Licensed under the Apache License, Version 2.0 (the "License");
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
7 //
8 // http://www.apache.org/licenses/LICENSE-2.0
9 //
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an "AS IS" BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
15
16 // Autogenerated module goldfish_vk_dispatch
17 //
18 // (impl) generated by scripts/genvk.py -registry
19 // ../../../../../hardware/google/gfxstream/codegen/vulkan/vulkan-docs-next/xml/vk.xml
20 // -registryGfxstream xml/vk_gfxstream.xml cereal -o
21 // ../../../../../hardware/google/gfxstream/host/vulkan/cereal
22 //
23 // Please do not modify directly;
24 // re-run mesa3d/src/gfxstream/codegen/generate-gfxstream-vulkan.sh,
25 // or directly from Python by defining:
26 // VULKAN_REGISTRY_XML_DIR : Directory containing vk.xml
27 // VULKAN_REGISTRY_SCRIPTS_DIR : Directory containing genvk.py
28 // CEREAL_OUTPUT_DIR: Where to put the generated sources.
29 //
30 // python3 $VULKAN_REGISTRY_SCRIPTS_DIR/genvk.py -registry $VULKAN_REGISTRY_XML_DIR/vk.xml cereal -o
31 // $CEREAL_OUTPUT_DIR
32 //
33
34 #include "goldfish_vk_dispatch.h"
35
36 #include <stdio.h>
37 #include <stdlib.h>
38 #include <string.h>
39
40 namespace gfxstream {
41 namespace vk {
42
init_vulkan_dispatch_from_system_loader(DlOpenFunc dlOpenFunc,DlSymFunc dlSymFunc,VulkanDispatch * out)43 void init_vulkan_dispatch_from_system_loader(DlOpenFunc dlOpenFunc, DlSymFunc dlSymFunc,
44 VulkanDispatch* out) {
45 memset(out, 0x0, sizeof(VulkanDispatch));
46 void* lib = dlOpenFunc();
47 if (!lib) return;
48 #ifdef VK_VERSION_1_0
49 out->vkDestroyInstance = (PFN_vkDestroyInstance)dlSymFunc(lib, "vkDestroyInstance");
50 out->vkEnumeratePhysicalDevices =
51 (PFN_vkEnumeratePhysicalDevices)dlSymFunc(lib, "vkEnumeratePhysicalDevices");
52 out->vkGetPhysicalDeviceFeatures =
53 (PFN_vkGetPhysicalDeviceFeatures)dlSymFunc(lib, "vkGetPhysicalDeviceFeatures");
54 out->vkGetPhysicalDeviceFormatProperties = (PFN_vkGetPhysicalDeviceFormatProperties)dlSymFunc(
55 lib, "vkGetPhysicalDeviceFormatProperties");
56 out->vkGetPhysicalDeviceImageFormatProperties =
57 (PFN_vkGetPhysicalDeviceImageFormatProperties)dlSymFunc(
58 lib, "vkGetPhysicalDeviceImageFormatProperties");
59 out->vkGetPhysicalDeviceProperties =
60 (PFN_vkGetPhysicalDeviceProperties)dlSymFunc(lib, "vkGetPhysicalDeviceProperties");
61 out->vkGetPhysicalDeviceQueueFamilyProperties =
62 (PFN_vkGetPhysicalDeviceQueueFamilyProperties)dlSymFunc(
63 lib, "vkGetPhysicalDeviceQueueFamilyProperties");
64 out->vkGetPhysicalDeviceMemoryProperties = (PFN_vkGetPhysicalDeviceMemoryProperties)dlSymFunc(
65 lib, "vkGetPhysicalDeviceMemoryProperties");
66 out->vkGetInstanceProcAddr = (PFN_vkGetInstanceProcAddr)dlSymFunc(lib, "vkGetInstanceProcAddr");
67 out->vkCreateDevice = (PFN_vkCreateDevice)dlSymFunc(lib, "vkCreateDevice");
68 out->vkDestroyDevice = (PFN_vkDestroyDevice)dlSymFunc(lib, "vkDestroyDevice");
69 out->vkEnumerateDeviceExtensionProperties = (PFN_vkEnumerateDeviceExtensionProperties)dlSymFunc(
70 lib, "vkEnumerateDeviceExtensionProperties");
71 out->vkEnumerateDeviceLayerProperties =
72 (PFN_vkEnumerateDeviceLayerProperties)dlSymFunc(lib, "vkEnumerateDeviceLayerProperties");
73 out->vkCreateInstance = (PFN_vkCreateInstance)dlSymFunc(lib, "vkCreateInstance");
74 out->vkEnumerateInstanceExtensionProperties =
75 (PFN_vkEnumerateInstanceExtensionProperties)dlSymFunc(
76 lib, "vkEnumerateInstanceExtensionProperties");
77 out->vkEnumerateInstanceLayerProperties = (PFN_vkEnumerateInstanceLayerProperties)dlSymFunc(
78 lib, "vkEnumerateInstanceLayerProperties");
79 out->vkGetDeviceProcAddr = (PFN_vkGetDeviceProcAddr)dlSymFunc(lib, "vkGetDeviceProcAddr");
80 out->vkGetPhysicalDeviceSparseImageFormatProperties =
81 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)dlSymFunc(
82 lib, "vkGetPhysicalDeviceSparseImageFormatProperties");
83 #endif
84 #ifdef VK_VERSION_1_1
85 out->vkEnumerateInstanceVersion =
86 (PFN_vkEnumerateInstanceVersion)dlSymFunc(lib, "vkEnumerateInstanceVersion");
87 out->vkEnumeratePhysicalDeviceGroups =
88 (PFN_vkEnumeratePhysicalDeviceGroups)dlSymFunc(lib, "vkEnumeratePhysicalDeviceGroups");
89 out->vkGetPhysicalDeviceFeatures2 =
90 (PFN_vkGetPhysicalDeviceFeatures2)dlSymFunc(lib, "vkGetPhysicalDeviceFeatures2");
91 out->vkGetPhysicalDeviceProperties2 =
92 (PFN_vkGetPhysicalDeviceProperties2)dlSymFunc(lib, "vkGetPhysicalDeviceProperties2");
93 out->vkGetPhysicalDeviceFormatProperties2 = (PFN_vkGetPhysicalDeviceFormatProperties2)dlSymFunc(
94 lib, "vkGetPhysicalDeviceFormatProperties2");
95 out->vkGetPhysicalDeviceImageFormatProperties2 =
96 (PFN_vkGetPhysicalDeviceImageFormatProperties2)dlSymFunc(
97 lib, "vkGetPhysicalDeviceImageFormatProperties2");
98 out->vkGetPhysicalDeviceQueueFamilyProperties2 =
99 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)dlSymFunc(
100 lib, "vkGetPhysicalDeviceQueueFamilyProperties2");
101 out->vkGetPhysicalDeviceMemoryProperties2 = (PFN_vkGetPhysicalDeviceMemoryProperties2)dlSymFunc(
102 lib, "vkGetPhysicalDeviceMemoryProperties2");
103 out->vkGetPhysicalDeviceSparseImageFormatProperties2 =
104 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)dlSymFunc(
105 lib, "vkGetPhysicalDeviceSparseImageFormatProperties2");
106 out->vkGetPhysicalDeviceExternalBufferProperties =
107 (PFN_vkGetPhysicalDeviceExternalBufferProperties)dlSymFunc(
108 lib, "vkGetPhysicalDeviceExternalBufferProperties");
109 out->vkGetPhysicalDeviceExternalFenceProperties =
110 (PFN_vkGetPhysicalDeviceExternalFenceProperties)dlSymFunc(
111 lib, "vkGetPhysicalDeviceExternalFenceProperties");
112 out->vkGetPhysicalDeviceExternalSemaphoreProperties =
113 (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)dlSymFunc(
114 lib, "vkGetPhysicalDeviceExternalSemaphoreProperties");
115 #endif
116 #ifdef VK_KHR_surface
117 out->vkDestroySurfaceKHR = (PFN_vkDestroySurfaceKHR)dlSymFunc(lib, "vkDestroySurfaceKHR");
118 #endif
119 #ifdef VK_KHR_swapchain
120 out->vkCreateSwapchainKHR = (PFN_vkCreateSwapchainKHR)dlSymFunc(lib, "vkCreateSwapchainKHR");
121 out->vkDestroySwapchainKHR = (PFN_vkDestroySwapchainKHR)dlSymFunc(lib, "vkDestroySwapchainKHR");
122 out->vkGetSwapchainImagesKHR =
123 (PFN_vkGetSwapchainImagesKHR)dlSymFunc(lib, "vkGetSwapchainImagesKHR");
124 out->vkAcquireNextImageKHR = (PFN_vkAcquireNextImageKHR)dlSymFunc(lib, "vkAcquireNextImageKHR");
125 out->vkQueuePresentKHR = (PFN_vkQueuePresentKHR)dlSymFunc(lib, "vkQueuePresentKHR");
126 #endif
127 #ifdef VK_KHR_xcb_surface
128 out->vkCreateXcbSurfaceKHR = (PFN_vkCreateXcbSurfaceKHR)dlSymFunc(lib, "vkCreateXcbSurfaceKHR");
129 out->vkGetPhysicalDeviceXcbPresentationSupportKHR =
130 (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)dlSymFunc(
131 lib, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
132 #endif
133 #ifdef VK_KHR_win32_surface
134 out->vkCreateWin32SurfaceKHR =
135 (PFN_vkCreateWin32SurfaceKHR)dlSymFunc(lib, "vkCreateWin32SurfaceKHR");
136 out->vkGetPhysicalDeviceWin32PresentationSupportKHR =
137 (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)dlSymFunc(
138 lib, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
139 #endif
140 #ifdef VK_EXT_debug_report
141 out->vkCreateDebugReportCallbackEXT =
142 (PFN_vkCreateDebugReportCallbackEXT)dlSymFunc(lib, "vkCreateDebugReportCallbackEXT");
143 out->vkDestroyDebugReportCallbackEXT =
144 (PFN_vkDestroyDebugReportCallbackEXT)dlSymFunc(lib, "vkDestroyDebugReportCallbackEXT");
145 out->vkDebugReportMessageEXT =
146 (PFN_vkDebugReportMessageEXT)dlSymFunc(lib, "vkDebugReportMessageEXT");
147 #endif
148 #ifdef VK_EXT_debug_utils
149 out->vkCreateDebugUtilsMessengerEXT =
150 (PFN_vkCreateDebugUtilsMessengerEXT)dlSymFunc(lib, "vkCreateDebugUtilsMessengerEXT");
151 out->vkDestroyDebugUtilsMessengerEXT =
152 (PFN_vkDestroyDebugUtilsMessengerEXT)dlSymFunc(lib, "vkDestroyDebugUtilsMessengerEXT");
153 out->vkSubmitDebugUtilsMessageEXT =
154 (PFN_vkSubmitDebugUtilsMessageEXT)dlSymFunc(lib, "vkSubmitDebugUtilsMessageEXT");
155 #endif
156 #ifdef VK_EXT_metal_surface
157 out->vkCreateMetalSurfaceEXT =
158 (PFN_vkCreateMetalSurfaceEXT)dlSymFunc(lib, "vkCreateMetalSurfaceEXT");
159 #endif
160 #ifdef VK_VERSION_1_0
161 out->vkGetDeviceQueue = (PFN_vkGetDeviceQueue)dlSymFunc(lib, "vkGetDeviceQueue");
162 out->vkQueueSubmit = (PFN_vkQueueSubmit)dlSymFunc(lib, "vkQueueSubmit");
163 out->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)dlSymFunc(lib, "vkQueueWaitIdle");
164 out->vkDeviceWaitIdle = (PFN_vkDeviceWaitIdle)dlSymFunc(lib, "vkDeviceWaitIdle");
165 out->vkAllocateMemory = (PFN_vkAllocateMemory)dlSymFunc(lib, "vkAllocateMemory");
166 out->vkFreeMemory = (PFN_vkFreeMemory)dlSymFunc(lib, "vkFreeMemory");
167 out->vkMapMemory = (PFN_vkMapMemory)dlSymFunc(lib, "vkMapMemory");
168 out->vkUnmapMemory = (PFN_vkUnmapMemory)dlSymFunc(lib, "vkUnmapMemory");
169 out->vkFlushMappedMemoryRanges =
170 (PFN_vkFlushMappedMemoryRanges)dlSymFunc(lib, "vkFlushMappedMemoryRanges");
171 out->vkInvalidateMappedMemoryRanges =
172 (PFN_vkInvalidateMappedMemoryRanges)dlSymFunc(lib, "vkInvalidateMappedMemoryRanges");
173 out->vkGetDeviceMemoryCommitment =
174 (PFN_vkGetDeviceMemoryCommitment)dlSymFunc(lib, "vkGetDeviceMemoryCommitment");
175 out->vkBindBufferMemory = (PFN_vkBindBufferMemory)dlSymFunc(lib, "vkBindBufferMemory");
176 out->vkBindImageMemory = (PFN_vkBindImageMemory)dlSymFunc(lib, "vkBindImageMemory");
177 out->vkGetBufferMemoryRequirements =
178 (PFN_vkGetBufferMemoryRequirements)dlSymFunc(lib, "vkGetBufferMemoryRequirements");
179 out->vkGetImageMemoryRequirements =
180 (PFN_vkGetImageMemoryRequirements)dlSymFunc(lib, "vkGetImageMemoryRequirements");
181 out->vkGetImageSparseMemoryRequirements = (PFN_vkGetImageSparseMemoryRequirements)dlSymFunc(
182 lib, "vkGetImageSparseMemoryRequirements");
183 out->vkQueueBindSparse = (PFN_vkQueueBindSparse)dlSymFunc(lib, "vkQueueBindSparse");
184 out->vkCreateFence = (PFN_vkCreateFence)dlSymFunc(lib, "vkCreateFence");
185 out->vkDestroyFence = (PFN_vkDestroyFence)dlSymFunc(lib, "vkDestroyFence");
186 out->vkResetFences = (PFN_vkResetFences)dlSymFunc(lib, "vkResetFences");
187 out->vkGetFenceStatus = (PFN_vkGetFenceStatus)dlSymFunc(lib, "vkGetFenceStatus");
188 out->vkWaitForFences = (PFN_vkWaitForFences)dlSymFunc(lib, "vkWaitForFences");
189 out->vkCreateSemaphore = (PFN_vkCreateSemaphore)dlSymFunc(lib, "vkCreateSemaphore");
190 out->vkDestroySemaphore = (PFN_vkDestroySemaphore)dlSymFunc(lib, "vkDestroySemaphore");
191 out->vkCreateEvent = (PFN_vkCreateEvent)dlSymFunc(lib, "vkCreateEvent");
192 out->vkDestroyEvent = (PFN_vkDestroyEvent)dlSymFunc(lib, "vkDestroyEvent");
193 out->vkGetEventStatus = (PFN_vkGetEventStatus)dlSymFunc(lib, "vkGetEventStatus");
194 out->vkSetEvent = (PFN_vkSetEvent)dlSymFunc(lib, "vkSetEvent");
195 out->vkResetEvent = (PFN_vkResetEvent)dlSymFunc(lib, "vkResetEvent");
196 out->vkCreateQueryPool = (PFN_vkCreateQueryPool)dlSymFunc(lib, "vkCreateQueryPool");
197 out->vkDestroyQueryPool = (PFN_vkDestroyQueryPool)dlSymFunc(lib, "vkDestroyQueryPool");
198 out->vkGetQueryPoolResults = (PFN_vkGetQueryPoolResults)dlSymFunc(lib, "vkGetQueryPoolResults");
199 out->vkCreateBuffer = (PFN_vkCreateBuffer)dlSymFunc(lib, "vkCreateBuffer");
200 out->vkDestroyBuffer = (PFN_vkDestroyBuffer)dlSymFunc(lib, "vkDestroyBuffer");
201 out->vkCreateBufferView = (PFN_vkCreateBufferView)dlSymFunc(lib, "vkCreateBufferView");
202 out->vkDestroyBufferView = (PFN_vkDestroyBufferView)dlSymFunc(lib, "vkDestroyBufferView");
203 out->vkCreateImage = (PFN_vkCreateImage)dlSymFunc(lib, "vkCreateImage");
204 out->vkDestroyImage = (PFN_vkDestroyImage)dlSymFunc(lib, "vkDestroyImage");
205 out->vkGetImageSubresourceLayout =
206 (PFN_vkGetImageSubresourceLayout)dlSymFunc(lib, "vkGetImageSubresourceLayout");
207 out->vkCreateImageView = (PFN_vkCreateImageView)dlSymFunc(lib, "vkCreateImageView");
208 out->vkDestroyImageView = (PFN_vkDestroyImageView)dlSymFunc(lib, "vkDestroyImageView");
209 out->vkCreateShaderModule = (PFN_vkCreateShaderModule)dlSymFunc(lib, "vkCreateShaderModule");
210 out->vkDestroyShaderModule = (PFN_vkDestroyShaderModule)dlSymFunc(lib, "vkDestroyShaderModule");
211 out->vkCreatePipelineCache = (PFN_vkCreatePipelineCache)dlSymFunc(lib, "vkCreatePipelineCache");
212 out->vkDestroyPipelineCache =
213 (PFN_vkDestroyPipelineCache)dlSymFunc(lib, "vkDestroyPipelineCache");
214 out->vkGetPipelineCacheData =
215 (PFN_vkGetPipelineCacheData)dlSymFunc(lib, "vkGetPipelineCacheData");
216 out->vkMergePipelineCaches = (PFN_vkMergePipelineCaches)dlSymFunc(lib, "vkMergePipelineCaches");
217 out->vkCreateGraphicsPipelines =
218 (PFN_vkCreateGraphicsPipelines)dlSymFunc(lib, "vkCreateGraphicsPipelines");
219 out->vkCreateComputePipelines =
220 (PFN_vkCreateComputePipelines)dlSymFunc(lib, "vkCreateComputePipelines");
221 out->vkDestroyPipeline = (PFN_vkDestroyPipeline)dlSymFunc(lib, "vkDestroyPipeline");
222 out->vkCreatePipelineLayout =
223 (PFN_vkCreatePipelineLayout)dlSymFunc(lib, "vkCreatePipelineLayout");
224 out->vkDestroyPipelineLayout =
225 (PFN_vkDestroyPipelineLayout)dlSymFunc(lib, "vkDestroyPipelineLayout");
226 out->vkCreateSampler = (PFN_vkCreateSampler)dlSymFunc(lib, "vkCreateSampler");
227 out->vkDestroySampler = (PFN_vkDestroySampler)dlSymFunc(lib, "vkDestroySampler");
228 out->vkCreateDescriptorSetLayout =
229 (PFN_vkCreateDescriptorSetLayout)dlSymFunc(lib, "vkCreateDescriptorSetLayout");
230 out->vkDestroyDescriptorSetLayout =
231 (PFN_vkDestroyDescriptorSetLayout)dlSymFunc(lib, "vkDestroyDescriptorSetLayout");
232 out->vkCreateDescriptorPool =
233 (PFN_vkCreateDescriptorPool)dlSymFunc(lib, "vkCreateDescriptorPool");
234 out->vkDestroyDescriptorPool =
235 (PFN_vkDestroyDescriptorPool)dlSymFunc(lib, "vkDestroyDescriptorPool");
236 out->vkResetDescriptorPool = (PFN_vkResetDescriptorPool)dlSymFunc(lib, "vkResetDescriptorPool");
237 out->vkAllocateDescriptorSets =
238 (PFN_vkAllocateDescriptorSets)dlSymFunc(lib, "vkAllocateDescriptorSets");
239 out->vkFreeDescriptorSets = (PFN_vkFreeDescriptorSets)dlSymFunc(lib, "vkFreeDescriptorSets");
240 out->vkUpdateDescriptorSets =
241 (PFN_vkUpdateDescriptorSets)dlSymFunc(lib, "vkUpdateDescriptorSets");
242 out->vkCreateFramebuffer = (PFN_vkCreateFramebuffer)dlSymFunc(lib, "vkCreateFramebuffer");
243 out->vkDestroyFramebuffer = (PFN_vkDestroyFramebuffer)dlSymFunc(lib, "vkDestroyFramebuffer");
244 out->vkCreateRenderPass = (PFN_vkCreateRenderPass)dlSymFunc(lib, "vkCreateRenderPass");
245 out->vkDestroyRenderPass = (PFN_vkDestroyRenderPass)dlSymFunc(lib, "vkDestroyRenderPass");
246 out->vkGetRenderAreaGranularity =
247 (PFN_vkGetRenderAreaGranularity)dlSymFunc(lib, "vkGetRenderAreaGranularity");
248 out->vkCreateCommandPool = (PFN_vkCreateCommandPool)dlSymFunc(lib, "vkCreateCommandPool");
249 out->vkDestroyCommandPool = (PFN_vkDestroyCommandPool)dlSymFunc(lib, "vkDestroyCommandPool");
250 out->vkResetCommandPool = (PFN_vkResetCommandPool)dlSymFunc(lib, "vkResetCommandPool");
251 out->vkAllocateCommandBuffers =
252 (PFN_vkAllocateCommandBuffers)dlSymFunc(lib, "vkAllocateCommandBuffers");
253 out->vkFreeCommandBuffers = (PFN_vkFreeCommandBuffers)dlSymFunc(lib, "vkFreeCommandBuffers");
254 out->vkBeginCommandBuffer = (PFN_vkBeginCommandBuffer)dlSymFunc(lib, "vkBeginCommandBuffer");
255 out->vkEndCommandBuffer = (PFN_vkEndCommandBuffer)dlSymFunc(lib, "vkEndCommandBuffer");
256 out->vkResetCommandBuffer = (PFN_vkResetCommandBuffer)dlSymFunc(lib, "vkResetCommandBuffer");
257 out->vkCmdBindPipeline = (PFN_vkCmdBindPipeline)dlSymFunc(lib, "vkCmdBindPipeline");
258 out->vkCmdSetViewport = (PFN_vkCmdSetViewport)dlSymFunc(lib, "vkCmdSetViewport");
259 out->vkCmdSetScissor = (PFN_vkCmdSetScissor)dlSymFunc(lib, "vkCmdSetScissor");
260 out->vkCmdSetLineWidth = (PFN_vkCmdSetLineWidth)dlSymFunc(lib, "vkCmdSetLineWidth");
261 out->vkCmdSetDepthBias = (PFN_vkCmdSetDepthBias)dlSymFunc(lib, "vkCmdSetDepthBias");
262 out->vkCmdSetBlendConstants =
263 (PFN_vkCmdSetBlendConstants)dlSymFunc(lib, "vkCmdSetBlendConstants");
264 out->vkCmdSetDepthBounds = (PFN_vkCmdSetDepthBounds)dlSymFunc(lib, "vkCmdSetDepthBounds");
265 out->vkCmdSetStencilCompareMask =
266 (PFN_vkCmdSetStencilCompareMask)dlSymFunc(lib, "vkCmdSetStencilCompareMask");
267 out->vkCmdSetStencilWriteMask =
268 (PFN_vkCmdSetStencilWriteMask)dlSymFunc(lib, "vkCmdSetStencilWriteMask");
269 out->vkCmdSetStencilReference =
270 (PFN_vkCmdSetStencilReference)dlSymFunc(lib, "vkCmdSetStencilReference");
271 out->vkCmdBindDescriptorSets =
272 (PFN_vkCmdBindDescriptorSets)dlSymFunc(lib, "vkCmdBindDescriptorSets");
273 out->vkCmdBindIndexBuffer = (PFN_vkCmdBindIndexBuffer)dlSymFunc(lib, "vkCmdBindIndexBuffer");
274 out->vkCmdBindVertexBuffers =
275 (PFN_vkCmdBindVertexBuffers)dlSymFunc(lib, "vkCmdBindVertexBuffers");
276 out->vkCmdDraw = (PFN_vkCmdDraw)dlSymFunc(lib, "vkCmdDraw");
277 out->vkCmdDrawIndexed = (PFN_vkCmdDrawIndexed)dlSymFunc(lib, "vkCmdDrawIndexed");
278 out->vkCmdDrawIndirect = (PFN_vkCmdDrawIndirect)dlSymFunc(lib, "vkCmdDrawIndirect");
279 out->vkCmdDrawIndexedIndirect =
280 (PFN_vkCmdDrawIndexedIndirect)dlSymFunc(lib, "vkCmdDrawIndexedIndirect");
281 out->vkCmdDispatch = (PFN_vkCmdDispatch)dlSymFunc(lib, "vkCmdDispatch");
282 out->vkCmdDispatchIndirect = (PFN_vkCmdDispatchIndirect)dlSymFunc(lib, "vkCmdDispatchIndirect");
283 out->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)dlSymFunc(lib, "vkCmdCopyBuffer");
284 out->vkCmdCopyImage = (PFN_vkCmdCopyImage)dlSymFunc(lib, "vkCmdCopyImage");
285 out->vkCmdBlitImage = (PFN_vkCmdBlitImage)dlSymFunc(lib, "vkCmdBlitImage");
286 out->vkCmdCopyBufferToImage =
287 (PFN_vkCmdCopyBufferToImage)dlSymFunc(lib, "vkCmdCopyBufferToImage");
288 out->vkCmdCopyImageToBuffer =
289 (PFN_vkCmdCopyImageToBuffer)dlSymFunc(lib, "vkCmdCopyImageToBuffer");
290 out->vkCmdUpdateBuffer = (PFN_vkCmdUpdateBuffer)dlSymFunc(lib, "vkCmdUpdateBuffer");
291 out->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)dlSymFunc(lib, "vkCmdFillBuffer");
292 out->vkCmdClearColorImage = (PFN_vkCmdClearColorImage)dlSymFunc(lib, "vkCmdClearColorImage");
293 out->vkCmdClearDepthStencilImage =
294 (PFN_vkCmdClearDepthStencilImage)dlSymFunc(lib, "vkCmdClearDepthStencilImage");
295 out->vkCmdClearAttachments = (PFN_vkCmdClearAttachments)dlSymFunc(lib, "vkCmdClearAttachments");
296 out->vkCmdResolveImage = (PFN_vkCmdResolveImage)dlSymFunc(lib, "vkCmdResolveImage");
297 out->vkCmdSetEvent = (PFN_vkCmdSetEvent)dlSymFunc(lib, "vkCmdSetEvent");
298 out->vkCmdResetEvent = (PFN_vkCmdResetEvent)dlSymFunc(lib, "vkCmdResetEvent");
299 out->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)dlSymFunc(lib, "vkCmdWaitEvents");
300 out->vkCmdPipelineBarrier = (PFN_vkCmdPipelineBarrier)dlSymFunc(lib, "vkCmdPipelineBarrier");
301 out->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)dlSymFunc(lib, "vkCmdBeginQuery");
302 out->vkCmdEndQuery = (PFN_vkCmdEndQuery)dlSymFunc(lib, "vkCmdEndQuery");
303 out->vkCmdResetQueryPool = (PFN_vkCmdResetQueryPool)dlSymFunc(lib, "vkCmdResetQueryPool");
304 out->vkCmdWriteTimestamp = (PFN_vkCmdWriteTimestamp)dlSymFunc(lib, "vkCmdWriteTimestamp");
305 out->vkCmdCopyQueryPoolResults =
306 (PFN_vkCmdCopyQueryPoolResults)dlSymFunc(lib, "vkCmdCopyQueryPoolResults");
307 out->vkCmdPushConstants = (PFN_vkCmdPushConstants)dlSymFunc(lib, "vkCmdPushConstants");
308 out->vkCmdBeginRenderPass = (PFN_vkCmdBeginRenderPass)dlSymFunc(lib, "vkCmdBeginRenderPass");
309 out->vkCmdNextSubpass = (PFN_vkCmdNextSubpass)dlSymFunc(lib, "vkCmdNextSubpass");
310 out->vkCmdEndRenderPass = (PFN_vkCmdEndRenderPass)dlSymFunc(lib, "vkCmdEndRenderPass");
311 out->vkCmdExecuteCommands = (PFN_vkCmdExecuteCommands)dlSymFunc(lib, "vkCmdExecuteCommands");
312 #endif
313 #ifdef VK_VERSION_1_1
314 out->vkBindBufferMemory2 = (PFN_vkBindBufferMemory2)dlSymFunc(lib, "vkBindBufferMemory2");
315 out->vkBindImageMemory2 = (PFN_vkBindImageMemory2)dlSymFunc(lib, "vkBindImageMemory2");
316 out->vkGetDeviceGroupPeerMemoryFeatures = (PFN_vkGetDeviceGroupPeerMemoryFeatures)dlSymFunc(
317 lib, "vkGetDeviceGroupPeerMemoryFeatures");
318 out->vkCmdSetDeviceMask = (PFN_vkCmdSetDeviceMask)dlSymFunc(lib, "vkCmdSetDeviceMask");
319 out->vkCmdDispatchBase = (PFN_vkCmdDispatchBase)dlSymFunc(lib, "vkCmdDispatchBase");
320 out->vkGetImageMemoryRequirements2 =
321 (PFN_vkGetImageMemoryRequirements2)dlSymFunc(lib, "vkGetImageMemoryRequirements2");
322 out->vkGetBufferMemoryRequirements2 =
323 (PFN_vkGetBufferMemoryRequirements2)dlSymFunc(lib, "vkGetBufferMemoryRequirements2");
324 out->vkGetImageSparseMemoryRequirements2 = (PFN_vkGetImageSparseMemoryRequirements2)dlSymFunc(
325 lib, "vkGetImageSparseMemoryRequirements2");
326 out->vkTrimCommandPool = (PFN_vkTrimCommandPool)dlSymFunc(lib, "vkTrimCommandPool");
327 out->vkGetDeviceQueue2 = (PFN_vkGetDeviceQueue2)dlSymFunc(lib, "vkGetDeviceQueue2");
328 out->vkCreateSamplerYcbcrConversion =
329 (PFN_vkCreateSamplerYcbcrConversion)dlSymFunc(lib, "vkCreateSamplerYcbcrConversion");
330 out->vkDestroySamplerYcbcrConversion =
331 (PFN_vkDestroySamplerYcbcrConversion)dlSymFunc(lib, "vkDestroySamplerYcbcrConversion");
332 out->vkCreateDescriptorUpdateTemplate =
333 (PFN_vkCreateDescriptorUpdateTemplate)dlSymFunc(lib, "vkCreateDescriptorUpdateTemplate");
334 out->vkDestroyDescriptorUpdateTemplate =
335 (PFN_vkDestroyDescriptorUpdateTemplate)dlSymFunc(lib, "vkDestroyDescriptorUpdateTemplate");
336 out->vkUpdateDescriptorSetWithTemplate =
337 (PFN_vkUpdateDescriptorSetWithTemplate)dlSymFunc(lib, "vkUpdateDescriptorSetWithTemplate");
338 out->vkGetDescriptorSetLayoutSupport =
339 (PFN_vkGetDescriptorSetLayoutSupport)dlSymFunc(lib, "vkGetDescriptorSetLayoutSupport");
340 #endif
341 #ifdef VK_VERSION_1_2
342 out->vkCmdDrawIndirectCount =
343 (PFN_vkCmdDrawIndirectCount)dlSymFunc(lib, "vkCmdDrawIndirectCount");
344 out->vkCmdDrawIndexedIndirectCount =
345 (PFN_vkCmdDrawIndexedIndirectCount)dlSymFunc(lib, "vkCmdDrawIndexedIndirectCount");
346 out->vkCreateRenderPass2 = (PFN_vkCreateRenderPass2)dlSymFunc(lib, "vkCreateRenderPass2");
347 out->vkCmdBeginRenderPass2 = (PFN_vkCmdBeginRenderPass2)dlSymFunc(lib, "vkCmdBeginRenderPass2");
348 out->vkCmdNextSubpass2 = (PFN_vkCmdNextSubpass2)dlSymFunc(lib, "vkCmdNextSubpass2");
349 out->vkCmdEndRenderPass2 = (PFN_vkCmdEndRenderPass2)dlSymFunc(lib, "vkCmdEndRenderPass2");
350 out->vkResetQueryPool = (PFN_vkResetQueryPool)dlSymFunc(lib, "vkResetQueryPool");
351 out->vkGetSemaphoreCounterValue =
352 (PFN_vkGetSemaphoreCounterValue)dlSymFunc(lib, "vkGetSemaphoreCounterValue");
353 out->vkWaitSemaphores = (PFN_vkWaitSemaphores)dlSymFunc(lib, "vkWaitSemaphores");
354 out->vkSignalSemaphore = (PFN_vkSignalSemaphore)dlSymFunc(lib, "vkSignalSemaphore");
355 out->vkGetBufferDeviceAddress =
356 (PFN_vkGetBufferDeviceAddress)dlSymFunc(lib, "vkGetBufferDeviceAddress");
357 out->vkGetBufferOpaqueCaptureAddress =
358 (PFN_vkGetBufferOpaqueCaptureAddress)dlSymFunc(lib, "vkGetBufferOpaqueCaptureAddress");
359 out->vkGetDeviceMemoryOpaqueCaptureAddress =
360 (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)dlSymFunc(
361 lib, "vkGetDeviceMemoryOpaqueCaptureAddress");
362 #endif
363 #ifdef VK_VERSION_1_3
364 out->vkGetPhysicalDeviceToolProperties =
365 (PFN_vkGetPhysicalDeviceToolProperties)dlSymFunc(lib, "vkGetPhysicalDeviceToolProperties");
366 out->vkCreatePrivateDataSlot =
367 (PFN_vkCreatePrivateDataSlot)dlSymFunc(lib, "vkCreatePrivateDataSlot");
368 out->vkDestroyPrivateDataSlot =
369 (PFN_vkDestroyPrivateDataSlot)dlSymFunc(lib, "vkDestroyPrivateDataSlot");
370 out->vkSetPrivateData = (PFN_vkSetPrivateData)dlSymFunc(lib, "vkSetPrivateData");
371 out->vkGetPrivateData = (PFN_vkGetPrivateData)dlSymFunc(lib, "vkGetPrivateData");
372 out->vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)dlSymFunc(lib, "vkCmdSetEvent2");
373 out->vkCmdResetEvent2 = (PFN_vkCmdResetEvent2)dlSymFunc(lib, "vkCmdResetEvent2");
374 out->vkCmdWaitEvents2 = (PFN_vkCmdWaitEvents2)dlSymFunc(lib, "vkCmdWaitEvents2");
375 out->vkCmdPipelineBarrier2 = (PFN_vkCmdPipelineBarrier2)dlSymFunc(lib, "vkCmdPipelineBarrier2");
376 out->vkCmdWriteTimestamp2 = (PFN_vkCmdWriteTimestamp2)dlSymFunc(lib, "vkCmdWriteTimestamp2");
377 out->vkQueueSubmit2 = (PFN_vkQueueSubmit2)dlSymFunc(lib, "vkQueueSubmit2");
378 out->vkCmdCopyBuffer2 = (PFN_vkCmdCopyBuffer2)dlSymFunc(lib, "vkCmdCopyBuffer2");
379 out->vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)dlSymFunc(lib, "vkCmdCopyImage2");
380 out->vkCmdCopyBufferToImage2 =
381 (PFN_vkCmdCopyBufferToImage2)dlSymFunc(lib, "vkCmdCopyBufferToImage2");
382 out->vkCmdCopyImageToBuffer2 =
383 (PFN_vkCmdCopyImageToBuffer2)dlSymFunc(lib, "vkCmdCopyImageToBuffer2");
384 out->vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)dlSymFunc(lib, "vkCmdBlitImage2");
385 out->vkCmdResolveImage2 = (PFN_vkCmdResolveImage2)dlSymFunc(lib, "vkCmdResolveImage2");
386 out->vkCmdBeginRendering = (PFN_vkCmdBeginRendering)dlSymFunc(lib, "vkCmdBeginRendering");
387 out->vkCmdEndRendering = (PFN_vkCmdEndRendering)dlSymFunc(lib, "vkCmdEndRendering");
388 out->vkCmdSetCullMode = (PFN_vkCmdSetCullMode)dlSymFunc(lib, "vkCmdSetCullMode");
389 out->vkCmdSetFrontFace = (PFN_vkCmdSetFrontFace)dlSymFunc(lib, "vkCmdSetFrontFace");
390 out->vkCmdSetPrimitiveTopology =
391 (PFN_vkCmdSetPrimitiveTopology)dlSymFunc(lib, "vkCmdSetPrimitiveTopology");
392 out->vkCmdSetViewportWithCount =
393 (PFN_vkCmdSetViewportWithCount)dlSymFunc(lib, "vkCmdSetViewportWithCount");
394 out->vkCmdSetScissorWithCount =
395 (PFN_vkCmdSetScissorWithCount)dlSymFunc(lib, "vkCmdSetScissorWithCount");
396 out->vkCmdBindVertexBuffers2 =
397 (PFN_vkCmdBindVertexBuffers2)dlSymFunc(lib, "vkCmdBindVertexBuffers2");
398 out->vkCmdSetDepthTestEnable =
399 (PFN_vkCmdSetDepthTestEnable)dlSymFunc(lib, "vkCmdSetDepthTestEnable");
400 out->vkCmdSetDepthWriteEnable =
401 (PFN_vkCmdSetDepthWriteEnable)dlSymFunc(lib, "vkCmdSetDepthWriteEnable");
402 out->vkCmdSetDepthCompareOp =
403 (PFN_vkCmdSetDepthCompareOp)dlSymFunc(lib, "vkCmdSetDepthCompareOp");
404 out->vkCmdSetDepthBoundsTestEnable =
405 (PFN_vkCmdSetDepthBoundsTestEnable)dlSymFunc(lib, "vkCmdSetDepthBoundsTestEnable");
406 out->vkCmdSetStencilTestEnable =
407 (PFN_vkCmdSetStencilTestEnable)dlSymFunc(lib, "vkCmdSetStencilTestEnable");
408 out->vkCmdSetStencilOp = (PFN_vkCmdSetStencilOp)dlSymFunc(lib, "vkCmdSetStencilOp");
409 out->vkCmdSetRasterizerDiscardEnable =
410 (PFN_vkCmdSetRasterizerDiscardEnable)dlSymFunc(lib, "vkCmdSetRasterizerDiscardEnable");
411 out->vkCmdSetDepthBiasEnable =
412 (PFN_vkCmdSetDepthBiasEnable)dlSymFunc(lib, "vkCmdSetDepthBiasEnable");
413 out->vkCmdSetPrimitiveRestartEnable =
414 (PFN_vkCmdSetPrimitiveRestartEnable)dlSymFunc(lib, "vkCmdSetPrimitiveRestartEnable");
415 out->vkGetDeviceBufferMemoryRequirements = (PFN_vkGetDeviceBufferMemoryRequirements)dlSymFunc(
416 lib, "vkGetDeviceBufferMemoryRequirements");
417 out->vkGetDeviceImageMemoryRequirements = (PFN_vkGetDeviceImageMemoryRequirements)dlSymFunc(
418 lib, "vkGetDeviceImageMemoryRequirements");
419 out->vkGetDeviceImageSparseMemoryRequirements =
420 (PFN_vkGetDeviceImageSparseMemoryRequirements)dlSymFunc(
421 lib, "vkGetDeviceImageSparseMemoryRequirements");
422 #endif
423 #ifdef VK_KHR_surface
424 out->vkGetPhysicalDeviceSurfaceSupportKHR = (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)dlSymFunc(
425 lib, "vkGetPhysicalDeviceSurfaceSupportKHR");
426 out->vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
427 (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)dlSymFunc(
428 lib, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
429 out->vkGetPhysicalDeviceSurfaceFormatsKHR = (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)dlSymFunc(
430 lib, "vkGetPhysicalDeviceSurfaceFormatsKHR");
431 out->vkGetPhysicalDeviceSurfacePresentModesKHR =
432 (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)dlSymFunc(
433 lib, "vkGetPhysicalDeviceSurfacePresentModesKHR");
434 #endif
435 #ifdef VK_KHR_swapchain
436 out->vkGetDeviceGroupPresentCapabilitiesKHR =
437 (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)dlSymFunc(
438 lib, "vkGetDeviceGroupPresentCapabilitiesKHR");
439 out->vkGetDeviceGroupSurfacePresentModesKHR =
440 (PFN_vkGetDeviceGroupSurfacePresentModesKHR)dlSymFunc(
441 lib, "vkGetDeviceGroupSurfacePresentModesKHR");
442 out->vkGetPhysicalDevicePresentRectanglesKHR =
443 (PFN_vkGetPhysicalDevicePresentRectanglesKHR)dlSymFunc(
444 lib, "vkGetPhysicalDevicePresentRectanglesKHR");
445 out->vkAcquireNextImage2KHR =
446 (PFN_vkAcquireNextImage2KHR)dlSymFunc(lib, "vkAcquireNextImage2KHR");
447 #endif
448 #ifdef VK_KHR_dynamic_rendering
449 out->vkCmdBeginRenderingKHR =
450 (PFN_vkCmdBeginRenderingKHR)dlSymFunc(lib, "vkCmdBeginRenderingKHR");
451 out->vkCmdEndRenderingKHR = (PFN_vkCmdEndRenderingKHR)dlSymFunc(lib, "vkCmdEndRenderingKHR");
452 #endif
453 #ifdef VK_KHR_get_physical_device_properties2
454 out->vkGetPhysicalDeviceFeatures2KHR =
455 (PFN_vkGetPhysicalDeviceFeatures2KHR)dlSymFunc(lib, "vkGetPhysicalDeviceFeatures2KHR");
456 out->vkGetPhysicalDeviceProperties2KHR =
457 (PFN_vkGetPhysicalDeviceProperties2KHR)dlSymFunc(lib, "vkGetPhysicalDeviceProperties2KHR");
458 out->vkGetPhysicalDeviceFormatProperties2KHR =
459 (PFN_vkGetPhysicalDeviceFormatProperties2KHR)dlSymFunc(
460 lib, "vkGetPhysicalDeviceFormatProperties2KHR");
461 out->vkGetPhysicalDeviceImageFormatProperties2KHR =
462 (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)dlSymFunc(
463 lib, "vkGetPhysicalDeviceImageFormatProperties2KHR");
464 out->vkGetPhysicalDeviceQueueFamilyProperties2KHR =
465 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)dlSymFunc(
466 lib, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
467 out->vkGetPhysicalDeviceMemoryProperties2KHR =
468 (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)dlSymFunc(
469 lib, "vkGetPhysicalDeviceMemoryProperties2KHR");
470 out->vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
471 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)dlSymFunc(
472 lib, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
473 #endif
474 #ifdef VK_KHR_maintenance1
475 out->vkTrimCommandPoolKHR = (PFN_vkTrimCommandPoolKHR)dlSymFunc(lib, "vkTrimCommandPoolKHR");
476 #endif
477 #ifdef VK_KHR_external_memory_capabilities
478 out->vkGetPhysicalDeviceExternalBufferPropertiesKHR =
479 (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)dlSymFunc(
480 lib, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
481 #endif
482 #ifdef VK_KHR_external_memory_win32
483 out->vkGetMemoryWin32HandleKHR =
484 (PFN_vkGetMemoryWin32HandleKHR)dlSymFunc(lib, "vkGetMemoryWin32HandleKHR");
485 out->vkGetMemoryWin32HandlePropertiesKHR = (PFN_vkGetMemoryWin32HandlePropertiesKHR)dlSymFunc(
486 lib, "vkGetMemoryWin32HandlePropertiesKHR");
487 #endif
488 #ifdef VK_KHR_external_memory_fd
489 out->vkGetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)dlSymFunc(lib, "vkGetMemoryFdKHR");
490 out->vkGetMemoryFdPropertiesKHR =
491 (PFN_vkGetMemoryFdPropertiesKHR)dlSymFunc(lib, "vkGetMemoryFdPropertiesKHR");
492 #endif
493 #ifdef VK_KHR_external_semaphore_capabilities
494 out->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
495 (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)dlSymFunc(
496 lib, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
497 #endif
498 #ifdef VK_KHR_external_semaphore_win32
499 out->vkImportSemaphoreWin32HandleKHR =
500 (PFN_vkImportSemaphoreWin32HandleKHR)dlSymFunc(lib, "vkImportSemaphoreWin32HandleKHR");
501 out->vkGetSemaphoreWin32HandleKHR =
502 (PFN_vkGetSemaphoreWin32HandleKHR)dlSymFunc(lib, "vkGetSemaphoreWin32HandleKHR");
503 #endif
504 #ifdef VK_KHR_external_semaphore_fd
505 out->vkImportSemaphoreFdKHR =
506 (PFN_vkImportSemaphoreFdKHR)dlSymFunc(lib, "vkImportSemaphoreFdKHR");
507 out->vkGetSemaphoreFdKHR = (PFN_vkGetSemaphoreFdKHR)dlSymFunc(lib, "vkGetSemaphoreFdKHR");
508 #endif
509 #ifdef VK_KHR_descriptor_update_template
510 out->vkCreateDescriptorUpdateTemplateKHR = (PFN_vkCreateDescriptorUpdateTemplateKHR)dlSymFunc(
511 lib, "vkCreateDescriptorUpdateTemplateKHR");
512 out->vkDestroyDescriptorUpdateTemplateKHR = (PFN_vkDestroyDescriptorUpdateTemplateKHR)dlSymFunc(
513 lib, "vkDestroyDescriptorUpdateTemplateKHR");
514 out->vkUpdateDescriptorSetWithTemplateKHR = (PFN_vkUpdateDescriptorSetWithTemplateKHR)dlSymFunc(
515 lib, "vkUpdateDescriptorSetWithTemplateKHR");
516 #endif
517 #ifdef VK_KHR_create_renderpass2
518 out->vkCreateRenderPass2KHR =
519 (PFN_vkCreateRenderPass2KHR)dlSymFunc(lib, "vkCreateRenderPass2KHR");
520 out->vkCmdBeginRenderPass2KHR =
521 (PFN_vkCmdBeginRenderPass2KHR)dlSymFunc(lib, "vkCmdBeginRenderPass2KHR");
522 out->vkCmdNextSubpass2KHR = (PFN_vkCmdNextSubpass2KHR)dlSymFunc(lib, "vkCmdNextSubpass2KHR");
523 out->vkCmdEndRenderPass2KHR =
524 (PFN_vkCmdEndRenderPass2KHR)dlSymFunc(lib, "vkCmdEndRenderPass2KHR");
525 #endif
526 #ifdef VK_KHR_external_fence_capabilities
527 out->vkGetPhysicalDeviceExternalFencePropertiesKHR =
528 (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)dlSymFunc(
529 lib, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
530 #endif
531 #ifdef VK_KHR_external_fence_fd
532 out->vkImportFenceFdKHR = (PFN_vkImportFenceFdKHR)dlSymFunc(lib, "vkImportFenceFdKHR");
533 out->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)dlSymFunc(lib, "vkGetFenceFdKHR");
534 #endif
535 #ifdef VK_KHR_get_memory_requirements2
536 out->vkGetImageMemoryRequirements2KHR =
537 (PFN_vkGetImageMemoryRequirements2KHR)dlSymFunc(lib, "vkGetImageMemoryRequirements2KHR");
538 out->vkGetBufferMemoryRequirements2KHR =
539 (PFN_vkGetBufferMemoryRequirements2KHR)dlSymFunc(lib, "vkGetBufferMemoryRequirements2KHR");
540 out->vkGetImageSparseMemoryRequirements2KHR =
541 (PFN_vkGetImageSparseMemoryRequirements2KHR)dlSymFunc(
542 lib, "vkGetImageSparseMemoryRequirements2KHR");
543 #endif
544 #ifdef VK_KHR_sampler_ycbcr_conversion
545 out->vkCreateSamplerYcbcrConversionKHR =
546 (PFN_vkCreateSamplerYcbcrConversionKHR)dlSymFunc(lib, "vkCreateSamplerYcbcrConversionKHR");
547 out->vkDestroySamplerYcbcrConversionKHR = (PFN_vkDestroySamplerYcbcrConversionKHR)dlSymFunc(
548 lib, "vkDestroySamplerYcbcrConversionKHR");
549 #endif
550 #ifdef VK_KHR_bind_memory2
551 out->vkBindBufferMemory2KHR =
552 (PFN_vkBindBufferMemory2KHR)dlSymFunc(lib, "vkBindBufferMemory2KHR");
553 out->vkBindImageMemory2KHR = (PFN_vkBindImageMemory2KHR)dlSymFunc(lib, "vkBindImageMemory2KHR");
554 #endif
555 #ifdef VK_KHR_maintenance3
556 out->vkGetDescriptorSetLayoutSupportKHR = (PFN_vkGetDescriptorSetLayoutSupportKHR)dlSymFunc(
557 lib, "vkGetDescriptorSetLayoutSupportKHR");
558 #endif
559 #ifdef VK_KHR_buffer_device_address
560 out->vkGetBufferDeviceAddressKHR =
561 (PFN_vkGetBufferDeviceAddressKHR)dlSymFunc(lib, "vkGetBufferDeviceAddressKHR");
562 out->vkGetBufferOpaqueCaptureAddressKHR = (PFN_vkGetBufferOpaqueCaptureAddressKHR)dlSymFunc(
563 lib, "vkGetBufferOpaqueCaptureAddressKHR");
564 out->vkGetDeviceMemoryOpaqueCaptureAddressKHR =
565 (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)dlSymFunc(
566 lib, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
567 #endif
568 #ifdef VK_KHR_pipeline_executable_properties
569 out->vkGetPipelineExecutablePropertiesKHR = (PFN_vkGetPipelineExecutablePropertiesKHR)dlSymFunc(
570 lib, "vkGetPipelineExecutablePropertiesKHR");
571 out->vkGetPipelineExecutableStatisticsKHR = (PFN_vkGetPipelineExecutableStatisticsKHR)dlSymFunc(
572 lib, "vkGetPipelineExecutableStatisticsKHR");
573 out->vkGetPipelineExecutableInternalRepresentationsKHR =
574 (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)dlSymFunc(
575 lib, "vkGetPipelineExecutableInternalRepresentationsKHR");
576 #endif
577 #ifdef VK_KHR_synchronization2
578 out->vkCmdSetEvent2KHR = (PFN_vkCmdSetEvent2KHR)dlSymFunc(lib, "vkCmdSetEvent2KHR");
579 out->vkCmdResetEvent2KHR = (PFN_vkCmdResetEvent2KHR)dlSymFunc(lib, "vkCmdResetEvent2KHR");
580 out->vkCmdWaitEvents2KHR = (PFN_vkCmdWaitEvents2KHR)dlSymFunc(lib, "vkCmdWaitEvents2KHR");
581 out->vkCmdPipelineBarrier2KHR =
582 (PFN_vkCmdPipelineBarrier2KHR)dlSymFunc(lib, "vkCmdPipelineBarrier2KHR");
583 out->vkCmdWriteTimestamp2KHR =
584 (PFN_vkCmdWriteTimestamp2KHR)dlSymFunc(lib, "vkCmdWriteTimestamp2KHR");
585 out->vkQueueSubmit2KHR = (PFN_vkQueueSubmit2KHR)dlSymFunc(lib, "vkQueueSubmit2KHR");
586 out->vkCmdWriteBufferMarker2AMD =
587 (PFN_vkCmdWriteBufferMarker2AMD)dlSymFunc(lib, "vkCmdWriteBufferMarker2AMD");
588 out->vkGetQueueCheckpointData2NV =
589 (PFN_vkGetQueueCheckpointData2NV)dlSymFunc(lib, "vkGetQueueCheckpointData2NV");
590 #endif
591 #ifdef VK_KHR_copy_commands2
592 out->vkCmdCopyBuffer2KHR = (PFN_vkCmdCopyBuffer2KHR)dlSymFunc(lib, "vkCmdCopyBuffer2KHR");
593 out->vkCmdCopyImage2KHR = (PFN_vkCmdCopyImage2KHR)dlSymFunc(lib, "vkCmdCopyImage2KHR");
594 out->vkCmdCopyBufferToImage2KHR =
595 (PFN_vkCmdCopyBufferToImage2KHR)dlSymFunc(lib, "vkCmdCopyBufferToImage2KHR");
596 out->vkCmdCopyImageToBuffer2KHR =
597 (PFN_vkCmdCopyImageToBuffer2KHR)dlSymFunc(lib, "vkCmdCopyImageToBuffer2KHR");
598 out->vkCmdBlitImage2KHR = (PFN_vkCmdBlitImage2KHR)dlSymFunc(lib, "vkCmdBlitImage2KHR");
599 out->vkCmdResolveImage2KHR = (PFN_vkCmdResolveImage2KHR)dlSymFunc(lib, "vkCmdResolveImage2KHR");
600 #endif
601 #ifdef VK_KHR_maintenance4
602 out->vkGetDeviceBufferMemoryRequirementsKHR =
603 (PFN_vkGetDeviceBufferMemoryRequirementsKHR)dlSymFunc(
604 lib, "vkGetDeviceBufferMemoryRequirementsKHR");
605 out->vkGetDeviceImageMemoryRequirementsKHR =
606 (PFN_vkGetDeviceImageMemoryRequirementsKHR)dlSymFunc(
607 lib, "vkGetDeviceImageMemoryRequirementsKHR");
608 out->vkGetDeviceImageSparseMemoryRequirementsKHR =
609 (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)dlSymFunc(
610 lib, "vkGetDeviceImageSparseMemoryRequirementsKHR");
611 #endif
612 #ifdef VK_KHR_maintenance5
613 out->vkCmdBindIndexBuffer2KHR =
614 (PFN_vkCmdBindIndexBuffer2KHR)dlSymFunc(lib, "vkCmdBindIndexBuffer2KHR");
615 out->vkGetRenderingAreaGranularityKHR =
616 (PFN_vkGetRenderingAreaGranularityKHR)dlSymFunc(lib, "vkGetRenderingAreaGranularityKHR");
617 out->vkGetDeviceImageSubresourceLayoutKHR = (PFN_vkGetDeviceImageSubresourceLayoutKHR)dlSymFunc(
618 lib, "vkGetDeviceImageSubresourceLayoutKHR");
619 out->vkGetImageSubresourceLayout2KHR =
620 (PFN_vkGetImageSubresourceLayout2KHR)dlSymFunc(lib, "vkGetImageSubresourceLayout2KHR");
621 #endif
622 #ifdef VK_KHR_line_rasterization
623 out->vkCmdSetLineStippleKHR =
624 (PFN_vkCmdSetLineStippleKHR)dlSymFunc(lib, "vkCmdSetLineStippleKHR");
625 #endif
626 #ifdef VK_ANDROID_native_buffer
627 out->vkGetSwapchainGrallocUsageANDROID =
628 (PFN_vkGetSwapchainGrallocUsageANDROID)dlSymFunc(lib, "vkGetSwapchainGrallocUsageANDROID");
629 out->vkAcquireImageANDROID = (PFN_vkAcquireImageANDROID)dlSymFunc(lib, "vkAcquireImageANDROID");
630 out->vkQueueSignalReleaseImageANDROID =
631 (PFN_vkQueueSignalReleaseImageANDROID)dlSymFunc(lib, "vkQueueSignalReleaseImageANDROID");
632 out->vkGetSwapchainGrallocUsage2ANDROID = (PFN_vkGetSwapchainGrallocUsage2ANDROID)dlSymFunc(
633 lib, "vkGetSwapchainGrallocUsage2ANDROID");
634 #endif
635 #ifdef VK_EXT_transform_feedback
636 out->vkCmdBindTransformFeedbackBuffersEXT = (PFN_vkCmdBindTransformFeedbackBuffersEXT)dlSymFunc(
637 lib, "vkCmdBindTransformFeedbackBuffersEXT");
638 out->vkCmdBeginTransformFeedbackEXT =
639 (PFN_vkCmdBeginTransformFeedbackEXT)dlSymFunc(lib, "vkCmdBeginTransformFeedbackEXT");
640 out->vkCmdEndTransformFeedbackEXT =
641 (PFN_vkCmdEndTransformFeedbackEXT)dlSymFunc(lib, "vkCmdEndTransformFeedbackEXT");
642 out->vkCmdBeginQueryIndexedEXT =
643 (PFN_vkCmdBeginQueryIndexedEXT)dlSymFunc(lib, "vkCmdBeginQueryIndexedEXT");
644 out->vkCmdEndQueryIndexedEXT =
645 (PFN_vkCmdEndQueryIndexedEXT)dlSymFunc(lib, "vkCmdEndQueryIndexedEXT");
646 out->vkCmdDrawIndirectByteCountEXT =
647 (PFN_vkCmdDrawIndirectByteCountEXT)dlSymFunc(lib, "vkCmdDrawIndirectByteCountEXT");
648 #endif
649 #ifdef VK_EXT_debug_utils
650 out->vkSetDebugUtilsObjectNameEXT =
651 (PFN_vkSetDebugUtilsObjectNameEXT)dlSymFunc(lib, "vkSetDebugUtilsObjectNameEXT");
652 out->vkSetDebugUtilsObjectTagEXT =
653 (PFN_vkSetDebugUtilsObjectTagEXT)dlSymFunc(lib, "vkSetDebugUtilsObjectTagEXT");
654 out->vkQueueBeginDebugUtilsLabelEXT =
655 (PFN_vkQueueBeginDebugUtilsLabelEXT)dlSymFunc(lib, "vkQueueBeginDebugUtilsLabelEXT");
656 out->vkQueueEndDebugUtilsLabelEXT =
657 (PFN_vkQueueEndDebugUtilsLabelEXT)dlSymFunc(lib, "vkQueueEndDebugUtilsLabelEXT");
658 out->vkQueueInsertDebugUtilsLabelEXT =
659 (PFN_vkQueueInsertDebugUtilsLabelEXT)dlSymFunc(lib, "vkQueueInsertDebugUtilsLabelEXT");
660 out->vkCmdBeginDebugUtilsLabelEXT =
661 (PFN_vkCmdBeginDebugUtilsLabelEXT)dlSymFunc(lib, "vkCmdBeginDebugUtilsLabelEXT");
662 out->vkCmdEndDebugUtilsLabelEXT =
663 (PFN_vkCmdEndDebugUtilsLabelEXT)dlSymFunc(lib, "vkCmdEndDebugUtilsLabelEXT");
664 out->vkCmdInsertDebugUtilsLabelEXT =
665 (PFN_vkCmdInsertDebugUtilsLabelEXT)dlSymFunc(lib, "vkCmdInsertDebugUtilsLabelEXT");
666 #endif
667 #ifdef VK_EXT_image_drm_format_modifier
668 out->vkGetImageDrmFormatModifierPropertiesEXT =
669 (PFN_vkGetImageDrmFormatModifierPropertiesEXT)dlSymFunc(
670 lib, "vkGetImageDrmFormatModifierPropertiesEXT");
671 #endif
672 #ifdef VK_EXT_external_memory_host
673 out->vkGetMemoryHostPointerPropertiesEXT = (PFN_vkGetMemoryHostPointerPropertiesEXT)dlSymFunc(
674 lib, "vkGetMemoryHostPointerPropertiesEXT");
675 #endif
676 #ifdef VK_NV_device_diagnostic_checkpoints
677 out->vkCmdSetCheckpointNV = (PFN_vkCmdSetCheckpointNV)dlSymFunc(lib, "vkCmdSetCheckpointNV");
678 out->vkGetQueueCheckpointDataNV =
679 (PFN_vkGetQueueCheckpointDataNV)dlSymFunc(lib, "vkGetQueueCheckpointDataNV");
680 #endif
681 #ifdef VK_EXT_tooling_info
682 out->vkGetPhysicalDeviceToolPropertiesEXT = (PFN_vkGetPhysicalDeviceToolPropertiesEXT)dlSymFunc(
683 lib, "vkGetPhysicalDeviceToolPropertiesEXT");
684 #endif
685 #ifdef VK_EXT_line_rasterization
686 out->vkCmdSetLineStippleEXT =
687 (PFN_vkCmdSetLineStippleEXT)dlSymFunc(lib, "vkCmdSetLineStippleEXT");
688 #endif
689 #ifdef VK_EXT_extended_dynamic_state
690 out->vkCmdSetCullModeEXT = (PFN_vkCmdSetCullModeEXT)dlSymFunc(lib, "vkCmdSetCullModeEXT");
691 out->vkCmdSetFrontFaceEXT = (PFN_vkCmdSetFrontFaceEXT)dlSymFunc(lib, "vkCmdSetFrontFaceEXT");
692 out->vkCmdSetPrimitiveTopologyEXT =
693 (PFN_vkCmdSetPrimitiveTopologyEXT)dlSymFunc(lib, "vkCmdSetPrimitiveTopologyEXT");
694 out->vkCmdSetViewportWithCountEXT =
695 (PFN_vkCmdSetViewportWithCountEXT)dlSymFunc(lib, "vkCmdSetViewportWithCountEXT");
696 out->vkCmdSetScissorWithCountEXT =
697 (PFN_vkCmdSetScissorWithCountEXT)dlSymFunc(lib, "vkCmdSetScissorWithCountEXT");
698 out->vkCmdBindVertexBuffers2EXT =
699 (PFN_vkCmdBindVertexBuffers2EXT)dlSymFunc(lib, "vkCmdBindVertexBuffers2EXT");
700 out->vkCmdSetDepthTestEnableEXT =
701 (PFN_vkCmdSetDepthTestEnableEXT)dlSymFunc(lib, "vkCmdSetDepthTestEnableEXT");
702 out->vkCmdSetDepthWriteEnableEXT =
703 (PFN_vkCmdSetDepthWriteEnableEXT)dlSymFunc(lib, "vkCmdSetDepthWriteEnableEXT");
704 out->vkCmdSetDepthCompareOpEXT =
705 (PFN_vkCmdSetDepthCompareOpEXT)dlSymFunc(lib, "vkCmdSetDepthCompareOpEXT");
706 out->vkCmdSetDepthBoundsTestEnableEXT =
707 (PFN_vkCmdSetDepthBoundsTestEnableEXT)dlSymFunc(lib, "vkCmdSetDepthBoundsTestEnableEXT");
708 out->vkCmdSetStencilTestEnableEXT =
709 (PFN_vkCmdSetStencilTestEnableEXT)dlSymFunc(lib, "vkCmdSetStencilTestEnableEXT");
710 out->vkCmdSetStencilOpEXT = (PFN_vkCmdSetStencilOpEXT)dlSymFunc(lib, "vkCmdSetStencilOpEXT");
711 #endif
712 #ifdef VK_EXT_host_image_copy
713 out->vkCopyMemoryToImageEXT =
714 (PFN_vkCopyMemoryToImageEXT)dlSymFunc(lib, "vkCopyMemoryToImageEXT");
715 out->vkCopyImageToMemoryEXT =
716 (PFN_vkCopyImageToMemoryEXT)dlSymFunc(lib, "vkCopyImageToMemoryEXT");
717 out->vkCopyImageToImageEXT = (PFN_vkCopyImageToImageEXT)dlSymFunc(lib, "vkCopyImageToImageEXT");
718 out->vkTransitionImageLayoutEXT =
719 (PFN_vkTransitionImageLayoutEXT)dlSymFunc(lib, "vkTransitionImageLayoutEXT");
720 out->vkGetImageSubresourceLayout2EXT =
721 (PFN_vkGetImageSubresourceLayout2EXT)dlSymFunc(lib, "vkGetImageSubresourceLayout2EXT");
722 #endif
723 #ifdef VK_EXT_swapchain_maintenance1
724 out->vkReleaseSwapchainImagesEXT =
725 (PFN_vkReleaseSwapchainImagesEXT)dlSymFunc(lib, "vkReleaseSwapchainImagesEXT");
726 #endif
727 #ifdef VK_EXT_private_data
728 out->vkCreatePrivateDataSlotEXT =
729 (PFN_vkCreatePrivateDataSlotEXT)dlSymFunc(lib, "vkCreatePrivateDataSlotEXT");
730 out->vkDestroyPrivateDataSlotEXT =
731 (PFN_vkDestroyPrivateDataSlotEXT)dlSymFunc(lib, "vkDestroyPrivateDataSlotEXT");
732 out->vkSetPrivateDataEXT = (PFN_vkSetPrivateDataEXT)dlSymFunc(lib, "vkSetPrivateDataEXT");
733 out->vkGetPrivateDataEXT = (PFN_vkGetPrivateDataEXT)dlSymFunc(lib, "vkGetPrivateDataEXT");
734 #endif
735 #ifdef VK_EXT_metal_objects
736 out->vkExportMetalObjectsEXT =
737 (PFN_vkExportMetalObjectsEXT)dlSymFunc(lib, "vkExportMetalObjectsEXT");
738 #endif
739 #ifdef VK_EXT_extended_dynamic_state2
740 out->vkCmdSetPatchControlPointsEXT =
741 (PFN_vkCmdSetPatchControlPointsEXT)dlSymFunc(lib, "vkCmdSetPatchControlPointsEXT");
742 out->vkCmdSetRasterizerDiscardEnableEXT = (PFN_vkCmdSetRasterizerDiscardEnableEXT)dlSymFunc(
743 lib, "vkCmdSetRasterizerDiscardEnableEXT");
744 out->vkCmdSetDepthBiasEnableEXT =
745 (PFN_vkCmdSetDepthBiasEnableEXT)dlSymFunc(lib, "vkCmdSetDepthBiasEnableEXT");
746 out->vkCmdSetLogicOpEXT = (PFN_vkCmdSetLogicOpEXT)dlSymFunc(lib, "vkCmdSetLogicOpEXT");
747 out->vkCmdSetPrimitiveRestartEnableEXT =
748 (PFN_vkCmdSetPrimitiveRestartEnableEXT)dlSymFunc(lib, "vkCmdSetPrimitiveRestartEnableEXT");
749 #endif
750 #ifdef VK_EXT_color_write_enable
751 out->vkCmdSetColorWriteEnableEXT =
752 (PFN_vkCmdSetColorWriteEnableEXT)dlSymFunc(lib, "vkCmdSetColorWriteEnableEXT");
753 #endif
754 #ifdef VK_GOOGLE_gfxstream
755 out->vkMapMemoryIntoAddressSpaceGOOGLE =
756 (PFN_vkMapMemoryIntoAddressSpaceGOOGLE)dlSymFunc(lib, "vkMapMemoryIntoAddressSpaceGOOGLE");
757 out->vkUpdateDescriptorSetWithTemplateSizedGOOGLE =
758 (PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)dlSymFunc(
759 lib, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
760 out->vkBeginCommandBufferAsyncGOOGLE =
761 (PFN_vkBeginCommandBufferAsyncGOOGLE)dlSymFunc(lib, "vkBeginCommandBufferAsyncGOOGLE");
762 out->vkEndCommandBufferAsyncGOOGLE =
763 (PFN_vkEndCommandBufferAsyncGOOGLE)dlSymFunc(lib, "vkEndCommandBufferAsyncGOOGLE");
764 out->vkResetCommandBufferAsyncGOOGLE =
765 (PFN_vkResetCommandBufferAsyncGOOGLE)dlSymFunc(lib, "vkResetCommandBufferAsyncGOOGLE");
766 out->vkCommandBufferHostSyncGOOGLE =
767 (PFN_vkCommandBufferHostSyncGOOGLE)dlSymFunc(lib, "vkCommandBufferHostSyncGOOGLE");
768 out->vkCreateImageWithRequirementsGOOGLE = (PFN_vkCreateImageWithRequirementsGOOGLE)dlSymFunc(
769 lib, "vkCreateImageWithRequirementsGOOGLE");
770 out->vkCreateBufferWithRequirementsGOOGLE = (PFN_vkCreateBufferWithRequirementsGOOGLE)dlSymFunc(
771 lib, "vkCreateBufferWithRequirementsGOOGLE");
772 out->vkGetMemoryHostAddressInfoGOOGLE =
773 (PFN_vkGetMemoryHostAddressInfoGOOGLE)dlSymFunc(lib, "vkGetMemoryHostAddressInfoGOOGLE");
774 out->vkFreeMemorySyncGOOGLE =
775 (PFN_vkFreeMemorySyncGOOGLE)dlSymFunc(lib, "vkFreeMemorySyncGOOGLE");
776 out->vkQueueHostSyncGOOGLE = (PFN_vkQueueHostSyncGOOGLE)dlSymFunc(lib, "vkQueueHostSyncGOOGLE");
777 out->vkQueueSubmitAsyncGOOGLE =
778 (PFN_vkQueueSubmitAsyncGOOGLE)dlSymFunc(lib, "vkQueueSubmitAsyncGOOGLE");
779 out->vkQueueWaitIdleAsyncGOOGLE =
780 (PFN_vkQueueWaitIdleAsyncGOOGLE)dlSymFunc(lib, "vkQueueWaitIdleAsyncGOOGLE");
781 out->vkQueueBindSparseAsyncGOOGLE =
782 (PFN_vkQueueBindSparseAsyncGOOGLE)dlSymFunc(lib, "vkQueueBindSparseAsyncGOOGLE");
783 out->vkGetLinearImageLayoutGOOGLE =
784 (PFN_vkGetLinearImageLayoutGOOGLE)dlSymFunc(lib, "vkGetLinearImageLayoutGOOGLE");
785 out->vkGetLinearImageLayout2GOOGLE =
786 (PFN_vkGetLinearImageLayout2GOOGLE)dlSymFunc(lib, "vkGetLinearImageLayout2GOOGLE");
787 out->vkQueueFlushCommandsGOOGLE =
788 (PFN_vkQueueFlushCommandsGOOGLE)dlSymFunc(lib, "vkQueueFlushCommandsGOOGLE");
789 out->vkQueueCommitDescriptorSetUpdatesGOOGLE =
790 (PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)dlSymFunc(
791 lib, "vkQueueCommitDescriptorSetUpdatesGOOGLE");
792 out->vkCollectDescriptorPoolIdsGOOGLE =
793 (PFN_vkCollectDescriptorPoolIdsGOOGLE)dlSymFunc(lib, "vkCollectDescriptorPoolIdsGOOGLE");
794 out->vkQueueSignalReleaseImageANDROIDAsyncGOOGLE =
795 (PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)dlSymFunc(
796 lib, "vkQueueSignalReleaseImageANDROIDAsyncGOOGLE");
797 out->vkQueueFlushCommandsFromAuxMemoryGOOGLE =
798 (PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)dlSymFunc(
799 lib, "vkQueueFlushCommandsFromAuxMemoryGOOGLE");
800 out->vkGetBlobGOOGLE = (PFN_vkGetBlobGOOGLE)dlSymFunc(lib, "vkGetBlobGOOGLE");
801 out->vkUpdateDescriptorSetWithTemplateSized2GOOGLE =
802 (PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)dlSymFunc(
803 lib, "vkUpdateDescriptorSetWithTemplateSized2GOOGLE");
804 out->vkQueueSubmitAsync2GOOGLE =
805 (PFN_vkQueueSubmitAsync2GOOGLE)dlSymFunc(lib, "vkQueueSubmitAsync2GOOGLE");
806 out->vkGetSemaphoreGOOGLE = (PFN_vkGetSemaphoreGOOGLE)dlSymFunc(lib, "vkGetSemaphoreGOOGLE");
807 #endif
808 #ifdef VK_QNX_external_memory_screen_buffer
809 out->vkGetScreenBufferPropertiesQNX =
810 (PFN_vkGetScreenBufferPropertiesQNX)dlSymFunc(lib, "vkGetScreenBufferPropertiesQNX");
811 #endif
812 #ifdef VK_EXT_external_memory_metal
813 out->vkGetMemoryMetalHandleEXT =
814 (PFN_vkGetMemoryMetalHandleEXT)dlSymFunc(lib, "vkGetMemoryMetalHandleEXT");
815 out->vkGetMemoryMetalHandlePropertiesEXT = (PFN_vkGetMemoryMetalHandlePropertiesEXT)dlSymFunc(
816 lib, "vkGetMemoryMetalHandlePropertiesEXT");
817 #endif
818 #ifdef VK_KHR_ray_tracing_pipeline
819 out->vkCmdTraceRaysKHR = (PFN_vkCmdTraceRaysKHR)dlSymFunc(lib, "vkCmdTraceRaysKHR");
820 out->vkCreateRayTracingPipelinesKHR =
821 (PFN_vkCreateRayTracingPipelinesKHR)dlSymFunc(lib, "vkCreateRayTracingPipelinesKHR");
822 out->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
823 (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)dlSymFunc(
824 lib, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
825 out->vkCmdTraceRaysIndirectKHR =
826 (PFN_vkCmdTraceRaysIndirectKHR)dlSymFunc(lib, "vkCmdTraceRaysIndirectKHR");
827 out->vkGetRayTracingShaderGroupStackSizeKHR =
828 (PFN_vkGetRayTracingShaderGroupStackSizeKHR)dlSymFunc(
829 lib, "vkGetRayTracingShaderGroupStackSizeKHR");
830 out->vkCmdSetRayTracingPipelineStackSizeKHR =
831 (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)dlSymFunc(
832 lib, "vkCmdSetRayTracingPipelineStackSizeKHR");
833 #endif
834 }
835
init_vulkan_dispatch_from_instance(VulkanDispatch * vk,VkInstance instance,VulkanDispatch * out)836 void init_vulkan_dispatch_from_instance(VulkanDispatch* vk, VkInstance instance,
837 VulkanDispatch* out) {
838 memset(out, 0x0, sizeof(VulkanDispatch));
839 #ifdef VK_VERSION_1_0
840 out->vkDestroyInstance =
841 (PFN_vkDestroyInstance)vk->vkGetInstanceProcAddr(instance, "vkDestroyInstance");
842 out->vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)vk->vkGetInstanceProcAddr(
843 instance, "vkEnumeratePhysicalDevices");
844 out->vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)vk->vkGetInstanceProcAddr(
845 instance, "vkGetPhysicalDeviceFeatures");
846 out->vkGetPhysicalDeviceFormatProperties =
847 (PFN_vkGetPhysicalDeviceFormatProperties)vk->vkGetInstanceProcAddr(
848 instance, "vkGetPhysicalDeviceFormatProperties");
849 out->vkGetPhysicalDeviceImageFormatProperties =
850 (PFN_vkGetPhysicalDeviceImageFormatProperties)vk->vkGetInstanceProcAddr(
851 instance, "vkGetPhysicalDeviceImageFormatProperties");
852 out->vkGetPhysicalDeviceProperties =
853 (PFN_vkGetPhysicalDeviceProperties)vk->vkGetInstanceProcAddr(
854 instance, "vkGetPhysicalDeviceProperties");
855 out->vkGetPhysicalDeviceQueueFamilyProperties =
856 (PFN_vkGetPhysicalDeviceQueueFamilyProperties)vk->vkGetInstanceProcAddr(
857 instance, "vkGetPhysicalDeviceQueueFamilyProperties");
858 out->vkGetPhysicalDeviceMemoryProperties =
859 (PFN_vkGetPhysicalDeviceMemoryProperties)vk->vkGetInstanceProcAddr(
860 instance, "vkGetPhysicalDeviceMemoryProperties");
861 out->vkGetInstanceProcAddr =
862 (PFN_vkGetInstanceProcAddr)vk->vkGetInstanceProcAddr(instance, "vkGetInstanceProcAddr");
863 out->vkCreateDevice = (PFN_vkCreateDevice)vk->vkGetInstanceProcAddr(instance, "vkCreateDevice");
864 out->vkDestroyDevice =
865 (PFN_vkDestroyDevice)vk->vkGetInstanceProcAddr(instance, "vkDestroyDevice");
866 out->vkEnumerateDeviceExtensionProperties =
867 (PFN_vkEnumerateDeviceExtensionProperties)vk->vkGetInstanceProcAddr(
868 instance, "vkEnumerateDeviceExtensionProperties");
869 out->vkEnumerateDeviceLayerProperties =
870 (PFN_vkEnumerateDeviceLayerProperties)vk->vkGetInstanceProcAddr(
871 instance, "vkEnumerateDeviceLayerProperties");
872 out->vkCreateInstance =
873 (PFN_vkCreateInstance)vk->vkGetInstanceProcAddr(instance, "vkCreateInstance");
874 out->vkEnumerateInstanceExtensionProperties =
875 (PFN_vkEnumerateInstanceExtensionProperties)vk->vkGetInstanceProcAddr(
876 instance, "vkEnumerateInstanceExtensionProperties");
877 out->vkEnumerateInstanceLayerProperties =
878 (PFN_vkEnumerateInstanceLayerProperties)vk->vkGetInstanceProcAddr(
879 instance, "vkEnumerateInstanceLayerProperties");
880 out->vkGetDeviceProcAddr =
881 (PFN_vkGetDeviceProcAddr)vk->vkGetInstanceProcAddr(instance, "vkGetDeviceProcAddr");
882 out->vkGetPhysicalDeviceSparseImageFormatProperties =
883 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)vk->vkGetInstanceProcAddr(
884 instance, "vkGetPhysicalDeviceSparseImageFormatProperties");
885 #endif
886 #ifdef VK_VERSION_1_1
887 out->vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)vk->vkGetInstanceProcAddr(
888 instance, "vkEnumerateInstanceVersion");
889 out->vkEnumeratePhysicalDeviceGroups =
890 (PFN_vkEnumeratePhysicalDeviceGroups)vk->vkGetInstanceProcAddr(
891 instance, "vkEnumeratePhysicalDeviceGroups");
892 out->vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)vk->vkGetInstanceProcAddr(
893 instance, "vkGetPhysicalDeviceFeatures2");
894 out->vkGetPhysicalDeviceProperties2 =
895 (PFN_vkGetPhysicalDeviceProperties2)vk->vkGetInstanceProcAddr(
896 instance, "vkGetPhysicalDeviceProperties2");
897 out->vkGetPhysicalDeviceFormatProperties2 =
898 (PFN_vkGetPhysicalDeviceFormatProperties2)vk->vkGetInstanceProcAddr(
899 instance, "vkGetPhysicalDeviceFormatProperties2");
900 out->vkGetPhysicalDeviceImageFormatProperties2 =
901 (PFN_vkGetPhysicalDeviceImageFormatProperties2)vk->vkGetInstanceProcAddr(
902 instance, "vkGetPhysicalDeviceImageFormatProperties2");
903 out->vkGetPhysicalDeviceQueueFamilyProperties2 =
904 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)vk->vkGetInstanceProcAddr(
905 instance, "vkGetPhysicalDeviceQueueFamilyProperties2");
906 out->vkGetPhysicalDeviceMemoryProperties2 =
907 (PFN_vkGetPhysicalDeviceMemoryProperties2)vk->vkGetInstanceProcAddr(
908 instance, "vkGetPhysicalDeviceMemoryProperties2");
909 out->vkGetPhysicalDeviceSparseImageFormatProperties2 =
910 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)vk->vkGetInstanceProcAddr(
911 instance, "vkGetPhysicalDeviceSparseImageFormatProperties2");
912 out->vkGetPhysicalDeviceExternalBufferProperties =
913 (PFN_vkGetPhysicalDeviceExternalBufferProperties)vk->vkGetInstanceProcAddr(
914 instance, "vkGetPhysicalDeviceExternalBufferProperties");
915 out->vkGetPhysicalDeviceExternalFenceProperties =
916 (PFN_vkGetPhysicalDeviceExternalFenceProperties)vk->vkGetInstanceProcAddr(
917 instance, "vkGetPhysicalDeviceExternalFenceProperties");
918 out->vkGetPhysicalDeviceExternalSemaphoreProperties =
919 (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)vk->vkGetInstanceProcAddr(
920 instance, "vkGetPhysicalDeviceExternalSemaphoreProperties");
921 #endif
922 #ifdef VK_KHR_surface
923 out->vkDestroySurfaceKHR =
924 (PFN_vkDestroySurfaceKHR)vk->vkGetInstanceProcAddr(instance, "vkDestroySurfaceKHR");
925 #endif
926 #ifdef VK_KHR_swapchain
927 out->vkCreateSwapchainKHR =
928 (PFN_vkCreateSwapchainKHR)vk->vkGetInstanceProcAddr(instance, "vkCreateSwapchainKHR");
929 out->vkDestroySwapchainKHR =
930 (PFN_vkDestroySwapchainKHR)vk->vkGetInstanceProcAddr(instance, "vkDestroySwapchainKHR");
931 out->vkGetSwapchainImagesKHR =
932 (PFN_vkGetSwapchainImagesKHR)vk->vkGetInstanceProcAddr(instance, "vkGetSwapchainImagesKHR");
933 out->vkAcquireNextImageKHR =
934 (PFN_vkAcquireNextImageKHR)vk->vkGetInstanceProcAddr(instance, "vkAcquireNextImageKHR");
935 out->vkQueuePresentKHR =
936 (PFN_vkQueuePresentKHR)vk->vkGetInstanceProcAddr(instance, "vkQueuePresentKHR");
937 #endif
938 #ifdef VK_KHR_xcb_surface
939 out->vkCreateXcbSurfaceKHR =
940 (PFN_vkCreateXcbSurfaceKHR)vk->vkGetInstanceProcAddr(instance, "vkCreateXcbSurfaceKHR");
941 out->vkGetPhysicalDeviceXcbPresentationSupportKHR =
942 (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)vk->vkGetInstanceProcAddr(
943 instance, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
944 #endif
945 #ifdef VK_KHR_win32_surface
946 out->vkCreateWin32SurfaceKHR =
947 (PFN_vkCreateWin32SurfaceKHR)vk->vkGetInstanceProcAddr(instance, "vkCreateWin32SurfaceKHR");
948 out->vkGetPhysicalDeviceWin32PresentationSupportKHR =
949 (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)vk->vkGetInstanceProcAddr(
950 instance, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
951 #endif
952 #ifdef VK_EXT_debug_report
953 out->vkCreateDebugReportCallbackEXT =
954 (PFN_vkCreateDebugReportCallbackEXT)vk->vkGetInstanceProcAddr(
955 instance, "vkCreateDebugReportCallbackEXT");
956 out->vkDestroyDebugReportCallbackEXT =
957 (PFN_vkDestroyDebugReportCallbackEXT)vk->vkGetInstanceProcAddr(
958 instance, "vkDestroyDebugReportCallbackEXT");
959 out->vkDebugReportMessageEXT =
960 (PFN_vkDebugReportMessageEXT)vk->vkGetInstanceProcAddr(instance, "vkDebugReportMessageEXT");
961 #endif
962 #ifdef VK_EXT_debug_utils
963 out->vkCreateDebugUtilsMessengerEXT =
964 (PFN_vkCreateDebugUtilsMessengerEXT)vk->vkGetInstanceProcAddr(
965 instance, "vkCreateDebugUtilsMessengerEXT");
966 out->vkDestroyDebugUtilsMessengerEXT =
967 (PFN_vkDestroyDebugUtilsMessengerEXT)vk->vkGetInstanceProcAddr(
968 instance, "vkDestroyDebugUtilsMessengerEXT");
969 out->vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)vk->vkGetInstanceProcAddr(
970 instance, "vkSubmitDebugUtilsMessageEXT");
971 #endif
972 #ifdef VK_EXT_metal_surface
973 out->vkCreateMetalSurfaceEXT =
974 (PFN_vkCreateMetalSurfaceEXT)vk->vkGetInstanceProcAddr(instance, "vkCreateMetalSurfaceEXT");
975 #endif
976 #ifdef VK_VERSION_1_0
977 out->vkGetDeviceQueue =
978 (PFN_vkGetDeviceQueue)vk->vkGetInstanceProcAddr(instance, "vkGetDeviceQueue");
979 out->vkQueueSubmit = (PFN_vkQueueSubmit)vk->vkGetInstanceProcAddr(instance, "vkQueueSubmit");
980 out->vkQueueWaitIdle =
981 (PFN_vkQueueWaitIdle)vk->vkGetInstanceProcAddr(instance, "vkQueueWaitIdle");
982 out->vkDeviceWaitIdle =
983 (PFN_vkDeviceWaitIdle)vk->vkGetInstanceProcAddr(instance, "vkDeviceWaitIdle");
984 out->vkAllocateMemory =
985 (PFN_vkAllocateMemory)vk->vkGetInstanceProcAddr(instance, "vkAllocateMemory");
986 out->vkFreeMemory = (PFN_vkFreeMemory)vk->vkGetInstanceProcAddr(instance, "vkFreeMemory");
987 out->vkMapMemory = (PFN_vkMapMemory)vk->vkGetInstanceProcAddr(instance, "vkMapMemory");
988 out->vkUnmapMemory = (PFN_vkUnmapMemory)vk->vkGetInstanceProcAddr(instance, "vkUnmapMemory");
989 out->vkFlushMappedMemoryRanges = (PFN_vkFlushMappedMemoryRanges)vk->vkGetInstanceProcAddr(
990 instance, "vkFlushMappedMemoryRanges");
991 out->vkInvalidateMappedMemoryRanges =
992 (PFN_vkInvalidateMappedMemoryRanges)vk->vkGetInstanceProcAddr(
993 instance, "vkInvalidateMappedMemoryRanges");
994 out->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)vk->vkGetInstanceProcAddr(
995 instance, "vkGetDeviceMemoryCommitment");
996 out->vkBindBufferMemory =
997 (PFN_vkBindBufferMemory)vk->vkGetInstanceProcAddr(instance, "vkBindBufferMemory");
998 out->vkBindImageMemory =
999 (PFN_vkBindImageMemory)vk->vkGetInstanceProcAddr(instance, "vkBindImageMemory");
1000 out->vkGetBufferMemoryRequirements =
1001 (PFN_vkGetBufferMemoryRequirements)vk->vkGetInstanceProcAddr(
1002 instance, "vkGetBufferMemoryRequirements");
1003 out->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)vk->vkGetInstanceProcAddr(
1004 instance, "vkGetImageMemoryRequirements");
1005 out->vkGetImageSparseMemoryRequirements =
1006 (PFN_vkGetImageSparseMemoryRequirements)vk->vkGetInstanceProcAddr(
1007 instance, "vkGetImageSparseMemoryRequirements");
1008 out->vkQueueBindSparse =
1009 (PFN_vkQueueBindSparse)vk->vkGetInstanceProcAddr(instance, "vkQueueBindSparse");
1010 out->vkCreateFence = (PFN_vkCreateFence)vk->vkGetInstanceProcAddr(instance, "vkCreateFence");
1011 out->vkDestroyFence = (PFN_vkDestroyFence)vk->vkGetInstanceProcAddr(instance, "vkDestroyFence");
1012 out->vkResetFences = (PFN_vkResetFences)vk->vkGetInstanceProcAddr(instance, "vkResetFences");
1013 out->vkGetFenceStatus =
1014 (PFN_vkGetFenceStatus)vk->vkGetInstanceProcAddr(instance, "vkGetFenceStatus");
1015 out->vkWaitForFences =
1016 (PFN_vkWaitForFences)vk->vkGetInstanceProcAddr(instance, "vkWaitForFences");
1017 out->vkCreateSemaphore =
1018 (PFN_vkCreateSemaphore)vk->vkGetInstanceProcAddr(instance, "vkCreateSemaphore");
1019 out->vkDestroySemaphore =
1020 (PFN_vkDestroySemaphore)vk->vkGetInstanceProcAddr(instance, "vkDestroySemaphore");
1021 out->vkCreateEvent = (PFN_vkCreateEvent)vk->vkGetInstanceProcAddr(instance, "vkCreateEvent");
1022 out->vkDestroyEvent = (PFN_vkDestroyEvent)vk->vkGetInstanceProcAddr(instance, "vkDestroyEvent");
1023 out->vkGetEventStatus =
1024 (PFN_vkGetEventStatus)vk->vkGetInstanceProcAddr(instance, "vkGetEventStatus");
1025 out->vkSetEvent = (PFN_vkSetEvent)vk->vkGetInstanceProcAddr(instance, "vkSetEvent");
1026 out->vkResetEvent = (PFN_vkResetEvent)vk->vkGetInstanceProcAddr(instance, "vkResetEvent");
1027 out->vkCreateQueryPool =
1028 (PFN_vkCreateQueryPool)vk->vkGetInstanceProcAddr(instance, "vkCreateQueryPool");
1029 out->vkDestroyQueryPool =
1030 (PFN_vkDestroyQueryPool)vk->vkGetInstanceProcAddr(instance, "vkDestroyQueryPool");
1031 out->vkGetQueryPoolResults =
1032 (PFN_vkGetQueryPoolResults)vk->vkGetInstanceProcAddr(instance, "vkGetQueryPoolResults");
1033 out->vkCreateBuffer = (PFN_vkCreateBuffer)vk->vkGetInstanceProcAddr(instance, "vkCreateBuffer");
1034 out->vkDestroyBuffer =
1035 (PFN_vkDestroyBuffer)vk->vkGetInstanceProcAddr(instance, "vkDestroyBuffer");
1036 out->vkCreateBufferView =
1037 (PFN_vkCreateBufferView)vk->vkGetInstanceProcAddr(instance, "vkCreateBufferView");
1038 out->vkDestroyBufferView =
1039 (PFN_vkDestroyBufferView)vk->vkGetInstanceProcAddr(instance, "vkDestroyBufferView");
1040 out->vkCreateImage = (PFN_vkCreateImage)vk->vkGetInstanceProcAddr(instance, "vkCreateImage");
1041 out->vkDestroyImage = (PFN_vkDestroyImage)vk->vkGetInstanceProcAddr(instance, "vkDestroyImage");
1042 out->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)vk->vkGetInstanceProcAddr(
1043 instance, "vkGetImageSubresourceLayout");
1044 out->vkCreateImageView =
1045 (PFN_vkCreateImageView)vk->vkGetInstanceProcAddr(instance, "vkCreateImageView");
1046 out->vkDestroyImageView =
1047 (PFN_vkDestroyImageView)vk->vkGetInstanceProcAddr(instance, "vkDestroyImageView");
1048 out->vkCreateShaderModule =
1049 (PFN_vkCreateShaderModule)vk->vkGetInstanceProcAddr(instance, "vkCreateShaderModule");
1050 out->vkDestroyShaderModule =
1051 (PFN_vkDestroyShaderModule)vk->vkGetInstanceProcAddr(instance, "vkDestroyShaderModule");
1052 out->vkCreatePipelineCache =
1053 (PFN_vkCreatePipelineCache)vk->vkGetInstanceProcAddr(instance, "vkCreatePipelineCache");
1054 out->vkDestroyPipelineCache =
1055 (PFN_vkDestroyPipelineCache)vk->vkGetInstanceProcAddr(instance, "vkDestroyPipelineCache");
1056 out->vkGetPipelineCacheData =
1057 (PFN_vkGetPipelineCacheData)vk->vkGetInstanceProcAddr(instance, "vkGetPipelineCacheData");
1058 out->vkMergePipelineCaches =
1059 (PFN_vkMergePipelineCaches)vk->vkGetInstanceProcAddr(instance, "vkMergePipelineCaches");
1060 out->vkCreateGraphicsPipelines = (PFN_vkCreateGraphicsPipelines)vk->vkGetInstanceProcAddr(
1061 instance, "vkCreateGraphicsPipelines");
1062 out->vkCreateComputePipelines = (PFN_vkCreateComputePipelines)vk->vkGetInstanceProcAddr(
1063 instance, "vkCreateComputePipelines");
1064 out->vkDestroyPipeline =
1065 (PFN_vkDestroyPipeline)vk->vkGetInstanceProcAddr(instance, "vkDestroyPipeline");
1066 out->vkCreatePipelineLayout =
1067 (PFN_vkCreatePipelineLayout)vk->vkGetInstanceProcAddr(instance, "vkCreatePipelineLayout");
1068 out->vkDestroyPipelineLayout =
1069 (PFN_vkDestroyPipelineLayout)vk->vkGetInstanceProcAddr(instance, "vkDestroyPipelineLayout");
1070 out->vkCreateSampler =
1071 (PFN_vkCreateSampler)vk->vkGetInstanceProcAddr(instance, "vkCreateSampler");
1072 out->vkDestroySampler =
1073 (PFN_vkDestroySampler)vk->vkGetInstanceProcAddr(instance, "vkDestroySampler");
1074 out->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)vk->vkGetInstanceProcAddr(
1075 instance, "vkCreateDescriptorSetLayout");
1076 out->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)vk->vkGetInstanceProcAddr(
1077 instance, "vkDestroyDescriptorSetLayout");
1078 out->vkCreateDescriptorPool =
1079 (PFN_vkCreateDescriptorPool)vk->vkGetInstanceProcAddr(instance, "vkCreateDescriptorPool");
1080 out->vkDestroyDescriptorPool =
1081 (PFN_vkDestroyDescriptorPool)vk->vkGetInstanceProcAddr(instance, "vkDestroyDescriptorPool");
1082 out->vkResetDescriptorPool =
1083 (PFN_vkResetDescriptorPool)vk->vkGetInstanceProcAddr(instance, "vkResetDescriptorPool");
1084 out->vkAllocateDescriptorSets = (PFN_vkAllocateDescriptorSets)vk->vkGetInstanceProcAddr(
1085 instance, "vkAllocateDescriptorSets");
1086 out->vkFreeDescriptorSets =
1087 (PFN_vkFreeDescriptorSets)vk->vkGetInstanceProcAddr(instance, "vkFreeDescriptorSets");
1088 out->vkUpdateDescriptorSets =
1089 (PFN_vkUpdateDescriptorSets)vk->vkGetInstanceProcAddr(instance, "vkUpdateDescriptorSets");
1090 out->vkCreateFramebuffer =
1091 (PFN_vkCreateFramebuffer)vk->vkGetInstanceProcAddr(instance, "vkCreateFramebuffer");
1092 out->vkDestroyFramebuffer =
1093 (PFN_vkDestroyFramebuffer)vk->vkGetInstanceProcAddr(instance, "vkDestroyFramebuffer");
1094 out->vkCreateRenderPass =
1095 (PFN_vkCreateRenderPass)vk->vkGetInstanceProcAddr(instance, "vkCreateRenderPass");
1096 out->vkDestroyRenderPass =
1097 (PFN_vkDestroyRenderPass)vk->vkGetInstanceProcAddr(instance, "vkDestroyRenderPass");
1098 out->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)vk->vkGetInstanceProcAddr(
1099 instance, "vkGetRenderAreaGranularity");
1100 out->vkCreateCommandPool =
1101 (PFN_vkCreateCommandPool)vk->vkGetInstanceProcAddr(instance, "vkCreateCommandPool");
1102 out->vkDestroyCommandPool =
1103 (PFN_vkDestroyCommandPool)vk->vkGetInstanceProcAddr(instance, "vkDestroyCommandPool");
1104 out->vkResetCommandPool =
1105 (PFN_vkResetCommandPool)vk->vkGetInstanceProcAddr(instance, "vkResetCommandPool");
1106 out->vkAllocateCommandBuffers = (PFN_vkAllocateCommandBuffers)vk->vkGetInstanceProcAddr(
1107 instance, "vkAllocateCommandBuffers");
1108 out->vkFreeCommandBuffers =
1109 (PFN_vkFreeCommandBuffers)vk->vkGetInstanceProcAddr(instance, "vkFreeCommandBuffers");
1110 out->vkBeginCommandBuffer =
1111 (PFN_vkBeginCommandBuffer)vk->vkGetInstanceProcAddr(instance, "vkBeginCommandBuffer");
1112 out->vkEndCommandBuffer =
1113 (PFN_vkEndCommandBuffer)vk->vkGetInstanceProcAddr(instance, "vkEndCommandBuffer");
1114 out->vkResetCommandBuffer =
1115 (PFN_vkResetCommandBuffer)vk->vkGetInstanceProcAddr(instance, "vkResetCommandBuffer");
1116 out->vkCmdBindPipeline =
1117 (PFN_vkCmdBindPipeline)vk->vkGetInstanceProcAddr(instance, "vkCmdBindPipeline");
1118 out->vkCmdSetViewport =
1119 (PFN_vkCmdSetViewport)vk->vkGetInstanceProcAddr(instance, "vkCmdSetViewport");
1120 out->vkCmdSetScissor =
1121 (PFN_vkCmdSetScissor)vk->vkGetInstanceProcAddr(instance, "vkCmdSetScissor");
1122 out->vkCmdSetLineWidth =
1123 (PFN_vkCmdSetLineWidth)vk->vkGetInstanceProcAddr(instance, "vkCmdSetLineWidth");
1124 out->vkCmdSetDepthBias =
1125 (PFN_vkCmdSetDepthBias)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDepthBias");
1126 out->vkCmdSetBlendConstants =
1127 (PFN_vkCmdSetBlendConstants)vk->vkGetInstanceProcAddr(instance, "vkCmdSetBlendConstants");
1128 out->vkCmdSetDepthBounds =
1129 (PFN_vkCmdSetDepthBounds)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDepthBounds");
1130 out->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)vk->vkGetInstanceProcAddr(
1131 instance, "vkCmdSetStencilCompareMask");
1132 out->vkCmdSetStencilWriteMask = (PFN_vkCmdSetStencilWriteMask)vk->vkGetInstanceProcAddr(
1133 instance, "vkCmdSetStencilWriteMask");
1134 out->vkCmdSetStencilReference = (PFN_vkCmdSetStencilReference)vk->vkGetInstanceProcAddr(
1135 instance, "vkCmdSetStencilReference");
1136 out->vkCmdBindDescriptorSets =
1137 (PFN_vkCmdBindDescriptorSets)vk->vkGetInstanceProcAddr(instance, "vkCmdBindDescriptorSets");
1138 out->vkCmdBindIndexBuffer =
1139 (PFN_vkCmdBindIndexBuffer)vk->vkGetInstanceProcAddr(instance, "vkCmdBindIndexBuffer");
1140 out->vkCmdBindVertexBuffers =
1141 (PFN_vkCmdBindVertexBuffers)vk->vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers");
1142 out->vkCmdDraw = (PFN_vkCmdDraw)vk->vkGetInstanceProcAddr(instance, "vkCmdDraw");
1143 out->vkCmdDrawIndexed =
1144 (PFN_vkCmdDrawIndexed)vk->vkGetInstanceProcAddr(instance, "vkCmdDrawIndexed");
1145 out->vkCmdDrawIndirect =
1146 (PFN_vkCmdDrawIndirect)vk->vkGetInstanceProcAddr(instance, "vkCmdDrawIndirect");
1147 out->vkCmdDrawIndexedIndirect = (PFN_vkCmdDrawIndexedIndirect)vk->vkGetInstanceProcAddr(
1148 instance, "vkCmdDrawIndexedIndirect");
1149 out->vkCmdDispatch = (PFN_vkCmdDispatch)vk->vkGetInstanceProcAddr(instance, "vkCmdDispatch");
1150 out->vkCmdDispatchIndirect =
1151 (PFN_vkCmdDispatchIndirect)vk->vkGetInstanceProcAddr(instance, "vkCmdDispatchIndirect");
1152 out->vkCmdCopyBuffer =
1153 (PFN_vkCmdCopyBuffer)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer");
1154 out->vkCmdCopyImage = (PFN_vkCmdCopyImage)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyImage");
1155 out->vkCmdBlitImage = (PFN_vkCmdBlitImage)vk->vkGetInstanceProcAddr(instance, "vkCmdBlitImage");
1156 out->vkCmdCopyBufferToImage =
1157 (PFN_vkCmdCopyBufferToImage)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage");
1158 out->vkCmdCopyImageToBuffer =
1159 (PFN_vkCmdCopyImageToBuffer)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer");
1160 out->vkCmdUpdateBuffer =
1161 (PFN_vkCmdUpdateBuffer)vk->vkGetInstanceProcAddr(instance, "vkCmdUpdateBuffer");
1162 out->vkCmdFillBuffer =
1163 (PFN_vkCmdFillBuffer)vk->vkGetInstanceProcAddr(instance, "vkCmdFillBuffer");
1164 out->vkCmdClearColorImage =
1165 (PFN_vkCmdClearColorImage)vk->vkGetInstanceProcAddr(instance, "vkCmdClearColorImage");
1166 out->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)vk->vkGetInstanceProcAddr(
1167 instance, "vkCmdClearDepthStencilImage");
1168 out->vkCmdClearAttachments =
1169 (PFN_vkCmdClearAttachments)vk->vkGetInstanceProcAddr(instance, "vkCmdClearAttachments");
1170 out->vkCmdResolveImage =
1171 (PFN_vkCmdResolveImage)vk->vkGetInstanceProcAddr(instance, "vkCmdResolveImage");
1172 out->vkCmdSetEvent = (PFN_vkCmdSetEvent)vk->vkGetInstanceProcAddr(instance, "vkCmdSetEvent");
1173 out->vkCmdResetEvent =
1174 (PFN_vkCmdResetEvent)vk->vkGetInstanceProcAddr(instance, "vkCmdResetEvent");
1175 out->vkCmdWaitEvents =
1176 (PFN_vkCmdWaitEvents)vk->vkGetInstanceProcAddr(instance, "vkCmdWaitEvents");
1177 out->vkCmdPipelineBarrier =
1178 (PFN_vkCmdPipelineBarrier)vk->vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier");
1179 out->vkCmdBeginQuery =
1180 (PFN_vkCmdBeginQuery)vk->vkGetInstanceProcAddr(instance, "vkCmdBeginQuery");
1181 out->vkCmdEndQuery = (PFN_vkCmdEndQuery)vk->vkGetInstanceProcAddr(instance, "vkCmdEndQuery");
1182 out->vkCmdResetQueryPool =
1183 (PFN_vkCmdResetQueryPool)vk->vkGetInstanceProcAddr(instance, "vkCmdResetQueryPool");
1184 out->vkCmdWriteTimestamp =
1185 (PFN_vkCmdWriteTimestamp)vk->vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp");
1186 out->vkCmdCopyQueryPoolResults = (PFN_vkCmdCopyQueryPoolResults)vk->vkGetInstanceProcAddr(
1187 instance, "vkCmdCopyQueryPoolResults");
1188 out->vkCmdPushConstants =
1189 (PFN_vkCmdPushConstants)vk->vkGetInstanceProcAddr(instance, "vkCmdPushConstants");
1190 out->vkCmdBeginRenderPass =
1191 (PFN_vkCmdBeginRenderPass)vk->vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass");
1192 out->vkCmdNextSubpass =
1193 (PFN_vkCmdNextSubpass)vk->vkGetInstanceProcAddr(instance, "vkCmdNextSubpass");
1194 out->vkCmdEndRenderPass =
1195 (PFN_vkCmdEndRenderPass)vk->vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass");
1196 out->vkCmdExecuteCommands =
1197 (PFN_vkCmdExecuteCommands)vk->vkGetInstanceProcAddr(instance, "vkCmdExecuteCommands");
1198 #endif
1199 #ifdef VK_VERSION_1_1
1200 out->vkBindBufferMemory2 =
1201 (PFN_vkBindBufferMemory2)vk->vkGetInstanceProcAddr(instance, "vkBindBufferMemory2");
1202 out->vkBindImageMemory2 =
1203 (PFN_vkBindImageMemory2)vk->vkGetInstanceProcAddr(instance, "vkBindImageMemory2");
1204 out->vkGetDeviceGroupPeerMemoryFeatures =
1205 (PFN_vkGetDeviceGroupPeerMemoryFeatures)vk->vkGetInstanceProcAddr(
1206 instance, "vkGetDeviceGroupPeerMemoryFeatures");
1207 out->vkCmdSetDeviceMask =
1208 (PFN_vkCmdSetDeviceMask)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDeviceMask");
1209 out->vkCmdDispatchBase =
1210 (PFN_vkCmdDispatchBase)vk->vkGetInstanceProcAddr(instance, "vkCmdDispatchBase");
1211 out->vkGetImageMemoryRequirements2 =
1212 (PFN_vkGetImageMemoryRequirements2)vk->vkGetInstanceProcAddr(
1213 instance, "vkGetImageMemoryRequirements2");
1214 out->vkGetBufferMemoryRequirements2 =
1215 (PFN_vkGetBufferMemoryRequirements2)vk->vkGetInstanceProcAddr(
1216 instance, "vkGetBufferMemoryRequirements2");
1217 out->vkGetImageSparseMemoryRequirements2 =
1218 (PFN_vkGetImageSparseMemoryRequirements2)vk->vkGetInstanceProcAddr(
1219 instance, "vkGetImageSparseMemoryRequirements2");
1220 out->vkTrimCommandPool =
1221 (PFN_vkTrimCommandPool)vk->vkGetInstanceProcAddr(instance, "vkTrimCommandPool");
1222 out->vkGetDeviceQueue2 =
1223 (PFN_vkGetDeviceQueue2)vk->vkGetInstanceProcAddr(instance, "vkGetDeviceQueue2");
1224 out->vkCreateSamplerYcbcrConversion =
1225 (PFN_vkCreateSamplerYcbcrConversion)vk->vkGetInstanceProcAddr(
1226 instance, "vkCreateSamplerYcbcrConversion");
1227 out->vkDestroySamplerYcbcrConversion =
1228 (PFN_vkDestroySamplerYcbcrConversion)vk->vkGetInstanceProcAddr(
1229 instance, "vkDestroySamplerYcbcrConversion");
1230 out->vkCreateDescriptorUpdateTemplate =
1231 (PFN_vkCreateDescriptorUpdateTemplate)vk->vkGetInstanceProcAddr(
1232 instance, "vkCreateDescriptorUpdateTemplate");
1233 out->vkDestroyDescriptorUpdateTemplate =
1234 (PFN_vkDestroyDescriptorUpdateTemplate)vk->vkGetInstanceProcAddr(
1235 instance, "vkDestroyDescriptorUpdateTemplate");
1236 out->vkUpdateDescriptorSetWithTemplate =
1237 (PFN_vkUpdateDescriptorSetWithTemplate)vk->vkGetInstanceProcAddr(
1238 instance, "vkUpdateDescriptorSetWithTemplate");
1239 out->vkGetDescriptorSetLayoutSupport =
1240 (PFN_vkGetDescriptorSetLayoutSupport)vk->vkGetInstanceProcAddr(
1241 instance, "vkGetDescriptorSetLayoutSupport");
1242 #endif
1243 #ifdef VK_VERSION_1_2
1244 out->vkCmdDrawIndirectCount =
1245 (PFN_vkCmdDrawIndirectCount)vk->vkGetInstanceProcAddr(instance, "vkCmdDrawIndirectCount");
1246 out->vkCmdDrawIndexedIndirectCount =
1247 (PFN_vkCmdDrawIndexedIndirectCount)vk->vkGetInstanceProcAddr(
1248 instance, "vkCmdDrawIndexedIndirectCount");
1249 out->vkCreateRenderPass2 =
1250 (PFN_vkCreateRenderPass2)vk->vkGetInstanceProcAddr(instance, "vkCreateRenderPass2");
1251 out->vkCmdBeginRenderPass2 =
1252 (PFN_vkCmdBeginRenderPass2)vk->vkGetInstanceProcAddr(instance, "vkCmdBeginRenderPass2");
1253 out->vkCmdNextSubpass2 =
1254 (PFN_vkCmdNextSubpass2)vk->vkGetInstanceProcAddr(instance, "vkCmdNextSubpass2");
1255 out->vkCmdEndRenderPass2 =
1256 (PFN_vkCmdEndRenderPass2)vk->vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass2");
1257 out->vkResetQueryPool =
1258 (PFN_vkResetQueryPool)vk->vkGetInstanceProcAddr(instance, "vkResetQueryPool");
1259 out->vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)vk->vkGetInstanceProcAddr(
1260 instance, "vkGetSemaphoreCounterValue");
1261 out->vkWaitSemaphores =
1262 (PFN_vkWaitSemaphores)vk->vkGetInstanceProcAddr(instance, "vkWaitSemaphores");
1263 out->vkSignalSemaphore =
1264 (PFN_vkSignalSemaphore)vk->vkGetInstanceProcAddr(instance, "vkSignalSemaphore");
1265 out->vkGetBufferDeviceAddress = (PFN_vkGetBufferDeviceAddress)vk->vkGetInstanceProcAddr(
1266 instance, "vkGetBufferDeviceAddress");
1267 out->vkGetBufferOpaqueCaptureAddress =
1268 (PFN_vkGetBufferOpaqueCaptureAddress)vk->vkGetInstanceProcAddr(
1269 instance, "vkGetBufferOpaqueCaptureAddress");
1270 out->vkGetDeviceMemoryOpaqueCaptureAddress =
1271 (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)vk->vkGetInstanceProcAddr(
1272 instance, "vkGetDeviceMemoryOpaqueCaptureAddress");
1273 #endif
1274 #ifdef VK_VERSION_1_3
1275 out->vkGetPhysicalDeviceToolProperties =
1276 (PFN_vkGetPhysicalDeviceToolProperties)vk->vkGetInstanceProcAddr(
1277 instance, "vkGetPhysicalDeviceToolProperties");
1278 out->vkCreatePrivateDataSlot =
1279 (PFN_vkCreatePrivateDataSlot)vk->vkGetInstanceProcAddr(instance, "vkCreatePrivateDataSlot");
1280 out->vkDestroyPrivateDataSlot = (PFN_vkDestroyPrivateDataSlot)vk->vkGetInstanceProcAddr(
1281 instance, "vkDestroyPrivateDataSlot");
1282 out->vkSetPrivateData =
1283 (PFN_vkSetPrivateData)vk->vkGetInstanceProcAddr(instance, "vkSetPrivateData");
1284 out->vkGetPrivateData =
1285 (PFN_vkGetPrivateData)vk->vkGetInstanceProcAddr(instance, "vkGetPrivateData");
1286 out->vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)vk->vkGetInstanceProcAddr(instance, "vkCmdSetEvent2");
1287 out->vkCmdResetEvent2 =
1288 (PFN_vkCmdResetEvent2)vk->vkGetInstanceProcAddr(instance, "vkCmdResetEvent2");
1289 out->vkCmdWaitEvents2 =
1290 (PFN_vkCmdWaitEvents2)vk->vkGetInstanceProcAddr(instance, "vkCmdWaitEvents2");
1291 out->vkCmdPipelineBarrier2 =
1292 (PFN_vkCmdPipelineBarrier2)vk->vkGetInstanceProcAddr(instance, "vkCmdPipelineBarrier2");
1293 out->vkCmdWriteTimestamp2 =
1294 (PFN_vkCmdWriteTimestamp2)vk->vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp2");
1295 out->vkQueueSubmit2 = (PFN_vkQueueSubmit2)vk->vkGetInstanceProcAddr(instance, "vkQueueSubmit2");
1296 out->vkCmdCopyBuffer2 =
1297 (PFN_vkCmdCopyBuffer2)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer2");
1298 out->vkCmdCopyImage2 =
1299 (PFN_vkCmdCopyImage2)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyImage2");
1300 out->vkCmdCopyBufferToImage2 =
1301 (PFN_vkCmdCopyBufferToImage2)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyBufferToImage2");
1302 out->vkCmdCopyImageToBuffer2 =
1303 (PFN_vkCmdCopyImageToBuffer2)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyImageToBuffer2");
1304 out->vkCmdBlitImage2 =
1305 (PFN_vkCmdBlitImage2)vk->vkGetInstanceProcAddr(instance, "vkCmdBlitImage2");
1306 out->vkCmdResolveImage2 =
1307 (PFN_vkCmdResolveImage2)vk->vkGetInstanceProcAddr(instance, "vkCmdResolveImage2");
1308 out->vkCmdBeginRendering =
1309 (PFN_vkCmdBeginRendering)vk->vkGetInstanceProcAddr(instance, "vkCmdBeginRendering");
1310 out->vkCmdEndRendering =
1311 (PFN_vkCmdEndRendering)vk->vkGetInstanceProcAddr(instance, "vkCmdEndRendering");
1312 out->vkCmdSetCullMode =
1313 (PFN_vkCmdSetCullMode)vk->vkGetInstanceProcAddr(instance, "vkCmdSetCullMode");
1314 out->vkCmdSetFrontFace =
1315 (PFN_vkCmdSetFrontFace)vk->vkGetInstanceProcAddr(instance, "vkCmdSetFrontFace");
1316 out->vkCmdSetPrimitiveTopology = (PFN_vkCmdSetPrimitiveTopology)vk->vkGetInstanceProcAddr(
1317 instance, "vkCmdSetPrimitiveTopology");
1318 out->vkCmdSetViewportWithCount = (PFN_vkCmdSetViewportWithCount)vk->vkGetInstanceProcAddr(
1319 instance, "vkCmdSetViewportWithCount");
1320 out->vkCmdSetScissorWithCount = (PFN_vkCmdSetScissorWithCount)vk->vkGetInstanceProcAddr(
1321 instance, "vkCmdSetScissorWithCount");
1322 out->vkCmdBindVertexBuffers2 =
1323 (PFN_vkCmdBindVertexBuffers2)vk->vkGetInstanceProcAddr(instance, "vkCmdBindVertexBuffers2");
1324 out->vkCmdSetDepthTestEnable =
1325 (PFN_vkCmdSetDepthTestEnable)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDepthTestEnable");
1326 out->vkCmdSetDepthWriteEnable = (PFN_vkCmdSetDepthWriteEnable)vk->vkGetInstanceProcAddr(
1327 instance, "vkCmdSetDepthWriteEnable");
1328 out->vkCmdSetDepthCompareOp =
1329 (PFN_vkCmdSetDepthCompareOp)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDepthCompareOp");
1330 out->vkCmdSetDepthBoundsTestEnable =
1331 (PFN_vkCmdSetDepthBoundsTestEnable)vk->vkGetInstanceProcAddr(
1332 instance, "vkCmdSetDepthBoundsTestEnable");
1333 out->vkCmdSetStencilTestEnable = (PFN_vkCmdSetStencilTestEnable)vk->vkGetInstanceProcAddr(
1334 instance, "vkCmdSetStencilTestEnable");
1335 out->vkCmdSetStencilOp =
1336 (PFN_vkCmdSetStencilOp)vk->vkGetInstanceProcAddr(instance, "vkCmdSetStencilOp");
1337 out->vkCmdSetRasterizerDiscardEnable =
1338 (PFN_vkCmdSetRasterizerDiscardEnable)vk->vkGetInstanceProcAddr(
1339 instance, "vkCmdSetRasterizerDiscardEnable");
1340 out->vkCmdSetDepthBiasEnable =
1341 (PFN_vkCmdSetDepthBiasEnable)vk->vkGetInstanceProcAddr(instance, "vkCmdSetDepthBiasEnable");
1342 out->vkCmdSetPrimitiveRestartEnable =
1343 (PFN_vkCmdSetPrimitiveRestartEnable)vk->vkGetInstanceProcAddr(
1344 instance, "vkCmdSetPrimitiveRestartEnable");
1345 out->vkGetDeviceBufferMemoryRequirements =
1346 (PFN_vkGetDeviceBufferMemoryRequirements)vk->vkGetInstanceProcAddr(
1347 instance, "vkGetDeviceBufferMemoryRequirements");
1348 out->vkGetDeviceImageMemoryRequirements =
1349 (PFN_vkGetDeviceImageMemoryRequirements)vk->vkGetInstanceProcAddr(
1350 instance, "vkGetDeviceImageMemoryRequirements");
1351 out->vkGetDeviceImageSparseMemoryRequirements =
1352 (PFN_vkGetDeviceImageSparseMemoryRequirements)vk->vkGetInstanceProcAddr(
1353 instance, "vkGetDeviceImageSparseMemoryRequirements");
1354 #endif
1355 #ifdef VK_KHR_surface
1356 out->vkGetPhysicalDeviceSurfaceSupportKHR =
1357 (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)vk->vkGetInstanceProcAddr(
1358 instance, "vkGetPhysicalDeviceSurfaceSupportKHR");
1359 out->vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
1360 (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)vk->vkGetInstanceProcAddr(
1361 instance, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
1362 out->vkGetPhysicalDeviceSurfaceFormatsKHR =
1363 (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)vk->vkGetInstanceProcAddr(
1364 instance, "vkGetPhysicalDeviceSurfaceFormatsKHR");
1365 out->vkGetPhysicalDeviceSurfacePresentModesKHR =
1366 (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)vk->vkGetInstanceProcAddr(
1367 instance, "vkGetPhysicalDeviceSurfacePresentModesKHR");
1368 #endif
1369 #ifdef VK_KHR_swapchain
1370 out->vkGetDeviceGroupPresentCapabilitiesKHR =
1371 (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)vk->vkGetInstanceProcAddr(
1372 instance, "vkGetDeviceGroupPresentCapabilitiesKHR");
1373 out->vkGetDeviceGroupSurfacePresentModesKHR =
1374 (PFN_vkGetDeviceGroupSurfacePresentModesKHR)vk->vkGetInstanceProcAddr(
1375 instance, "vkGetDeviceGroupSurfacePresentModesKHR");
1376 out->vkGetPhysicalDevicePresentRectanglesKHR =
1377 (PFN_vkGetPhysicalDevicePresentRectanglesKHR)vk->vkGetInstanceProcAddr(
1378 instance, "vkGetPhysicalDevicePresentRectanglesKHR");
1379 out->vkAcquireNextImage2KHR =
1380 (PFN_vkAcquireNextImage2KHR)vk->vkGetInstanceProcAddr(instance, "vkAcquireNextImage2KHR");
1381 #endif
1382 #ifdef VK_KHR_dynamic_rendering
1383 out->vkCmdBeginRenderingKHR =
1384 (PFN_vkCmdBeginRenderingKHR)vk->vkGetInstanceProcAddr(instance, "vkCmdBeginRenderingKHR");
1385 out->vkCmdEndRenderingKHR =
1386 (PFN_vkCmdEndRenderingKHR)vk->vkGetInstanceProcAddr(instance, "vkCmdEndRenderingKHR");
1387 #endif
1388 #ifdef VK_KHR_get_physical_device_properties2
1389 out->vkGetPhysicalDeviceFeatures2KHR =
1390 (PFN_vkGetPhysicalDeviceFeatures2KHR)vk->vkGetInstanceProcAddr(
1391 instance, "vkGetPhysicalDeviceFeatures2KHR");
1392 out->vkGetPhysicalDeviceProperties2KHR =
1393 (PFN_vkGetPhysicalDeviceProperties2KHR)vk->vkGetInstanceProcAddr(
1394 instance, "vkGetPhysicalDeviceProperties2KHR");
1395 out->vkGetPhysicalDeviceFormatProperties2KHR =
1396 (PFN_vkGetPhysicalDeviceFormatProperties2KHR)vk->vkGetInstanceProcAddr(
1397 instance, "vkGetPhysicalDeviceFormatProperties2KHR");
1398 out->vkGetPhysicalDeviceImageFormatProperties2KHR =
1399 (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)vk->vkGetInstanceProcAddr(
1400 instance, "vkGetPhysicalDeviceImageFormatProperties2KHR");
1401 out->vkGetPhysicalDeviceQueueFamilyProperties2KHR =
1402 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)vk->vkGetInstanceProcAddr(
1403 instance, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
1404 out->vkGetPhysicalDeviceMemoryProperties2KHR =
1405 (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)vk->vkGetInstanceProcAddr(
1406 instance, "vkGetPhysicalDeviceMemoryProperties2KHR");
1407 out->vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
1408 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)vk->vkGetInstanceProcAddr(
1409 instance, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
1410 #endif
1411 #ifdef VK_KHR_maintenance1
1412 out->vkTrimCommandPoolKHR =
1413 (PFN_vkTrimCommandPoolKHR)vk->vkGetInstanceProcAddr(instance, "vkTrimCommandPoolKHR");
1414 #endif
1415 #ifdef VK_KHR_external_memory_capabilities
1416 out->vkGetPhysicalDeviceExternalBufferPropertiesKHR =
1417 (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)vk->vkGetInstanceProcAddr(
1418 instance, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
1419 #endif
1420 #ifdef VK_KHR_external_memory_win32
1421 out->vkGetMemoryWin32HandleKHR = (PFN_vkGetMemoryWin32HandleKHR)vk->vkGetInstanceProcAddr(
1422 instance, "vkGetMemoryWin32HandleKHR");
1423 out->vkGetMemoryWin32HandlePropertiesKHR =
1424 (PFN_vkGetMemoryWin32HandlePropertiesKHR)vk->vkGetInstanceProcAddr(
1425 instance, "vkGetMemoryWin32HandlePropertiesKHR");
1426 #endif
1427 #ifdef VK_KHR_external_memory_fd
1428 out->vkGetMemoryFdKHR =
1429 (PFN_vkGetMemoryFdKHR)vk->vkGetInstanceProcAddr(instance, "vkGetMemoryFdKHR");
1430 out->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)vk->vkGetInstanceProcAddr(
1431 instance, "vkGetMemoryFdPropertiesKHR");
1432 #endif
1433 #ifdef VK_KHR_external_semaphore_capabilities
1434 out->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
1435 (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)vk->vkGetInstanceProcAddr(
1436 instance, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
1437 #endif
1438 #ifdef VK_KHR_external_semaphore_win32
1439 out->vkImportSemaphoreWin32HandleKHR =
1440 (PFN_vkImportSemaphoreWin32HandleKHR)vk->vkGetInstanceProcAddr(
1441 instance, "vkImportSemaphoreWin32HandleKHR");
1442 out->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)vk->vkGetInstanceProcAddr(
1443 instance, "vkGetSemaphoreWin32HandleKHR");
1444 #endif
1445 #ifdef VK_KHR_external_semaphore_fd
1446 out->vkImportSemaphoreFdKHR =
1447 (PFN_vkImportSemaphoreFdKHR)vk->vkGetInstanceProcAddr(instance, "vkImportSemaphoreFdKHR");
1448 out->vkGetSemaphoreFdKHR =
1449 (PFN_vkGetSemaphoreFdKHR)vk->vkGetInstanceProcAddr(instance, "vkGetSemaphoreFdKHR");
1450 #endif
1451 #ifdef VK_KHR_descriptor_update_template
1452 out->vkCreateDescriptorUpdateTemplateKHR =
1453 (PFN_vkCreateDescriptorUpdateTemplateKHR)vk->vkGetInstanceProcAddr(
1454 instance, "vkCreateDescriptorUpdateTemplateKHR");
1455 out->vkDestroyDescriptorUpdateTemplateKHR =
1456 (PFN_vkDestroyDescriptorUpdateTemplateKHR)vk->vkGetInstanceProcAddr(
1457 instance, "vkDestroyDescriptorUpdateTemplateKHR");
1458 out->vkUpdateDescriptorSetWithTemplateKHR =
1459 (PFN_vkUpdateDescriptorSetWithTemplateKHR)vk->vkGetInstanceProcAddr(
1460 instance, "vkUpdateDescriptorSetWithTemplateKHR");
1461 #endif
1462 #ifdef VK_KHR_create_renderpass2
1463 out->vkCreateRenderPass2KHR =
1464 (PFN_vkCreateRenderPass2KHR)vk->vkGetInstanceProcAddr(instance, "vkCreateRenderPass2KHR");
1465 out->vkCmdBeginRenderPass2KHR = (PFN_vkCmdBeginRenderPass2KHR)vk->vkGetInstanceProcAddr(
1466 instance, "vkCmdBeginRenderPass2KHR");
1467 out->vkCmdNextSubpass2KHR =
1468 (PFN_vkCmdNextSubpass2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdNextSubpass2KHR");
1469 out->vkCmdEndRenderPass2KHR =
1470 (PFN_vkCmdEndRenderPass2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdEndRenderPass2KHR");
1471 #endif
1472 #ifdef VK_KHR_external_fence_capabilities
1473 out->vkGetPhysicalDeviceExternalFencePropertiesKHR =
1474 (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)vk->vkGetInstanceProcAddr(
1475 instance, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
1476 #endif
1477 #ifdef VK_KHR_external_fence_fd
1478 out->vkImportFenceFdKHR =
1479 (PFN_vkImportFenceFdKHR)vk->vkGetInstanceProcAddr(instance, "vkImportFenceFdKHR");
1480 out->vkGetFenceFdKHR =
1481 (PFN_vkGetFenceFdKHR)vk->vkGetInstanceProcAddr(instance, "vkGetFenceFdKHR");
1482 #endif
1483 #ifdef VK_KHR_get_memory_requirements2
1484 out->vkGetImageMemoryRequirements2KHR =
1485 (PFN_vkGetImageMemoryRequirements2KHR)vk->vkGetInstanceProcAddr(
1486 instance, "vkGetImageMemoryRequirements2KHR");
1487 out->vkGetBufferMemoryRequirements2KHR =
1488 (PFN_vkGetBufferMemoryRequirements2KHR)vk->vkGetInstanceProcAddr(
1489 instance, "vkGetBufferMemoryRequirements2KHR");
1490 out->vkGetImageSparseMemoryRequirements2KHR =
1491 (PFN_vkGetImageSparseMemoryRequirements2KHR)vk->vkGetInstanceProcAddr(
1492 instance, "vkGetImageSparseMemoryRequirements2KHR");
1493 #endif
1494 #ifdef VK_KHR_sampler_ycbcr_conversion
1495 out->vkCreateSamplerYcbcrConversionKHR =
1496 (PFN_vkCreateSamplerYcbcrConversionKHR)vk->vkGetInstanceProcAddr(
1497 instance, "vkCreateSamplerYcbcrConversionKHR");
1498 out->vkDestroySamplerYcbcrConversionKHR =
1499 (PFN_vkDestroySamplerYcbcrConversionKHR)vk->vkGetInstanceProcAddr(
1500 instance, "vkDestroySamplerYcbcrConversionKHR");
1501 #endif
1502 #ifdef VK_KHR_bind_memory2
1503 out->vkBindBufferMemory2KHR =
1504 (PFN_vkBindBufferMemory2KHR)vk->vkGetInstanceProcAddr(instance, "vkBindBufferMemory2KHR");
1505 out->vkBindImageMemory2KHR =
1506 (PFN_vkBindImageMemory2KHR)vk->vkGetInstanceProcAddr(instance, "vkBindImageMemory2KHR");
1507 #endif
1508 #ifdef VK_KHR_maintenance3
1509 out->vkGetDescriptorSetLayoutSupportKHR =
1510 (PFN_vkGetDescriptorSetLayoutSupportKHR)vk->vkGetInstanceProcAddr(
1511 instance, "vkGetDescriptorSetLayoutSupportKHR");
1512 #endif
1513 #ifdef VK_KHR_buffer_device_address
1514 out->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)vk->vkGetInstanceProcAddr(
1515 instance, "vkGetBufferDeviceAddressKHR");
1516 out->vkGetBufferOpaqueCaptureAddressKHR =
1517 (PFN_vkGetBufferOpaqueCaptureAddressKHR)vk->vkGetInstanceProcAddr(
1518 instance, "vkGetBufferOpaqueCaptureAddressKHR");
1519 out->vkGetDeviceMemoryOpaqueCaptureAddressKHR =
1520 (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)vk->vkGetInstanceProcAddr(
1521 instance, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
1522 #endif
1523 #ifdef VK_KHR_pipeline_executable_properties
1524 out->vkGetPipelineExecutablePropertiesKHR =
1525 (PFN_vkGetPipelineExecutablePropertiesKHR)vk->vkGetInstanceProcAddr(
1526 instance, "vkGetPipelineExecutablePropertiesKHR");
1527 out->vkGetPipelineExecutableStatisticsKHR =
1528 (PFN_vkGetPipelineExecutableStatisticsKHR)vk->vkGetInstanceProcAddr(
1529 instance, "vkGetPipelineExecutableStatisticsKHR");
1530 out->vkGetPipelineExecutableInternalRepresentationsKHR =
1531 (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)vk->vkGetInstanceProcAddr(
1532 instance, "vkGetPipelineExecutableInternalRepresentationsKHR");
1533 #endif
1534 #ifdef VK_KHR_synchronization2
1535 out->vkCmdSetEvent2KHR =
1536 (PFN_vkCmdSetEvent2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdSetEvent2KHR");
1537 out->vkCmdResetEvent2KHR =
1538 (PFN_vkCmdResetEvent2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdResetEvent2KHR");
1539 out->vkCmdWaitEvents2KHR =
1540 (PFN_vkCmdWaitEvents2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdWaitEvents2KHR");
1541 out->vkCmdPipelineBarrier2KHR = (PFN_vkCmdPipelineBarrier2KHR)vk->vkGetInstanceProcAddr(
1542 instance, "vkCmdPipelineBarrier2KHR");
1543 out->vkCmdWriteTimestamp2KHR =
1544 (PFN_vkCmdWriteTimestamp2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdWriteTimestamp2KHR");
1545 out->vkQueueSubmit2KHR =
1546 (PFN_vkQueueSubmit2KHR)vk->vkGetInstanceProcAddr(instance, "vkQueueSubmit2KHR");
1547 out->vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)vk->vkGetInstanceProcAddr(
1548 instance, "vkCmdWriteBufferMarker2AMD");
1549 out->vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)vk->vkGetInstanceProcAddr(
1550 instance, "vkGetQueueCheckpointData2NV");
1551 #endif
1552 #ifdef VK_KHR_copy_commands2
1553 out->vkCmdCopyBuffer2KHR =
1554 (PFN_vkCmdCopyBuffer2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyBuffer2KHR");
1555 out->vkCmdCopyImage2KHR =
1556 (PFN_vkCmdCopyImage2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdCopyImage2KHR");
1557 out->vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)vk->vkGetInstanceProcAddr(
1558 instance, "vkCmdCopyBufferToImage2KHR");
1559 out->vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)vk->vkGetInstanceProcAddr(
1560 instance, "vkCmdCopyImageToBuffer2KHR");
1561 out->vkCmdBlitImage2KHR =
1562 (PFN_vkCmdBlitImage2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdBlitImage2KHR");
1563 out->vkCmdResolveImage2KHR =
1564 (PFN_vkCmdResolveImage2KHR)vk->vkGetInstanceProcAddr(instance, "vkCmdResolveImage2KHR");
1565 #endif
1566 #ifdef VK_KHR_maintenance4
1567 out->vkGetDeviceBufferMemoryRequirementsKHR =
1568 (PFN_vkGetDeviceBufferMemoryRequirementsKHR)vk->vkGetInstanceProcAddr(
1569 instance, "vkGetDeviceBufferMemoryRequirementsKHR");
1570 out->vkGetDeviceImageMemoryRequirementsKHR =
1571 (PFN_vkGetDeviceImageMemoryRequirementsKHR)vk->vkGetInstanceProcAddr(
1572 instance, "vkGetDeviceImageMemoryRequirementsKHR");
1573 out->vkGetDeviceImageSparseMemoryRequirementsKHR =
1574 (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)vk->vkGetInstanceProcAddr(
1575 instance, "vkGetDeviceImageSparseMemoryRequirementsKHR");
1576 #endif
1577 #ifdef VK_KHR_maintenance5
1578 out->vkCmdBindIndexBuffer2KHR = (PFN_vkCmdBindIndexBuffer2KHR)vk->vkGetInstanceProcAddr(
1579 instance, "vkCmdBindIndexBuffer2KHR");
1580 out->vkGetRenderingAreaGranularityKHR =
1581 (PFN_vkGetRenderingAreaGranularityKHR)vk->vkGetInstanceProcAddr(
1582 instance, "vkGetRenderingAreaGranularityKHR");
1583 out->vkGetDeviceImageSubresourceLayoutKHR =
1584 (PFN_vkGetDeviceImageSubresourceLayoutKHR)vk->vkGetInstanceProcAddr(
1585 instance, "vkGetDeviceImageSubresourceLayoutKHR");
1586 out->vkGetImageSubresourceLayout2KHR =
1587 (PFN_vkGetImageSubresourceLayout2KHR)vk->vkGetInstanceProcAddr(
1588 instance, "vkGetImageSubresourceLayout2KHR");
1589 #endif
1590 #ifdef VK_KHR_line_rasterization
1591 out->vkCmdSetLineStippleKHR =
1592 (PFN_vkCmdSetLineStippleKHR)vk->vkGetInstanceProcAddr(instance, "vkCmdSetLineStippleKHR");
1593 #endif
1594 #ifdef VK_ANDROID_native_buffer
1595 out->vkGetSwapchainGrallocUsageANDROID =
1596 (PFN_vkGetSwapchainGrallocUsageANDROID)vk->vkGetInstanceProcAddr(
1597 instance, "vkGetSwapchainGrallocUsageANDROID");
1598 out->vkAcquireImageANDROID =
1599 (PFN_vkAcquireImageANDROID)vk->vkGetInstanceProcAddr(instance, "vkAcquireImageANDROID");
1600 out->vkQueueSignalReleaseImageANDROID =
1601 (PFN_vkQueueSignalReleaseImageANDROID)vk->vkGetInstanceProcAddr(
1602 instance, "vkQueueSignalReleaseImageANDROID");
1603 out->vkGetSwapchainGrallocUsage2ANDROID =
1604 (PFN_vkGetSwapchainGrallocUsage2ANDROID)vk->vkGetInstanceProcAddr(
1605 instance, "vkGetSwapchainGrallocUsage2ANDROID");
1606 #endif
1607 #ifdef VK_EXT_transform_feedback
1608 out->vkCmdBindTransformFeedbackBuffersEXT =
1609 (PFN_vkCmdBindTransformFeedbackBuffersEXT)vk->vkGetInstanceProcAddr(
1610 instance, "vkCmdBindTransformFeedbackBuffersEXT");
1611 out->vkCmdBeginTransformFeedbackEXT =
1612 (PFN_vkCmdBeginTransformFeedbackEXT)vk->vkGetInstanceProcAddr(
1613 instance, "vkCmdBeginTransformFeedbackEXT");
1614 out->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)vk->vkGetInstanceProcAddr(
1615 instance, "vkCmdEndTransformFeedbackEXT");
1616 out->vkCmdBeginQueryIndexedEXT = (PFN_vkCmdBeginQueryIndexedEXT)vk->vkGetInstanceProcAddr(
1617 instance, "vkCmdBeginQueryIndexedEXT");
1618 out->vkCmdEndQueryIndexedEXT =
1619 (PFN_vkCmdEndQueryIndexedEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdEndQueryIndexedEXT");
1620 out->vkCmdDrawIndirectByteCountEXT =
1621 (PFN_vkCmdDrawIndirectByteCountEXT)vk->vkGetInstanceProcAddr(
1622 instance, "vkCmdDrawIndirectByteCountEXT");
1623 #endif
1624 #ifdef VK_EXT_debug_utils
1625 out->vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)vk->vkGetInstanceProcAddr(
1626 instance, "vkSetDebugUtilsObjectNameEXT");
1627 out->vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)vk->vkGetInstanceProcAddr(
1628 instance, "vkSetDebugUtilsObjectTagEXT");
1629 out->vkQueueBeginDebugUtilsLabelEXT =
1630 (PFN_vkQueueBeginDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1631 instance, "vkQueueBeginDebugUtilsLabelEXT");
1632 out->vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1633 instance, "vkQueueEndDebugUtilsLabelEXT");
1634 out->vkQueueInsertDebugUtilsLabelEXT =
1635 (PFN_vkQueueInsertDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1636 instance, "vkQueueInsertDebugUtilsLabelEXT");
1637 out->vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1638 instance, "vkCmdBeginDebugUtilsLabelEXT");
1639 out->vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1640 instance, "vkCmdEndDebugUtilsLabelEXT");
1641 out->vkCmdInsertDebugUtilsLabelEXT =
1642 (PFN_vkCmdInsertDebugUtilsLabelEXT)vk->vkGetInstanceProcAddr(
1643 instance, "vkCmdInsertDebugUtilsLabelEXT");
1644 #endif
1645 #ifdef VK_EXT_image_drm_format_modifier
1646 out->vkGetImageDrmFormatModifierPropertiesEXT =
1647 (PFN_vkGetImageDrmFormatModifierPropertiesEXT)vk->vkGetInstanceProcAddr(
1648 instance, "vkGetImageDrmFormatModifierPropertiesEXT");
1649 #endif
1650 #ifdef VK_EXT_external_memory_host
1651 out->vkGetMemoryHostPointerPropertiesEXT =
1652 (PFN_vkGetMemoryHostPointerPropertiesEXT)vk->vkGetInstanceProcAddr(
1653 instance, "vkGetMemoryHostPointerPropertiesEXT");
1654 #endif
1655 #ifdef VK_NV_device_diagnostic_checkpoints
1656 out->vkCmdSetCheckpointNV =
1657 (PFN_vkCmdSetCheckpointNV)vk->vkGetInstanceProcAddr(instance, "vkCmdSetCheckpointNV");
1658 out->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)vk->vkGetInstanceProcAddr(
1659 instance, "vkGetQueueCheckpointDataNV");
1660 #endif
1661 #ifdef VK_EXT_tooling_info
1662 out->vkGetPhysicalDeviceToolPropertiesEXT =
1663 (PFN_vkGetPhysicalDeviceToolPropertiesEXT)vk->vkGetInstanceProcAddr(
1664 instance, "vkGetPhysicalDeviceToolPropertiesEXT");
1665 #endif
1666 #ifdef VK_EXT_line_rasterization
1667 out->vkCmdSetLineStippleEXT =
1668 (PFN_vkCmdSetLineStippleEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdSetLineStippleEXT");
1669 #endif
1670 #ifdef VK_EXT_extended_dynamic_state
1671 out->vkCmdSetCullModeEXT =
1672 (PFN_vkCmdSetCullModeEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdSetCullModeEXT");
1673 out->vkCmdSetFrontFaceEXT =
1674 (PFN_vkCmdSetFrontFaceEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdSetFrontFaceEXT");
1675 out->vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)vk->vkGetInstanceProcAddr(
1676 instance, "vkCmdSetPrimitiveTopologyEXT");
1677 out->vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)vk->vkGetInstanceProcAddr(
1678 instance, "vkCmdSetViewportWithCountEXT");
1679 out->vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)vk->vkGetInstanceProcAddr(
1680 instance, "vkCmdSetScissorWithCountEXT");
1681 out->vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)vk->vkGetInstanceProcAddr(
1682 instance, "vkCmdBindVertexBuffers2EXT");
1683 out->vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)vk->vkGetInstanceProcAddr(
1684 instance, "vkCmdSetDepthTestEnableEXT");
1685 out->vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)vk->vkGetInstanceProcAddr(
1686 instance, "vkCmdSetDepthWriteEnableEXT");
1687 out->vkCmdSetDepthCompareOpEXT = (PFN_vkCmdSetDepthCompareOpEXT)vk->vkGetInstanceProcAddr(
1688 instance, "vkCmdSetDepthCompareOpEXT");
1689 out->vkCmdSetDepthBoundsTestEnableEXT =
1690 (PFN_vkCmdSetDepthBoundsTestEnableEXT)vk->vkGetInstanceProcAddr(
1691 instance, "vkCmdSetDepthBoundsTestEnableEXT");
1692 out->vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)vk->vkGetInstanceProcAddr(
1693 instance, "vkCmdSetStencilTestEnableEXT");
1694 out->vkCmdSetStencilOpEXT =
1695 (PFN_vkCmdSetStencilOpEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdSetStencilOpEXT");
1696 #endif
1697 #ifdef VK_EXT_host_image_copy
1698 out->vkCopyMemoryToImageEXT =
1699 (PFN_vkCopyMemoryToImageEXT)vk->vkGetInstanceProcAddr(instance, "vkCopyMemoryToImageEXT");
1700 out->vkCopyImageToMemoryEXT =
1701 (PFN_vkCopyImageToMemoryEXT)vk->vkGetInstanceProcAddr(instance, "vkCopyImageToMemoryEXT");
1702 out->vkCopyImageToImageEXT =
1703 (PFN_vkCopyImageToImageEXT)vk->vkGetInstanceProcAddr(instance, "vkCopyImageToImageEXT");
1704 out->vkTransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT)vk->vkGetInstanceProcAddr(
1705 instance, "vkTransitionImageLayoutEXT");
1706 out->vkGetImageSubresourceLayout2EXT =
1707 (PFN_vkGetImageSubresourceLayout2EXT)vk->vkGetInstanceProcAddr(
1708 instance, "vkGetImageSubresourceLayout2EXT");
1709 #endif
1710 #ifdef VK_EXT_swapchain_maintenance1
1711 out->vkReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)vk->vkGetInstanceProcAddr(
1712 instance, "vkReleaseSwapchainImagesEXT");
1713 #endif
1714 #ifdef VK_EXT_private_data
1715 out->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)vk->vkGetInstanceProcAddr(
1716 instance, "vkCreatePrivateDataSlotEXT");
1717 out->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)vk->vkGetInstanceProcAddr(
1718 instance, "vkDestroyPrivateDataSlotEXT");
1719 out->vkSetPrivateDataEXT =
1720 (PFN_vkSetPrivateDataEXT)vk->vkGetInstanceProcAddr(instance, "vkSetPrivateDataEXT");
1721 out->vkGetPrivateDataEXT =
1722 (PFN_vkGetPrivateDataEXT)vk->vkGetInstanceProcAddr(instance, "vkGetPrivateDataEXT");
1723 #endif
1724 #ifdef VK_EXT_metal_objects
1725 out->vkExportMetalObjectsEXT =
1726 (PFN_vkExportMetalObjectsEXT)vk->vkGetInstanceProcAddr(instance, "vkExportMetalObjectsEXT");
1727 #endif
1728 #ifdef VK_EXT_extended_dynamic_state2
1729 out->vkCmdSetPatchControlPointsEXT =
1730 (PFN_vkCmdSetPatchControlPointsEXT)vk->vkGetInstanceProcAddr(
1731 instance, "vkCmdSetPatchControlPointsEXT");
1732 out->vkCmdSetRasterizerDiscardEnableEXT =
1733 (PFN_vkCmdSetRasterizerDiscardEnableEXT)vk->vkGetInstanceProcAddr(
1734 instance, "vkCmdSetRasterizerDiscardEnableEXT");
1735 out->vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)vk->vkGetInstanceProcAddr(
1736 instance, "vkCmdSetDepthBiasEnableEXT");
1737 out->vkCmdSetLogicOpEXT =
1738 (PFN_vkCmdSetLogicOpEXT)vk->vkGetInstanceProcAddr(instance, "vkCmdSetLogicOpEXT");
1739 out->vkCmdSetPrimitiveRestartEnableEXT =
1740 (PFN_vkCmdSetPrimitiveRestartEnableEXT)vk->vkGetInstanceProcAddr(
1741 instance, "vkCmdSetPrimitiveRestartEnableEXT");
1742 #endif
1743 #ifdef VK_EXT_color_write_enable
1744 out->vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)vk->vkGetInstanceProcAddr(
1745 instance, "vkCmdSetColorWriteEnableEXT");
1746 #endif
1747 #ifdef VK_GOOGLE_gfxstream
1748 out->vkMapMemoryIntoAddressSpaceGOOGLE =
1749 (PFN_vkMapMemoryIntoAddressSpaceGOOGLE)vk->vkGetInstanceProcAddr(
1750 instance, "vkMapMemoryIntoAddressSpaceGOOGLE");
1751 out->vkUpdateDescriptorSetWithTemplateSizedGOOGLE =
1752 (PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)vk->vkGetInstanceProcAddr(
1753 instance, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
1754 out->vkBeginCommandBufferAsyncGOOGLE =
1755 (PFN_vkBeginCommandBufferAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1756 instance, "vkBeginCommandBufferAsyncGOOGLE");
1757 out->vkEndCommandBufferAsyncGOOGLE =
1758 (PFN_vkEndCommandBufferAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1759 instance, "vkEndCommandBufferAsyncGOOGLE");
1760 out->vkResetCommandBufferAsyncGOOGLE =
1761 (PFN_vkResetCommandBufferAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1762 instance, "vkResetCommandBufferAsyncGOOGLE");
1763 out->vkCommandBufferHostSyncGOOGLE =
1764 (PFN_vkCommandBufferHostSyncGOOGLE)vk->vkGetInstanceProcAddr(
1765 instance, "vkCommandBufferHostSyncGOOGLE");
1766 out->vkCreateImageWithRequirementsGOOGLE =
1767 (PFN_vkCreateImageWithRequirementsGOOGLE)vk->vkGetInstanceProcAddr(
1768 instance, "vkCreateImageWithRequirementsGOOGLE");
1769 out->vkCreateBufferWithRequirementsGOOGLE =
1770 (PFN_vkCreateBufferWithRequirementsGOOGLE)vk->vkGetInstanceProcAddr(
1771 instance, "vkCreateBufferWithRequirementsGOOGLE");
1772 out->vkGetMemoryHostAddressInfoGOOGLE =
1773 (PFN_vkGetMemoryHostAddressInfoGOOGLE)vk->vkGetInstanceProcAddr(
1774 instance, "vkGetMemoryHostAddressInfoGOOGLE");
1775 out->vkFreeMemorySyncGOOGLE =
1776 (PFN_vkFreeMemorySyncGOOGLE)vk->vkGetInstanceProcAddr(instance, "vkFreeMemorySyncGOOGLE");
1777 out->vkQueueHostSyncGOOGLE =
1778 (PFN_vkQueueHostSyncGOOGLE)vk->vkGetInstanceProcAddr(instance, "vkQueueHostSyncGOOGLE");
1779 out->vkQueueSubmitAsyncGOOGLE = (PFN_vkQueueSubmitAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1780 instance, "vkQueueSubmitAsyncGOOGLE");
1781 out->vkQueueWaitIdleAsyncGOOGLE = (PFN_vkQueueWaitIdleAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1782 instance, "vkQueueWaitIdleAsyncGOOGLE");
1783 out->vkQueueBindSparseAsyncGOOGLE = (PFN_vkQueueBindSparseAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1784 instance, "vkQueueBindSparseAsyncGOOGLE");
1785 out->vkGetLinearImageLayoutGOOGLE = (PFN_vkGetLinearImageLayoutGOOGLE)vk->vkGetInstanceProcAddr(
1786 instance, "vkGetLinearImageLayoutGOOGLE");
1787 out->vkGetLinearImageLayout2GOOGLE =
1788 (PFN_vkGetLinearImageLayout2GOOGLE)vk->vkGetInstanceProcAddr(
1789 instance, "vkGetLinearImageLayout2GOOGLE");
1790 out->vkQueueFlushCommandsGOOGLE = (PFN_vkQueueFlushCommandsGOOGLE)vk->vkGetInstanceProcAddr(
1791 instance, "vkQueueFlushCommandsGOOGLE");
1792 out->vkQueueCommitDescriptorSetUpdatesGOOGLE =
1793 (PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)vk->vkGetInstanceProcAddr(
1794 instance, "vkQueueCommitDescriptorSetUpdatesGOOGLE");
1795 out->vkCollectDescriptorPoolIdsGOOGLE =
1796 (PFN_vkCollectDescriptorPoolIdsGOOGLE)vk->vkGetInstanceProcAddr(
1797 instance, "vkCollectDescriptorPoolIdsGOOGLE");
1798 out->vkQueueSignalReleaseImageANDROIDAsyncGOOGLE =
1799 (PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)vk->vkGetInstanceProcAddr(
1800 instance, "vkQueueSignalReleaseImageANDROIDAsyncGOOGLE");
1801 out->vkQueueFlushCommandsFromAuxMemoryGOOGLE =
1802 (PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)vk->vkGetInstanceProcAddr(
1803 instance, "vkQueueFlushCommandsFromAuxMemoryGOOGLE");
1804 out->vkGetBlobGOOGLE =
1805 (PFN_vkGetBlobGOOGLE)vk->vkGetInstanceProcAddr(instance, "vkGetBlobGOOGLE");
1806 out->vkUpdateDescriptorSetWithTemplateSized2GOOGLE =
1807 (PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)vk->vkGetInstanceProcAddr(
1808 instance, "vkUpdateDescriptorSetWithTemplateSized2GOOGLE");
1809 out->vkQueueSubmitAsync2GOOGLE = (PFN_vkQueueSubmitAsync2GOOGLE)vk->vkGetInstanceProcAddr(
1810 instance, "vkQueueSubmitAsync2GOOGLE");
1811 out->vkGetSemaphoreGOOGLE =
1812 (PFN_vkGetSemaphoreGOOGLE)vk->vkGetInstanceProcAddr(instance, "vkGetSemaphoreGOOGLE");
1813 #endif
1814 #ifdef VK_QNX_external_memory_screen_buffer
1815 out->vkGetScreenBufferPropertiesQNX =
1816 (PFN_vkGetScreenBufferPropertiesQNX)vk->vkGetInstanceProcAddr(
1817 instance, "vkGetScreenBufferPropertiesQNX");
1818 #endif
1819 #ifdef VK_EXT_external_memory_metal
1820 out->vkGetMemoryMetalHandleEXT = (PFN_vkGetMemoryMetalHandleEXT)vk->vkGetInstanceProcAddr(
1821 instance, "vkGetMemoryMetalHandleEXT");
1822 out->vkGetMemoryMetalHandlePropertiesEXT =
1823 (PFN_vkGetMemoryMetalHandlePropertiesEXT)vk->vkGetInstanceProcAddr(
1824 instance, "vkGetMemoryMetalHandlePropertiesEXT");
1825 #endif
1826 #ifdef VK_KHR_ray_tracing_pipeline
1827 out->vkCmdTraceRaysKHR =
1828 (PFN_vkCmdTraceRaysKHR)vk->vkGetInstanceProcAddr(instance, "vkCmdTraceRaysKHR");
1829 out->vkCreateRayTracingPipelinesKHR =
1830 (PFN_vkCreateRayTracingPipelinesKHR)vk->vkGetInstanceProcAddr(
1831 instance, "vkCreateRayTracingPipelinesKHR");
1832 out->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
1833 (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)vk->vkGetInstanceProcAddr(
1834 instance, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
1835 out->vkCmdTraceRaysIndirectKHR = (PFN_vkCmdTraceRaysIndirectKHR)vk->vkGetInstanceProcAddr(
1836 instance, "vkCmdTraceRaysIndirectKHR");
1837 out->vkGetRayTracingShaderGroupStackSizeKHR =
1838 (PFN_vkGetRayTracingShaderGroupStackSizeKHR)vk->vkGetInstanceProcAddr(
1839 instance, "vkGetRayTracingShaderGroupStackSizeKHR");
1840 out->vkCmdSetRayTracingPipelineStackSizeKHR =
1841 (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)vk->vkGetInstanceProcAddr(
1842 instance, "vkCmdSetRayTracingPipelineStackSizeKHR");
1843 #endif
1844 }
1845
init_vulkan_dispatch_from_device(VulkanDispatch * vk,VkDevice device,VulkanDispatch * out)1846 void init_vulkan_dispatch_from_device(VulkanDispatch* vk, VkDevice device, VulkanDispatch* out) {
1847 memset(out, 0x0, sizeof(VulkanDispatch));
1848 #ifdef VK_VERSION_1_0
1849 out->vkDestroyInstance =
1850 (PFN_vkDestroyInstance)vk->vkGetDeviceProcAddr(device, "vkDestroyInstance");
1851 out->vkEnumeratePhysicalDevices = (PFN_vkEnumeratePhysicalDevices)vk->vkGetDeviceProcAddr(
1852 device, "vkEnumeratePhysicalDevices");
1853 out->vkGetPhysicalDeviceFeatures = (PFN_vkGetPhysicalDeviceFeatures)vk->vkGetDeviceProcAddr(
1854 device, "vkGetPhysicalDeviceFeatures");
1855 out->vkGetPhysicalDeviceFormatProperties =
1856 (PFN_vkGetPhysicalDeviceFormatProperties)vk->vkGetDeviceProcAddr(
1857 device, "vkGetPhysicalDeviceFormatProperties");
1858 out->vkGetPhysicalDeviceImageFormatProperties =
1859 (PFN_vkGetPhysicalDeviceImageFormatProperties)vk->vkGetDeviceProcAddr(
1860 device, "vkGetPhysicalDeviceImageFormatProperties");
1861 out->vkGetPhysicalDeviceProperties = (PFN_vkGetPhysicalDeviceProperties)vk->vkGetDeviceProcAddr(
1862 device, "vkGetPhysicalDeviceProperties");
1863 out->vkGetPhysicalDeviceQueueFamilyProperties =
1864 (PFN_vkGetPhysicalDeviceQueueFamilyProperties)vk->vkGetDeviceProcAddr(
1865 device, "vkGetPhysicalDeviceQueueFamilyProperties");
1866 out->vkGetPhysicalDeviceMemoryProperties =
1867 (PFN_vkGetPhysicalDeviceMemoryProperties)vk->vkGetDeviceProcAddr(
1868 device, "vkGetPhysicalDeviceMemoryProperties");
1869 out->vkGetInstanceProcAddr =
1870 (PFN_vkGetInstanceProcAddr)vk->vkGetDeviceProcAddr(device, "vkGetInstanceProcAddr");
1871 out->vkCreateDevice = (PFN_vkCreateDevice)vk->vkGetDeviceProcAddr(device, "vkCreateDevice");
1872 out->vkDestroyDevice = (PFN_vkDestroyDevice)vk->vkGetDeviceProcAddr(device, "vkDestroyDevice");
1873 out->vkEnumerateDeviceExtensionProperties =
1874 (PFN_vkEnumerateDeviceExtensionProperties)vk->vkGetDeviceProcAddr(
1875 device, "vkEnumerateDeviceExtensionProperties");
1876 out->vkEnumerateDeviceLayerProperties =
1877 (PFN_vkEnumerateDeviceLayerProperties)vk->vkGetDeviceProcAddr(
1878 device, "vkEnumerateDeviceLayerProperties");
1879 out->vkCreateInstance =
1880 (PFN_vkCreateInstance)vk->vkGetDeviceProcAddr(device, "vkCreateInstance");
1881 out->vkEnumerateInstanceExtensionProperties =
1882 (PFN_vkEnumerateInstanceExtensionProperties)vk->vkGetDeviceProcAddr(
1883 device, "vkEnumerateInstanceExtensionProperties");
1884 out->vkEnumerateInstanceLayerProperties =
1885 (PFN_vkEnumerateInstanceLayerProperties)vk->vkGetDeviceProcAddr(
1886 device, "vkEnumerateInstanceLayerProperties");
1887 out->vkGetDeviceProcAddr =
1888 (PFN_vkGetDeviceProcAddr)vk->vkGetDeviceProcAddr(device, "vkGetDeviceProcAddr");
1889 out->vkGetPhysicalDeviceSparseImageFormatProperties =
1890 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties)vk->vkGetDeviceProcAddr(
1891 device, "vkGetPhysicalDeviceSparseImageFormatProperties");
1892 #endif
1893 #ifdef VK_VERSION_1_1
1894 out->vkEnumerateInstanceVersion = (PFN_vkEnumerateInstanceVersion)vk->vkGetDeviceProcAddr(
1895 device, "vkEnumerateInstanceVersion");
1896 out->vkEnumeratePhysicalDeviceGroups =
1897 (PFN_vkEnumeratePhysicalDeviceGroups)vk->vkGetDeviceProcAddr(
1898 device, "vkEnumeratePhysicalDeviceGroups");
1899 out->vkGetPhysicalDeviceFeatures2 = (PFN_vkGetPhysicalDeviceFeatures2)vk->vkGetDeviceProcAddr(
1900 device, "vkGetPhysicalDeviceFeatures2");
1901 out->vkGetPhysicalDeviceProperties2 =
1902 (PFN_vkGetPhysicalDeviceProperties2)vk->vkGetDeviceProcAddr(
1903 device, "vkGetPhysicalDeviceProperties2");
1904 out->vkGetPhysicalDeviceFormatProperties2 =
1905 (PFN_vkGetPhysicalDeviceFormatProperties2)vk->vkGetDeviceProcAddr(
1906 device, "vkGetPhysicalDeviceFormatProperties2");
1907 out->vkGetPhysicalDeviceImageFormatProperties2 =
1908 (PFN_vkGetPhysicalDeviceImageFormatProperties2)vk->vkGetDeviceProcAddr(
1909 device, "vkGetPhysicalDeviceImageFormatProperties2");
1910 out->vkGetPhysicalDeviceQueueFamilyProperties2 =
1911 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2)vk->vkGetDeviceProcAddr(
1912 device, "vkGetPhysicalDeviceQueueFamilyProperties2");
1913 out->vkGetPhysicalDeviceMemoryProperties2 =
1914 (PFN_vkGetPhysicalDeviceMemoryProperties2)vk->vkGetDeviceProcAddr(
1915 device, "vkGetPhysicalDeviceMemoryProperties2");
1916 out->vkGetPhysicalDeviceSparseImageFormatProperties2 =
1917 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2)vk->vkGetDeviceProcAddr(
1918 device, "vkGetPhysicalDeviceSparseImageFormatProperties2");
1919 out->vkGetPhysicalDeviceExternalBufferProperties =
1920 (PFN_vkGetPhysicalDeviceExternalBufferProperties)vk->vkGetDeviceProcAddr(
1921 device, "vkGetPhysicalDeviceExternalBufferProperties");
1922 out->vkGetPhysicalDeviceExternalFenceProperties =
1923 (PFN_vkGetPhysicalDeviceExternalFenceProperties)vk->vkGetDeviceProcAddr(
1924 device, "vkGetPhysicalDeviceExternalFenceProperties");
1925 out->vkGetPhysicalDeviceExternalSemaphoreProperties =
1926 (PFN_vkGetPhysicalDeviceExternalSemaphoreProperties)vk->vkGetDeviceProcAddr(
1927 device, "vkGetPhysicalDeviceExternalSemaphoreProperties");
1928 #endif
1929 #ifdef VK_KHR_surface
1930 out->vkDestroySurfaceKHR =
1931 (PFN_vkDestroySurfaceKHR)vk->vkGetDeviceProcAddr(device, "vkDestroySurfaceKHR");
1932 #endif
1933 #ifdef VK_KHR_swapchain
1934 out->vkCreateSwapchainKHR =
1935 (PFN_vkCreateSwapchainKHR)vk->vkGetDeviceProcAddr(device, "vkCreateSwapchainKHR");
1936 out->vkDestroySwapchainKHR =
1937 (PFN_vkDestroySwapchainKHR)vk->vkGetDeviceProcAddr(device, "vkDestroySwapchainKHR");
1938 out->vkGetSwapchainImagesKHR =
1939 (PFN_vkGetSwapchainImagesKHR)vk->vkGetDeviceProcAddr(device, "vkGetSwapchainImagesKHR");
1940 out->vkAcquireNextImageKHR =
1941 (PFN_vkAcquireNextImageKHR)vk->vkGetDeviceProcAddr(device, "vkAcquireNextImageKHR");
1942 out->vkQueuePresentKHR =
1943 (PFN_vkQueuePresentKHR)vk->vkGetDeviceProcAddr(device, "vkQueuePresentKHR");
1944 #endif
1945 #ifdef VK_KHR_xcb_surface
1946 out->vkCreateXcbSurfaceKHR =
1947 (PFN_vkCreateXcbSurfaceKHR)vk->vkGetDeviceProcAddr(device, "vkCreateXcbSurfaceKHR");
1948 out->vkGetPhysicalDeviceXcbPresentationSupportKHR =
1949 (PFN_vkGetPhysicalDeviceXcbPresentationSupportKHR)vk->vkGetDeviceProcAddr(
1950 device, "vkGetPhysicalDeviceXcbPresentationSupportKHR");
1951 #endif
1952 #ifdef VK_KHR_win32_surface
1953 out->vkCreateWin32SurfaceKHR =
1954 (PFN_vkCreateWin32SurfaceKHR)vk->vkGetDeviceProcAddr(device, "vkCreateWin32SurfaceKHR");
1955 out->vkGetPhysicalDeviceWin32PresentationSupportKHR =
1956 (PFN_vkGetPhysicalDeviceWin32PresentationSupportKHR)vk->vkGetDeviceProcAddr(
1957 device, "vkGetPhysicalDeviceWin32PresentationSupportKHR");
1958 #endif
1959 #ifdef VK_EXT_debug_report
1960 out->vkCreateDebugReportCallbackEXT =
1961 (PFN_vkCreateDebugReportCallbackEXT)vk->vkGetDeviceProcAddr(
1962 device, "vkCreateDebugReportCallbackEXT");
1963 out->vkDestroyDebugReportCallbackEXT =
1964 (PFN_vkDestroyDebugReportCallbackEXT)vk->vkGetDeviceProcAddr(
1965 device, "vkDestroyDebugReportCallbackEXT");
1966 out->vkDebugReportMessageEXT =
1967 (PFN_vkDebugReportMessageEXT)vk->vkGetDeviceProcAddr(device, "vkDebugReportMessageEXT");
1968 #endif
1969 #ifdef VK_EXT_debug_utils
1970 out->vkCreateDebugUtilsMessengerEXT =
1971 (PFN_vkCreateDebugUtilsMessengerEXT)vk->vkGetDeviceProcAddr(
1972 device, "vkCreateDebugUtilsMessengerEXT");
1973 out->vkDestroyDebugUtilsMessengerEXT =
1974 (PFN_vkDestroyDebugUtilsMessengerEXT)vk->vkGetDeviceProcAddr(
1975 device, "vkDestroyDebugUtilsMessengerEXT");
1976 out->vkSubmitDebugUtilsMessageEXT = (PFN_vkSubmitDebugUtilsMessageEXT)vk->vkGetDeviceProcAddr(
1977 device, "vkSubmitDebugUtilsMessageEXT");
1978 #endif
1979 #ifdef VK_EXT_metal_surface
1980 out->vkCreateMetalSurfaceEXT =
1981 (PFN_vkCreateMetalSurfaceEXT)vk->vkGetDeviceProcAddr(device, "vkCreateMetalSurfaceEXT");
1982 #endif
1983 #ifdef VK_VERSION_1_0
1984 out->vkGetDeviceQueue =
1985 (PFN_vkGetDeviceQueue)vk->vkGetDeviceProcAddr(device, "vkGetDeviceQueue");
1986 out->vkQueueSubmit = (PFN_vkQueueSubmit)vk->vkGetDeviceProcAddr(device, "vkQueueSubmit");
1987 out->vkQueueWaitIdle = (PFN_vkQueueWaitIdle)vk->vkGetDeviceProcAddr(device, "vkQueueWaitIdle");
1988 out->vkDeviceWaitIdle =
1989 (PFN_vkDeviceWaitIdle)vk->vkGetDeviceProcAddr(device, "vkDeviceWaitIdle");
1990 out->vkAllocateMemory =
1991 (PFN_vkAllocateMemory)vk->vkGetDeviceProcAddr(device, "vkAllocateMemory");
1992 out->vkFreeMemory = (PFN_vkFreeMemory)vk->vkGetDeviceProcAddr(device, "vkFreeMemory");
1993 out->vkMapMemory = (PFN_vkMapMemory)vk->vkGetDeviceProcAddr(device, "vkMapMemory");
1994 out->vkUnmapMemory = (PFN_vkUnmapMemory)vk->vkGetDeviceProcAddr(device, "vkUnmapMemory");
1995 out->vkFlushMappedMemoryRanges =
1996 (PFN_vkFlushMappedMemoryRanges)vk->vkGetDeviceProcAddr(device, "vkFlushMappedMemoryRanges");
1997 out->vkInvalidateMappedMemoryRanges =
1998 (PFN_vkInvalidateMappedMemoryRanges)vk->vkGetDeviceProcAddr(
1999 device, "vkInvalidateMappedMemoryRanges");
2000 out->vkGetDeviceMemoryCommitment = (PFN_vkGetDeviceMemoryCommitment)vk->vkGetDeviceProcAddr(
2001 device, "vkGetDeviceMemoryCommitment");
2002 out->vkBindBufferMemory =
2003 (PFN_vkBindBufferMemory)vk->vkGetDeviceProcAddr(device, "vkBindBufferMemory");
2004 out->vkBindImageMemory =
2005 (PFN_vkBindImageMemory)vk->vkGetDeviceProcAddr(device, "vkBindImageMemory");
2006 out->vkGetBufferMemoryRequirements = (PFN_vkGetBufferMemoryRequirements)vk->vkGetDeviceProcAddr(
2007 device, "vkGetBufferMemoryRequirements");
2008 out->vkGetImageMemoryRequirements = (PFN_vkGetImageMemoryRequirements)vk->vkGetDeviceProcAddr(
2009 device, "vkGetImageMemoryRequirements");
2010 out->vkGetImageSparseMemoryRequirements =
2011 (PFN_vkGetImageSparseMemoryRequirements)vk->vkGetDeviceProcAddr(
2012 device, "vkGetImageSparseMemoryRequirements");
2013 out->vkQueueBindSparse =
2014 (PFN_vkQueueBindSparse)vk->vkGetDeviceProcAddr(device, "vkQueueBindSparse");
2015 out->vkCreateFence = (PFN_vkCreateFence)vk->vkGetDeviceProcAddr(device, "vkCreateFence");
2016 out->vkDestroyFence = (PFN_vkDestroyFence)vk->vkGetDeviceProcAddr(device, "vkDestroyFence");
2017 out->vkResetFences = (PFN_vkResetFences)vk->vkGetDeviceProcAddr(device, "vkResetFences");
2018 out->vkGetFenceStatus =
2019 (PFN_vkGetFenceStatus)vk->vkGetDeviceProcAddr(device, "vkGetFenceStatus");
2020 out->vkWaitForFences = (PFN_vkWaitForFences)vk->vkGetDeviceProcAddr(device, "vkWaitForFences");
2021 out->vkCreateSemaphore =
2022 (PFN_vkCreateSemaphore)vk->vkGetDeviceProcAddr(device, "vkCreateSemaphore");
2023 out->vkDestroySemaphore =
2024 (PFN_vkDestroySemaphore)vk->vkGetDeviceProcAddr(device, "vkDestroySemaphore");
2025 out->vkCreateEvent = (PFN_vkCreateEvent)vk->vkGetDeviceProcAddr(device, "vkCreateEvent");
2026 out->vkDestroyEvent = (PFN_vkDestroyEvent)vk->vkGetDeviceProcAddr(device, "vkDestroyEvent");
2027 out->vkGetEventStatus =
2028 (PFN_vkGetEventStatus)vk->vkGetDeviceProcAddr(device, "vkGetEventStatus");
2029 out->vkSetEvent = (PFN_vkSetEvent)vk->vkGetDeviceProcAddr(device, "vkSetEvent");
2030 out->vkResetEvent = (PFN_vkResetEvent)vk->vkGetDeviceProcAddr(device, "vkResetEvent");
2031 out->vkCreateQueryPool =
2032 (PFN_vkCreateQueryPool)vk->vkGetDeviceProcAddr(device, "vkCreateQueryPool");
2033 out->vkDestroyQueryPool =
2034 (PFN_vkDestroyQueryPool)vk->vkGetDeviceProcAddr(device, "vkDestroyQueryPool");
2035 out->vkGetQueryPoolResults =
2036 (PFN_vkGetQueryPoolResults)vk->vkGetDeviceProcAddr(device, "vkGetQueryPoolResults");
2037 out->vkCreateBuffer = (PFN_vkCreateBuffer)vk->vkGetDeviceProcAddr(device, "vkCreateBuffer");
2038 out->vkDestroyBuffer = (PFN_vkDestroyBuffer)vk->vkGetDeviceProcAddr(device, "vkDestroyBuffer");
2039 out->vkCreateBufferView =
2040 (PFN_vkCreateBufferView)vk->vkGetDeviceProcAddr(device, "vkCreateBufferView");
2041 out->vkDestroyBufferView =
2042 (PFN_vkDestroyBufferView)vk->vkGetDeviceProcAddr(device, "vkDestroyBufferView");
2043 out->vkCreateImage = (PFN_vkCreateImage)vk->vkGetDeviceProcAddr(device, "vkCreateImage");
2044 out->vkDestroyImage = (PFN_vkDestroyImage)vk->vkGetDeviceProcAddr(device, "vkDestroyImage");
2045 out->vkGetImageSubresourceLayout = (PFN_vkGetImageSubresourceLayout)vk->vkGetDeviceProcAddr(
2046 device, "vkGetImageSubresourceLayout");
2047 out->vkCreateImageView =
2048 (PFN_vkCreateImageView)vk->vkGetDeviceProcAddr(device, "vkCreateImageView");
2049 out->vkDestroyImageView =
2050 (PFN_vkDestroyImageView)vk->vkGetDeviceProcAddr(device, "vkDestroyImageView");
2051 out->vkCreateShaderModule =
2052 (PFN_vkCreateShaderModule)vk->vkGetDeviceProcAddr(device, "vkCreateShaderModule");
2053 out->vkDestroyShaderModule =
2054 (PFN_vkDestroyShaderModule)vk->vkGetDeviceProcAddr(device, "vkDestroyShaderModule");
2055 out->vkCreatePipelineCache =
2056 (PFN_vkCreatePipelineCache)vk->vkGetDeviceProcAddr(device, "vkCreatePipelineCache");
2057 out->vkDestroyPipelineCache =
2058 (PFN_vkDestroyPipelineCache)vk->vkGetDeviceProcAddr(device, "vkDestroyPipelineCache");
2059 out->vkGetPipelineCacheData =
2060 (PFN_vkGetPipelineCacheData)vk->vkGetDeviceProcAddr(device, "vkGetPipelineCacheData");
2061 out->vkMergePipelineCaches =
2062 (PFN_vkMergePipelineCaches)vk->vkGetDeviceProcAddr(device, "vkMergePipelineCaches");
2063 out->vkCreateGraphicsPipelines =
2064 (PFN_vkCreateGraphicsPipelines)vk->vkGetDeviceProcAddr(device, "vkCreateGraphicsPipelines");
2065 out->vkCreateComputePipelines =
2066 (PFN_vkCreateComputePipelines)vk->vkGetDeviceProcAddr(device, "vkCreateComputePipelines");
2067 out->vkDestroyPipeline =
2068 (PFN_vkDestroyPipeline)vk->vkGetDeviceProcAddr(device, "vkDestroyPipeline");
2069 out->vkCreatePipelineLayout =
2070 (PFN_vkCreatePipelineLayout)vk->vkGetDeviceProcAddr(device, "vkCreatePipelineLayout");
2071 out->vkDestroyPipelineLayout =
2072 (PFN_vkDestroyPipelineLayout)vk->vkGetDeviceProcAddr(device, "vkDestroyPipelineLayout");
2073 out->vkCreateSampler = (PFN_vkCreateSampler)vk->vkGetDeviceProcAddr(device, "vkCreateSampler");
2074 out->vkDestroySampler =
2075 (PFN_vkDestroySampler)vk->vkGetDeviceProcAddr(device, "vkDestroySampler");
2076 out->vkCreateDescriptorSetLayout = (PFN_vkCreateDescriptorSetLayout)vk->vkGetDeviceProcAddr(
2077 device, "vkCreateDescriptorSetLayout");
2078 out->vkDestroyDescriptorSetLayout = (PFN_vkDestroyDescriptorSetLayout)vk->vkGetDeviceProcAddr(
2079 device, "vkDestroyDescriptorSetLayout");
2080 out->vkCreateDescriptorPool =
2081 (PFN_vkCreateDescriptorPool)vk->vkGetDeviceProcAddr(device, "vkCreateDescriptorPool");
2082 out->vkDestroyDescriptorPool =
2083 (PFN_vkDestroyDescriptorPool)vk->vkGetDeviceProcAddr(device, "vkDestroyDescriptorPool");
2084 out->vkResetDescriptorPool =
2085 (PFN_vkResetDescriptorPool)vk->vkGetDeviceProcAddr(device, "vkResetDescriptorPool");
2086 out->vkAllocateDescriptorSets =
2087 (PFN_vkAllocateDescriptorSets)vk->vkGetDeviceProcAddr(device, "vkAllocateDescriptorSets");
2088 out->vkFreeDescriptorSets =
2089 (PFN_vkFreeDescriptorSets)vk->vkGetDeviceProcAddr(device, "vkFreeDescriptorSets");
2090 out->vkUpdateDescriptorSets =
2091 (PFN_vkUpdateDescriptorSets)vk->vkGetDeviceProcAddr(device, "vkUpdateDescriptorSets");
2092 out->vkCreateFramebuffer =
2093 (PFN_vkCreateFramebuffer)vk->vkGetDeviceProcAddr(device, "vkCreateFramebuffer");
2094 out->vkDestroyFramebuffer =
2095 (PFN_vkDestroyFramebuffer)vk->vkGetDeviceProcAddr(device, "vkDestroyFramebuffer");
2096 out->vkCreateRenderPass =
2097 (PFN_vkCreateRenderPass)vk->vkGetDeviceProcAddr(device, "vkCreateRenderPass");
2098 out->vkDestroyRenderPass =
2099 (PFN_vkDestroyRenderPass)vk->vkGetDeviceProcAddr(device, "vkDestroyRenderPass");
2100 out->vkGetRenderAreaGranularity = (PFN_vkGetRenderAreaGranularity)vk->vkGetDeviceProcAddr(
2101 device, "vkGetRenderAreaGranularity");
2102 out->vkCreateCommandPool =
2103 (PFN_vkCreateCommandPool)vk->vkGetDeviceProcAddr(device, "vkCreateCommandPool");
2104 out->vkDestroyCommandPool =
2105 (PFN_vkDestroyCommandPool)vk->vkGetDeviceProcAddr(device, "vkDestroyCommandPool");
2106 out->vkResetCommandPool =
2107 (PFN_vkResetCommandPool)vk->vkGetDeviceProcAddr(device, "vkResetCommandPool");
2108 out->vkAllocateCommandBuffers =
2109 (PFN_vkAllocateCommandBuffers)vk->vkGetDeviceProcAddr(device, "vkAllocateCommandBuffers");
2110 out->vkFreeCommandBuffers =
2111 (PFN_vkFreeCommandBuffers)vk->vkGetDeviceProcAddr(device, "vkFreeCommandBuffers");
2112 out->vkBeginCommandBuffer =
2113 (PFN_vkBeginCommandBuffer)vk->vkGetDeviceProcAddr(device, "vkBeginCommandBuffer");
2114 out->vkEndCommandBuffer =
2115 (PFN_vkEndCommandBuffer)vk->vkGetDeviceProcAddr(device, "vkEndCommandBuffer");
2116 out->vkResetCommandBuffer =
2117 (PFN_vkResetCommandBuffer)vk->vkGetDeviceProcAddr(device, "vkResetCommandBuffer");
2118 out->vkCmdBindPipeline =
2119 (PFN_vkCmdBindPipeline)vk->vkGetDeviceProcAddr(device, "vkCmdBindPipeline");
2120 out->vkCmdSetViewport =
2121 (PFN_vkCmdSetViewport)vk->vkGetDeviceProcAddr(device, "vkCmdSetViewport");
2122 out->vkCmdSetScissor = (PFN_vkCmdSetScissor)vk->vkGetDeviceProcAddr(device, "vkCmdSetScissor");
2123 out->vkCmdSetLineWidth =
2124 (PFN_vkCmdSetLineWidth)vk->vkGetDeviceProcAddr(device, "vkCmdSetLineWidth");
2125 out->vkCmdSetDepthBias =
2126 (PFN_vkCmdSetDepthBias)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthBias");
2127 out->vkCmdSetBlendConstants =
2128 (PFN_vkCmdSetBlendConstants)vk->vkGetDeviceProcAddr(device, "vkCmdSetBlendConstants");
2129 out->vkCmdSetDepthBounds =
2130 (PFN_vkCmdSetDepthBounds)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthBounds");
2131 out->vkCmdSetStencilCompareMask = (PFN_vkCmdSetStencilCompareMask)vk->vkGetDeviceProcAddr(
2132 device, "vkCmdSetStencilCompareMask");
2133 out->vkCmdSetStencilWriteMask =
2134 (PFN_vkCmdSetStencilWriteMask)vk->vkGetDeviceProcAddr(device, "vkCmdSetStencilWriteMask");
2135 out->vkCmdSetStencilReference =
2136 (PFN_vkCmdSetStencilReference)vk->vkGetDeviceProcAddr(device, "vkCmdSetStencilReference");
2137 out->vkCmdBindDescriptorSets =
2138 (PFN_vkCmdBindDescriptorSets)vk->vkGetDeviceProcAddr(device, "vkCmdBindDescriptorSets");
2139 out->vkCmdBindIndexBuffer =
2140 (PFN_vkCmdBindIndexBuffer)vk->vkGetDeviceProcAddr(device, "vkCmdBindIndexBuffer");
2141 out->vkCmdBindVertexBuffers =
2142 (PFN_vkCmdBindVertexBuffers)vk->vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers");
2143 out->vkCmdDraw = (PFN_vkCmdDraw)vk->vkGetDeviceProcAddr(device, "vkCmdDraw");
2144 out->vkCmdDrawIndexed =
2145 (PFN_vkCmdDrawIndexed)vk->vkGetDeviceProcAddr(device, "vkCmdDrawIndexed");
2146 out->vkCmdDrawIndirect =
2147 (PFN_vkCmdDrawIndirect)vk->vkGetDeviceProcAddr(device, "vkCmdDrawIndirect");
2148 out->vkCmdDrawIndexedIndirect =
2149 (PFN_vkCmdDrawIndexedIndirect)vk->vkGetDeviceProcAddr(device, "vkCmdDrawIndexedIndirect");
2150 out->vkCmdDispatch = (PFN_vkCmdDispatch)vk->vkGetDeviceProcAddr(device, "vkCmdDispatch");
2151 out->vkCmdDispatchIndirect =
2152 (PFN_vkCmdDispatchIndirect)vk->vkGetDeviceProcAddr(device, "vkCmdDispatchIndirect");
2153 out->vkCmdCopyBuffer = (PFN_vkCmdCopyBuffer)vk->vkGetDeviceProcAddr(device, "vkCmdCopyBuffer");
2154 out->vkCmdCopyImage = (PFN_vkCmdCopyImage)vk->vkGetDeviceProcAddr(device, "vkCmdCopyImage");
2155 out->vkCmdBlitImage = (PFN_vkCmdBlitImage)vk->vkGetDeviceProcAddr(device, "vkCmdBlitImage");
2156 out->vkCmdCopyBufferToImage =
2157 (PFN_vkCmdCopyBufferToImage)vk->vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage");
2158 out->vkCmdCopyImageToBuffer =
2159 (PFN_vkCmdCopyImageToBuffer)vk->vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer");
2160 out->vkCmdUpdateBuffer =
2161 (PFN_vkCmdUpdateBuffer)vk->vkGetDeviceProcAddr(device, "vkCmdUpdateBuffer");
2162 out->vkCmdFillBuffer = (PFN_vkCmdFillBuffer)vk->vkGetDeviceProcAddr(device, "vkCmdFillBuffer");
2163 out->vkCmdClearColorImage =
2164 (PFN_vkCmdClearColorImage)vk->vkGetDeviceProcAddr(device, "vkCmdClearColorImage");
2165 out->vkCmdClearDepthStencilImage = (PFN_vkCmdClearDepthStencilImage)vk->vkGetDeviceProcAddr(
2166 device, "vkCmdClearDepthStencilImage");
2167 out->vkCmdClearAttachments =
2168 (PFN_vkCmdClearAttachments)vk->vkGetDeviceProcAddr(device, "vkCmdClearAttachments");
2169 out->vkCmdResolveImage =
2170 (PFN_vkCmdResolveImage)vk->vkGetDeviceProcAddr(device, "vkCmdResolveImage");
2171 out->vkCmdSetEvent = (PFN_vkCmdSetEvent)vk->vkGetDeviceProcAddr(device, "vkCmdSetEvent");
2172 out->vkCmdResetEvent = (PFN_vkCmdResetEvent)vk->vkGetDeviceProcAddr(device, "vkCmdResetEvent");
2173 out->vkCmdWaitEvents = (PFN_vkCmdWaitEvents)vk->vkGetDeviceProcAddr(device, "vkCmdWaitEvents");
2174 out->vkCmdPipelineBarrier =
2175 (PFN_vkCmdPipelineBarrier)vk->vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier");
2176 out->vkCmdBeginQuery = (PFN_vkCmdBeginQuery)vk->vkGetDeviceProcAddr(device, "vkCmdBeginQuery");
2177 out->vkCmdEndQuery = (PFN_vkCmdEndQuery)vk->vkGetDeviceProcAddr(device, "vkCmdEndQuery");
2178 out->vkCmdResetQueryPool =
2179 (PFN_vkCmdResetQueryPool)vk->vkGetDeviceProcAddr(device, "vkCmdResetQueryPool");
2180 out->vkCmdWriteTimestamp =
2181 (PFN_vkCmdWriteTimestamp)vk->vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp");
2182 out->vkCmdCopyQueryPoolResults =
2183 (PFN_vkCmdCopyQueryPoolResults)vk->vkGetDeviceProcAddr(device, "vkCmdCopyQueryPoolResults");
2184 out->vkCmdPushConstants =
2185 (PFN_vkCmdPushConstants)vk->vkGetDeviceProcAddr(device, "vkCmdPushConstants");
2186 out->vkCmdBeginRenderPass =
2187 (PFN_vkCmdBeginRenderPass)vk->vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass");
2188 out->vkCmdNextSubpass =
2189 (PFN_vkCmdNextSubpass)vk->vkGetDeviceProcAddr(device, "vkCmdNextSubpass");
2190 out->vkCmdEndRenderPass =
2191 (PFN_vkCmdEndRenderPass)vk->vkGetDeviceProcAddr(device, "vkCmdEndRenderPass");
2192 out->vkCmdExecuteCommands =
2193 (PFN_vkCmdExecuteCommands)vk->vkGetDeviceProcAddr(device, "vkCmdExecuteCommands");
2194 #endif
2195 #ifdef VK_VERSION_1_1
2196 out->vkBindBufferMemory2 =
2197 (PFN_vkBindBufferMemory2)vk->vkGetDeviceProcAddr(device, "vkBindBufferMemory2");
2198 out->vkBindImageMemory2 =
2199 (PFN_vkBindImageMemory2)vk->vkGetDeviceProcAddr(device, "vkBindImageMemory2");
2200 out->vkGetDeviceGroupPeerMemoryFeatures =
2201 (PFN_vkGetDeviceGroupPeerMemoryFeatures)vk->vkGetDeviceProcAddr(
2202 device, "vkGetDeviceGroupPeerMemoryFeatures");
2203 out->vkCmdSetDeviceMask =
2204 (PFN_vkCmdSetDeviceMask)vk->vkGetDeviceProcAddr(device, "vkCmdSetDeviceMask");
2205 out->vkCmdDispatchBase =
2206 (PFN_vkCmdDispatchBase)vk->vkGetDeviceProcAddr(device, "vkCmdDispatchBase");
2207 out->vkGetImageMemoryRequirements2 = (PFN_vkGetImageMemoryRequirements2)vk->vkGetDeviceProcAddr(
2208 device, "vkGetImageMemoryRequirements2");
2209 out->vkGetBufferMemoryRequirements2 =
2210 (PFN_vkGetBufferMemoryRequirements2)vk->vkGetDeviceProcAddr(
2211 device, "vkGetBufferMemoryRequirements2");
2212 out->vkGetImageSparseMemoryRequirements2 =
2213 (PFN_vkGetImageSparseMemoryRequirements2)vk->vkGetDeviceProcAddr(
2214 device, "vkGetImageSparseMemoryRequirements2");
2215 out->vkTrimCommandPool =
2216 (PFN_vkTrimCommandPool)vk->vkGetDeviceProcAddr(device, "vkTrimCommandPool");
2217 out->vkGetDeviceQueue2 =
2218 (PFN_vkGetDeviceQueue2)vk->vkGetDeviceProcAddr(device, "vkGetDeviceQueue2");
2219 out->vkCreateSamplerYcbcrConversion =
2220 (PFN_vkCreateSamplerYcbcrConversion)vk->vkGetDeviceProcAddr(
2221 device, "vkCreateSamplerYcbcrConversion");
2222 out->vkDestroySamplerYcbcrConversion =
2223 (PFN_vkDestroySamplerYcbcrConversion)vk->vkGetDeviceProcAddr(
2224 device, "vkDestroySamplerYcbcrConversion");
2225 out->vkCreateDescriptorUpdateTemplate =
2226 (PFN_vkCreateDescriptorUpdateTemplate)vk->vkGetDeviceProcAddr(
2227 device, "vkCreateDescriptorUpdateTemplate");
2228 out->vkDestroyDescriptorUpdateTemplate =
2229 (PFN_vkDestroyDescriptorUpdateTemplate)vk->vkGetDeviceProcAddr(
2230 device, "vkDestroyDescriptorUpdateTemplate");
2231 out->vkUpdateDescriptorSetWithTemplate =
2232 (PFN_vkUpdateDescriptorSetWithTemplate)vk->vkGetDeviceProcAddr(
2233 device, "vkUpdateDescriptorSetWithTemplate");
2234 out->vkGetDescriptorSetLayoutSupport =
2235 (PFN_vkGetDescriptorSetLayoutSupport)vk->vkGetDeviceProcAddr(
2236 device, "vkGetDescriptorSetLayoutSupport");
2237 #endif
2238 #ifdef VK_VERSION_1_2
2239 out->vkCmdDrawIndirectCount =
2240 (PFN_vkCmdDrawIndirectCount)vk->vkGetDeviceProcAddr(device, "vkCmdDrawIndirectCount");
2241 out->vkCmdDrawIndexedIndirectCount = (PFN_vkCmdDrawIndexedIndirectCount)vk->vkGetDeviceProcAddr(
2242 device, "vkCmdDrawIndexedIndirectCount");
2243 out->vkCreateRenderPass2 =
2244 (PFN_vkCreateRenderPass2)vk->vkGetDeviceProcAddr(device, "vkCreateRenderPass2");
2245 out->vkCmdBeginRenderPass2 =
2246 (PFN_vkCmdBeginRenderPass2)vk->vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2");
2247 out->vkCmdNextSubpass2 =
2248 (PFN_vkCmdNextSubpass2)vk->vkGetDeviceProcAddr(device, "vkCmdNextSubpass2");
2249 out->vkCmdEndRenderPass2 =
2250 (PFN_vkCmdEndRenderPass2)vk->vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2");
2251 out->vkResetQueryPool =
2252 (PFN_vkResetQueryPool)vk->vkGetDeviceProcAddr(device, "vkResetQueryPool");
2253 out->vkGetSemaphoreCounterValue = (PFN_vkGetSemaphoreCounterValue)vk->vkGetDeviceProcAddr(
2254 device, "vkGetSemaphoreCounterValue");
2255 out->vkWaitSemaphores =
2256 (PFN_vkWaitSemaphores)vk->vkGetDeviceProcAddr(device, "vkWaitSemaphores");
2257 out->vkSignalSemaphore =
2258 (PFN_vkSignalSemaphore)vk->vkGetDeviceProcAddr(device, "vkSignalSemaphore");
2259 out->vkGetBufferDeviceAddress =
2260 (PFN_vkGetBufferDeviceAddress)vk->vkGetDeviceProcAddr(device, "vkGetBufferDeviceAddress");
2261 out->vkGetBufferOpaqueCaptureAddress =
2262 (PFN_vkGetBufferOpaqueCaptureAddress)vk->vkGetDeviceProcAddr(
2263 device, "vkGetBufferOpaqueCaptureAddress");
2264 out->vkGetDeviceMemoryOpaqueCaptureAddress =
2265 (PFN_vkGetDeviceMemoryOpaqueCaptureAddress)vk->vkGetDeviceProcAddr(
2266 device, "vkGetDeviceMemoryOpaqueCaptureAddress");
2267 #endif
2268 #ifdef VK_VERSION_1_3
2269 out->vkGetPhysicalDeviceToolProperties =
2270 (PFN_vkGetPhysicalDeviceToolProperties)vk->vkGetDeviceProcAddr(
2271 device, "vkGetPhysicalDeviceToolProperties");
2272 out->vkCreatePrivateDataSlot =
2273 (PFN_vkCreatePrivateDataSlot)vk->vkGetDeviceProcAddr(device, "vkCreatePrivateDataSlot");
2274 out->vkDestroyPrivateDataSlot =
2275 (PFN_vkDestroyPrivateDataSlot)vk->vkGetDeviceProcAddr(device, "vkDestroyPrivateDataSlot");
2276 out->vkSetPrivateData =
2277 (PFN_vkSetPrivateData)vk->vkGetDeviceProcAddr(device, "vkSetPrivateData");
2278 out->vkGetPrivateData =
2279 (PFN_vkGetPrivateData)vk->vkGetDeviceProcAddr(device, "vkGetPrivateData");
2280 out->vkCmdSetEvent2 = (PFN_vkCmdSetEvent2)vk->vkGetDeviceProcAddr(device, "vkCmdSetEvent2");
2281 out->vkCmdResetEvent2 =
2282 (PFN_vkCmdResetEvent2)vk->vkGetDeviceProcAddr(device, "vkCmdResetEvent2");
2283 out->vkCmdWaitEvents2 =
2284 (PFN_vkCmdWaitEvents2)vk->vkGetDeviceProcAddr(device, "vkCmdWaitEvents2");
2285 out->vkCmdPipelineBarrier2 =
2286 (PFN_vkCmdPipelineBarrier2)vk->vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier2");
2287 out->vkCmdWriteTimestamp2 =
2288 (PFN_vkCmdWriteTimestamp2)vk->vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp2");
2289 out->vkQueueSubmit2 = (PFN_vkQueueSubmit2)vk->vkGetDeviceProcAddr(device, "vkQueueSubmit2");
2290 out->vkCmdCopyBuffer2 =
2291 (PFN_vkCmdCopyBuffer2)vk->vkGetDeviceProcAddr(device, "vkCmdCopyBuffer2");
2292 out->vkCmdCopyImage2 = (PFN_vkCmdCopyImage2)vk->vkGetDeviceProcAddr(device, "vkCmdCopyImage2");
2293 out->vkCmdCopyBufferToImage2 =
2294 (PFN_vkCmdCopyBufferToImage2)vk->vkGetDeviceProcAddr(device, "vkCmdCopyBufferToImage2");
2295 out->vkCmdCopyImageToBuffer2 =
2296 (PFN_vkCmdCopyImageToBuffer2)vk->vkGetDeviceProcAddr(device, "vkCmdCopyImageToBuffer2");
2297 out->vkCmdBlitImage2 = (PFN_vkCmdBlitImage2)vk->vkGetDeviceProcAddr(device, "vkCmdBlitImage2");
2298 out->vkCmdResolveImage2 =
2299 (PFN_vkCmdResolveImage2)vk->vkGetDeviceProcAddr(device, "vkCmdResolveImage2");
2300 out->vkCmdBeginRendering =
2301 (PFN_vkCmdBeginRendering)vk->vkGetDeviceProcAddr(device, "vkCmdBeginRendering");
2302 out->vkCmdEndRendering =
2303 (PFN_vkCmdEndRendering)vk->vkGetDeviceProcAddr(device, "vkCmdEndRendering");
2304 out->vkCmdSetCullMode =
2305 (PFN_vkCmdSetCullMode)vk->vkGetDeviceProcAddr(device, "vkCmdSetCullMode");
2306 out->vkCmdSetFrontFace =
2307 (PFN_vkCmdSetFrontFace)vk->vkGetDeviceProcAddr(device, "vkCmdSetFrontFace");
2308 out->vkCmdSetPrimitiveTopology =
2309 (PFN_vkCmdSetPrimitiveTopology)vk->vkGetDeviceProcAddr(device, "vkCmdSetPrimitiveTopology");
2310 out->vkCmdSetViewportWithCount =
2311 (PFN_vkCmdSetViewportWithCount)vk->vkGetDeviceProcAddr(device, "vkCmdSetViewportWithCount");
2312 out->vkCmdSetScissorWithCount =
2313 (PFN_vkCmdSetScissorWithCount)vk->vkGetDeviceProcAddr(device, "vkCmdSetScissorWithCount");
2314 out->vkCmdBindVertexBuffers2 =
2315 (PFN_vkCmdBindVertexBuffers2)vk->vkGetDeviceProcAddr(device, "vkCmdBindVertexBuffers2");
2316 out->vkCmdSetDepthTestEnable =
2317 (PFN_vkCmdSetDepthTestEnable)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthTestEnable");
2318 out->vkCmdSetDepthWriteEnable =
2319 (PFN_vkCmdSetDepthWriteEnable)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthWriteEnable");
2320 out->vkCmdSetDepthCompareOp =
2321 (PFN_vkCmdSetDepthCompareOp)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthCompareOp");
2322 out->vkCmdSetDepthBoundsTestEnable = (PFN_vkCmdSetDepthBoundsTestEnable)vk->vkGetDeviceProcAddr(
2323 device, "vkCmdSetDepthBoundsTestEnable");
2324 out->vkCmdSetStencilTestEnable =
2325 (PFN_vkCmdSetStencilTestEnable)vk->vkGetDeviceProcAddr(device, "vkCmdSetStencilTestEnable");
2326 out->vkCmdSetStencilOp =
2327 (PFN_vkCmdSetStencilOp)vk->vkGetDeviceProcAddr(device, "vkCmdSetStencilOp");
2328 out->vkCmdSetRasterizerDiscardEnable =
2329 (PFN_vkCmdSetRasterizerDiscardEnable)vk->vkGetDeviceProcAddr(
2330 device, "vkCmdSetRasterizerDiscardEnable");
2331 out->vkCmdSetDepthBiasEnable =
2332 (PFN_vkCmdSetDepthBiasEnable)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthBiasEnable");
2333 out->vkCmdSetPrimitiveRestartEnable =
2334 (PFN_vkCmdSetPrimitiveRestartEnable)vk->vkGetDeviceProcAddr(
2335 device, "vkCmdSetPrimitiveRestartEnable");
2336 out->vkGetDeviceBufferMemoryRequirements =
2337 (PFN_vkGetDeviceBufferMemoryRequirements)vk->vkGetDeviceProcAddr(
2338 device, "vkGetDeviceBufferMemoryRequirements");
2339 out->vkGetDeviceImageMemoryRequirements =
2340 (PFN_vkGetDeviceImageMemoryRequirements)vk->vkGetDeviceProcAddr(
2341 device, "vkGetDeviceImageMemoryRequirements");
2342 out->vkGetDeviceImageSparseMemoryRequirements =
2343 (PFN_vkGetDeviceImageSparseMemoryRequirements)vk->vkGetDeviceProcAddr(
2344 device, "vkGetDeviceImageSparseMemoryRequirements");
2345 #endif
2346 #ifdef VK_KHR_surface
2347 out->vkGetPhysicalDeviceSurfaceSupportKHR =
2348 (PFN_vkGetPhysicalDeviceSurfaceSupportKHR)vk->vkGetDeviceProcAddr(
2349 device, "vkGetPhysicalDeviceSurfaceSupportKHR");
2350 out->vkGetPhysicalDeviceSurfaceCapabilitiesKHR =
2351 (PFN_vkGetPhysicalDeviceSurfaceCapabilitiesKHR)vk->vkGetDeviceProcAddr(
2352 device, "vkGetPhysicalDeviceSurfaceCapabilitiesKHR");
2353 out->vkGetPhysicalDeviceSurfaceFormatsKHR =
2354 (PFN_vkGetPhysicalDeviceSurfaceFormatsKHR)vk->vkGetDeviceProcAddr(
2355 device, "vkGetPhysicalDeviceSurfaceFormatsKHR");
2356 out->vkGetPhysicalDeviceSurfacePresentModesKHR =
2357 (PFN_vkGetPhysicalDeviceSurfacePresentModesKHR)vk->vkGetDeviceProcAddr(
2358 device, "vkGetPhysicalDeviceSurfacePresentModesKHR");
2359 #endif
2360 #ifdef VK_KHR_swapchain
2361 out->vkGetDeviceGroupPresentCapabilitiesKHR =
2362 (PFN_vkGetDeviceGroupPresentCapabilitiesKHR)vk->vkGetDeviceProcAddr(
2363 device, "vkGetDeviceGroupPresentCapabilitiesKHR");
2364 out->vkGetDeviceGroupSurfacePresentModesKHR =
2365 (PFN_vkGetDeviceGroupSurfacePresentModesKHR)vk->vkGetDeviceProcAddr(
2366 device, "vkGetDeviceGroupSurfacePresentModesKHR");
2367 out->vkGetPhysicalDevicePresentRectanglesKHR =
2368 (PFN_vkGetPhysicalDevicePresentRectanglesKHR)vk->vkGetDeviceProcAddr(
2369 device, "vkGetPhysicalDevicePresentRectanglesKHR");
2370 out->vkAcquireNextImage2KHR =
2371 (PFN_vkAcquireNextImage2KHR)vk->vkGetDeviceProcAddr(device, "vkAcquireNextImage2KHR");
2372 #endif
2373 #ifdef VK_KHR_dynamic_rendering
2374 out->vkCmdBeginRenderingKHR =
2375 (PFN_vkCmdBeginRenderingKHR)vk->vkGetDeviceProcAddr(device, "vkCmdBeginRenderingKHR");
2376 out->vkCmdEndRenderingKHR =
2377 (PFN_vkCmdEndRenderingKHR)vk->vkGetDeviceProcAddr(device, "vkCmdEndRenderingKHR");
2378 #endif
2379 #ifdef VK_KHR_get_physical_device_properties2
2380 out->vkGetPhysicalDeviceFeatures2KHR =
2381 (PFN_vkGetPhysicalDeviceFeatures2KHR)vk->vkGetDeviceProcAddr(
2382 device, "vkGetPhysicalDeviceFeatures2KHR");
2383 out->vkGetPhysicalDeviceProperties2KHR =
2384 (PFN_vkGetPhysicalDeviceProperties2KHR)vk->vkGetDeviceProcAddr(
2385 device, "vkGetPhysicalDeviceProperties2KHR");
2386 out->vkGetPhysicalDeviceFormatProperties2KHR =
2387 (PFN_vkGetPhysicalDeviceFormatProperties2KHR)vk->vkGetDeviceProcAddr(
2388 device, "vkGetPhysicalDeviceFormatProperties2KHR");
2389 out->vkGetPhysicalDeviceImageFormatProperties2KHR =
2390 (PFN_vkGetPhysicalDeviceImageFormatProperties2KHR)vk->vkGetDeviceProcAddr(
2391 device, "vkGetPhysicalDeviceImageFormatProperties2KHR");
2392 out->vkGetPhysicalDeviceQueueFamilyProperties2KHR =
2393 (PFN_vkGetPhysicalDeviceQueueFamilyProperties2KHR)vk->vkGetDeviceProcAddr(
2394 device, "vkGetPhysicalDeviceQueueFamilyProperties2KHR");
2395 out->vkGetPhysicalDeviceMemoryProperties2KHR =
2396 (PFN_vkGetPhysicalDeviceMemoryProperties2KHR)vk->vkGetDeviceProcAddr(
2397 device, "vkGetPhysicalDeviceMemoryProperties2KHR");
2398 out->vkGetPhysicalDeviceSparseImageFormatProperties2KHR =
2399 (PFN_vkGetPhysicalDeviceSparseImageFormatProperties2KHR)vk->vkGetDeviceProcAddr(
2400 device, "vkGetPhysicalDeviceSparseImageFormatProperties2KHR");
2401 #endif
2402 #ifdef VK_KHR_maintenance1
2403 out->vkTrimCommandPoolKHR =
2404 (PFN_vkTrimCommandPoolKHR)vk->vkGetDeviceProcAddr(device, "vkTrimCommandPoolKHR");
2405 #endif
2406 #ifdef VK_KHR_external_memory_capabilities
2407 out->vkGetPhysicalDeviceExternalBufferPropertiesKHR =
2408 (PFN_vkGetPhysicalDeviceExternalBufferPropertiesKHR)vk->vkGetDeviceProcAddr(
2409 device, "vkGetPhysicalDeviceExternalBufferPropertiesKHR");
2410 #endif
2411 #ifdef VK_KHR_external_memory_win32
2412 out->vkGetMemoryWin32HandleKHR =
2413 (PFN_vkGetMemoryWin32HandleKHR)vk->vkGetDeviceProcAddr(device, "vkGetMemoryWin32HandleKHR");
2414 out->vkGetMemoryWin32HandlePropertiesKHR =
2415 (PFN_vkGetMemoryWin32HandlePropertiesKHR)vk->vkGetDeviceProcAddr(
2416 device, "vkGetMemoryWin32HandlePropertiesKHR");
2417 #endif
2418 #ifdef VK_KHR_external_memory_fd
2419 out->vkGetMemoryFdKHR =
2420 (PFN_vkGetMemoryFdKHR)vk->vkGetDeviceProcAddr(device, "vkGetMemoryFdKHR");
2421 out->vkGetMemoryFdPropertiesKHR = (PFN_vkGetMemoryFdPropertiesKHR)vk->vkGetDeviceProcAddr(
2422 device, "vkGetMemoryFdPropertiesKHR");
2423 #endif
2424 #ifdef VK_KHR_external_semaphore_capabilities
2425 out->vkGetPhysicalDeviceExternalSemaphorePropertiesKHR =
2426 (PFN_vkGetPhysicalDeviceExternalSemaphorePropertiesKHR)vk->vkGetDeviceProcAddr(
2427 device, "vkGetPhysicalDeviceExternalSemaphorePropertiesKHR");
2428 #endif
2429 #ifdef VK_KHR_external_semaphore_win32
2430 out->vkImportSemaphoreWin32HandleKHR =
2431 (PFN_vkImportSemaphoreWin32HandleKHR)vk->vkGetDeviceProcAddr(
2432 device, "vkImportSemaphoreWin32HandleKHR");
2433 out->vkGetSemaphoreWin32HandleKHR = (PFN_vkGetSemaphoreWin32HandleKHR)vk->vkGetDeviceProcAddr(
2434 device, "vkGetSemaphoreWin32HandleKHR");
2435 #endif
2436 #ifdef VK_KHR_external_semaphore_fd
2437 out->vkImportSemaphoreFdKHR =
2438 (PFN_vkImportSemaphoreFdKHR)vk->vkGetDeviceProcAddr(device, "vkImportSemaphoreFdKHR");
2439 out->vkGetSemaphoreFdKHR =
2440 (PFN_vkGetSemaphoreFdKHR)vk->vkGetDeviceProcAddr(device, "vkGetSemaphoreFdKHR");
2441 #endif
2442 #ifdef VK_KHR_descriptor_update_template
2443 out->vkCreateDescriptorUpdateTemplateKHR =
2444 (PFN_vkCreateDescriptorUpdateTemplateKHR)vk->vkGetDeviceProcAddr(
2445 device, "vkCreateDescriptorUpdateTemplateKHR");
2446 out->vkDestroyDescriptorUpdateTemplateKHR =
2447 (PFN_vkDestroyDescriptorUpdateTemplateKHR)vk->vkGetDeviceProcAddr(
2448 device, "vkDestroyDescriptorUpdateTemplateKHR");
2449 out->vkUpdateDescriptorSetWithTemplateKHR =
2450 (PFN_vkUpdateDescriptorSetWithTemplateKHR)vk->vkGetDeviceProcAddr(
2451 device, "vkUpdateDescriptorSetWithTemplateKHR");
2452 #endif
2453 #ifdef VK_KHR_create_renderpass2
2454 out->vkCreateRenderPass2KHR =
2455 (PFN_vkCreateRenderPass2KHR)vk->vkGetDeviceProcAddr(device, "vkCreateRenderPass2KHR");
2456 out->vkCmdBeginRenderPass2KHR =
2457 (PFN_vkCmdBeginRenderPass2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdBeginRenderPass2KHR");
2458 out->vkCmdNextSubpass2KHR =
2459 (PFN_vkCmdNextSubpass2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdNextSubpass2KHR");
2460 out->vkCmdEndRenderPass2KHR =
2461 (PFN_vkCmdEndRenderPass2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdEndRenderPass2KHR");
2462 #endif
2463 #ifdef VK_KHR_external_fence_capabilities
2464 out->vkGetPhysicalDeviceExternalFencePropertiesKHR =
2465 (PFN_vkGetPhysicalDeviceExternalFencePropertiesKHR)vk->vkGetDeviceProcAddr(
2466 device, "vkGetPhysicalDeviceExternalFencePropertiesKHR");
2467 #endif
2468 #ifdef VK_KHR_external_fence_fd
2469 out->vkImportFenceFdKHR =
2470 (PFN_vkImportFenceFdKHR)vk->vkGetDeviceProcAddr(device, "vkImportFenceFdKHR");
2471 out->vkGetFenceFdKHR = (PFN_vkGetFenceFdKHR)vk->vkGetDeviceProcAddr(device, "vkGetFenceFdKHR");
2472 #endif
2473 #ifdef VK_KHR_get_memory_requirements2
2474 out->vkGetImageMemoryRequirements2KHR =
2475 (PFN_vkGetImageMemoryRequirements2KHR)vk->vkGetDeviceProcAddr(
2476 device, "vkGetImageMemoryRequirements2KHR");
2477 out->vkGetBufferMemoryRequirements2KHR =
2478 (PFN_vkGetBufferMemoryRequirements2KHR)vk->vkGetDeviceProcAddr(
2479 device, "vkGetBufferMemoryRequirements2KHR");
2480 out->vkGetImageSparseMemoryRequirements2KHR =
2481 (PFN_vkGetImageSparseMemoryRequirements2KHR)vk->vkGetDeviceProcAddr(
2482 device, "vkGetImageSparseMemoryRequirements2KHR");
2483 #endif
2484 #ifdef VK_KHR_sampler_ycbcr_conversion
2485 out->vkCreateSamplerYcbcrConversionKHR =
2486 (PFN_vkCreateSamplerYcbcrConversionKHR)vk->vkGetDeviceProcAddr(
2487 device, "vkCreateSamplerYcbcrConversionKHR");
2488 out->vkDestroySamplerYcbcrConversionKHR =
2489 (PFN_vkDestroySamplerYcbcrConversionKHR)vk->vkGetDeviceProcAddr(
2490 device, "vkDestroySamplerYcbcrConversionKHR");
2491 #endif
2492 #ifdef VK_KHR_bind_memory2
2493 out->vkBindBufferMemory2KHR =
2494 (PFN_vkBindBufferMemory2KHR)vk->vkGetDeviceProcAddr(device, "vkBindBufferMemory2KHR");
2495 out->vkBindImageMemory2KHR =
2496 (PFN_vkBindImageMemory2KHR)vk->vkGetDeviceProcAddr(device, "vkBindImageMemory2KHR");
2497 #endif
2498 #ifdef VK_KHR_maintenance3
2499 out->vkGetDescriptorSetLayoutSupportKHR =
2500 (PFN_vkGetDescriptorSetLayoutSupportKHR)vk->vkGetDeviceProcAddr(
2501 device, "vkGetDescriptorSetLayoutSupportKHR");
2502 #endif
2503 #ifdef VK_KHR_buffer_device_address
2504 out->vkGetBufferDeviceAddressKHR = (PFN_vkGetBufferDeviceAddressKHR)vk->vkGetDeviceProcAddr(
2505 device, "vkGetBufferDeviceAddressKHR");
2506 out->vkGetBufferOpaqueCaptureAddressKHR =
2507 (PFN_vkGetBufferOpaqueCaptureAddressKHR)vk->vkGetDeviceProcAddr(
2508 device, "vkGetBufferOpaqueCaptureAddressKHR");
2509 out->vkGetDeviceMemoryOpaqueCaptureAddressKHR =
2510 (PFN_vkGetDeviceMemoryOpaqueCaptureAddressKHR)vk->vkGetDeviceProcAddr(
2511 device, "vkGetDeviceMemoryOpaqueCaptureAddressKHR");
2512 #endif
2513 #ifdef VK_KHR_pipeline_executable_properties
2514 out->vkGetPipelineExecutablePropertiesKHR =
2515 (PFN_vkGetPipelineExecutablePropertiesKHR)vk->vkGetDeviceProcAddr(
2516 device, "vkGetPipelineExecutablePropertiesKHR");
2517 out->vkGetPipelineExecutableStatisticsKHR =
2518 (PFN_vkGetPipelineExecutableStatisticsKHR)vk->vkGetDeviceProcAddr(
2519 device, "vkGetPipelineExecutableStatisticsKHR");
2520 out->vkGetPipelineExecutableInternalRepresentationsKHR =
2521 (PFN_vkGetPipelineExecutableInternalRepresentationsKHR)vk->vkGetDeviceProcAddr(
2522 device, "vkGetPipelineExecutableInternalRepresentationsKHR");
2523 #endif
2524 #ifdef VK_KHR_synchronization2
2525 out->vkCmdSetEvent2KHR =
2526 (PFN_vkCmdSetEvent2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdSetEvent2KHR");
2527 out->vkCmdResetEvent2KHR =
2528 (PFN_vkCmdResetEvent2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdResetEvent2KHR");
2529 out->vkCmdWaitEvents2KHR =
2530 (PFN_vkCmdWaitEvents2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdWaitEvents2KHR");
2531 out->vkCmdPipelineBarrier2KHR =
2532 (PFN_vkCmdPipelineBarrier2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdPipelineBarrier2KHR");
2533 out->vkCmdWriteTimestamp2KHR =
2534 (PFN_vkCmdWriteTimestamp2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdWriteTimestamp2KHR");
2535 out->vkQueueSubmit2KHR =
2536 (PFN_vkQueueSubmit2KHR)vk->vkGetDeviceProcAddr(device, "vkQueueSubmit2KHR");
2537 out->vkCmdWriteBufferMarker2AMD = (PFN_vkCmdWriteBufferMarker2AMD)vk->vkGetDeviceProcAddr(
2538 device, "vkCmdWriteBufferMarker2AMD");
2539 out->vkGetQueueCheckpointData2NV = (PFN_vkGetQueueCheckpointData2NV)vk->vkGetDeviceProcAddr(
2540 device, "vkGetQueueCheckpointData2NV");
2541 #endif
2542 #ifdef VK_KHR_copy_commands2
2543 out->vkCmdCopyBuffer2KHR =
2544 (PFN_vkCmdCopyBuffer2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdCopyBuffer2KHR");
2545 out->vkCmdCopyImage2KHR =
2546 (PFN_vkCmdCopyImage2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdCopyImage2KHR");
2547 out->vkCmdCopyBufferToImage2KHR = (PFN_vkCmdCopyBufferToImage2KHR)vk->vkGetDeviceProcAddr(
2548 device, "vkCmdCopyBufferToImage2KHR");
2549 out->vkCmdCopyImageToBuffer2KHR = (PFN_vkCmdCopyImageToBuffer2KHR)vk->vkGetDeviceProcAddr(
2550 device, "vkCmdCopyImageToBuffer2KHR");
2551 out->vkCmdBlitImage2KHR =
2552 (PFN_vkCmdBlitImage2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdBlitImage2KHR");
2553 out->vkCmdResolveImage2KHR =
2554 (PFN_vkCmdResolveImage2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdResolveImage2KHR");
2555 #endif
2556 #ifdef VK_KHR_maintenance4
2557 out->vkGetDeviceBufferMemoryRequirementsKHR =
2558 (PFN_vkGetDeviceBufferMemoryRequirementsKHR)vk->vkGetDeviceProcAddr(
2559 device, "vkGetDeviceBufferMemoryRequirementsKHR");
2560 out->vkGetDeviceImageMemoryRequirementsKHR =
2561 (PFN_vkGetDeviceImageMemoryRequirementsKHR)vk->vkGetDeviceProcAddr(
2562 device, "vkGetDeviceImageMemoryRequirementsKHR");
2563 out->vkGetDeviceImageSparseMemoryRequirementsKHR =
2564 (PFN_vkGetDeviceImageSparseMemoryRequirementsKHR)vk->vkGetDeviceProcAddr(
2565 device, "vkGetDeviceImageSparseMemoryRequirementsKHR");
2566 #endif
2567 #ifdef VK_KHR_maintenance5
2568 out->vkCmdBindIndexBuffer2KHR =
2569 (PFN_vkCmdBindIndexBuffer2KHR)vk->vkGetDeviceProcAddr(device, "vkCmdBindIndexBuffer2KHR");
2570 out->vkGetRenderingAreaGranularityKHR =
2571 (PFN_vkGetRenderingAreaGranularityKHR)vk->vkGetDeviceProcAddr(
2572 device, "vkGetRenderingAreaGranularityKHR");
2573 out->vkGetDeviceImageSubresourceLayoutKHR =
2574 (PFN_vkGetDeviceImageSubresourceLayoutKHR)vk->vkGetDeviceProcAddr(
2575 device, "vkGetDeviceImageSubresourceLayoutKHR");
2576 out->vkGetImageSubresourceLayout2KHR =
2577 (PFN_vkGetImageSubresourceLayout2KHR)vk->vkGetDeviceProcAddr(
2578 device, "vkGetImageSubresourceLayout2KHR");
2579 #endif
2580 #ifdef VK_KHR_line_rasterization
2581 out->vkCmdSetLineStippleKHR =
2582 (PFN_vkCmdSetLineStippleKHR)vk->vkGetDeviceProcAddr(device, "vkCmdSetLineStippleKHR");
2583 #endif
2584 #ifdef VK_ANDROID_native_buffer
2585 out->vkGetSwapchainGrallocUsageANDROID =
2586 (PFN_vkGetSwapchainGrallocUsageANDROID)vk->vkGetDeviceProcAddr(
2587 device, "vkGetSwapchainGrallocUsageANDROID");
2588 out->vkAcquireImageANDROID =
2589 (PFN_vkAcquireImageANDROID)vk->vkGetDeviceProcAddr(device, "vkAcquireImageANDROID");
2590 out->vkQueueSignalReleaseImageANDROID =
2591 (PFN_vkQueueSignalReleaseImageANDROID)vk->vkGetDeviceProcAddr(
2592 device, "vkQueueSignalReleaseImageANDROID");
2593 out->vkGetSwapchainGrallocUsage2ANDROID =
2594 (PFN_vkGetSwapchainGrallocUsage2ANDROID)vk->vkGetDeviceProcAddr(
2595 device, "vkGetSwapchainGrallocUsage2ANDROID");
2596 #endif
2597 #ifdef VK_EXT_transform_feedback
2598 out->vkCmdBindTransformFeedbackBuffersEXT =
2599 (PFN_vkCmdBindTransformFeedbackBuffersEXT)vk->vkGetDeviceProcAddr(
2600 device, "vkCmdBindTransformFeedbackBuffersEXT");
2601 out->vkCmdBeginTransformFeedbackEXT =
2602 (PFN_vkCmdBeginTransformFeedbackEXT)vk->vkGetDeviceProcAddr(
2603 device, "vkCmdBeginTransformFeedbackEXT");
2604 out->vkCmdEndTransformFeedbackEXT = (PFN_vkCmdEndTransformFeedbackEXT)vk->vkGetDeviceProcAddr(
2605 device, "vkCmdEndTransformFeedbackEXT");
2606 out->vkCmdBeginQueryIndexedEXT =
2607 (PFN_vkCmdBeginQueryIndexedEXT)vk->vkGetDeviceProcAddr(device, "vkCmdBeginQueryIndexedEXT");
2608 out->vkCmdEndQueryIndexedEXT =
2609 (PFN_vkCmdEndQueryIndexedEXT)vk->vkGetDeviceProcAddr(device, "vkCmdEndQueryIndexedEXT");
2610 out->vkCmdDrawIndirectByteCountEXT = (PFN_vkCmdDrawIndirectByteCountEXT)vk->vkGetDeviceProcAddr(
2611 device, "vkCmdDrawIndirectByteCountEXT");
2612 #endif
2613 #ifdef VK_EXT_debug_utils
2614 out->vkSetDebugUtilsObjectNameEXT = (PFN_vkSetDebugUtilsObjectNameEXT)vk->vkGetDeviceProcAddr(
2615 device, "vkSetDebugUtilsObjectNameEXT");
2616 out->vkSetDebugUtilsObjectTagEXT = (PFN_vkSetDebugUtilsObjectTagEXT)vk->vkGetDeviceProcAddr(
2617 device, "vkSetDebugUtilsObjectTagEXT");
2618 out->vkQueueBeginDebugUtilsLabelEXT =
2619 (PFN_vkQueueBeginDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2620 device, "vkQueueBeginDebugUtilsLabelEXT");
2621 out->vkQueueEndDebugUtilsLabelEXT = (PFN_vkQueueEndDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2622 device, "vkQueueEndDebugUtilsLabelEXT");
2623 out->vkQueueInsertDebugUtilsLabelEXT =
2624 (PFN_vkQueueInsertDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2625 device, "vkQueueInsertDebugUtilsLabelEXT");
2626 out->vkCmdBeginDebugUtilsLabelEXT = (PFN_vkCmdBeginDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2627 device, "vkCmdBeginDebugUtilsLabelEXT");
2628 out->vkCmdEndDebugUtilsLabelEXT = (PFN_vkCmdEndDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2629 device, "vkCmdEndDebugUtilsLabelEXT");
2630 out->vkCmdInsertDebugUtilsLabelEXT = (PFN_vkCmdInsertDebugUtilsLabelEXT)vk->vkGetDeviceProcAddr(
2631 device, "vkCmdInsertDebugUtilsLabelEXT");
2632 #endif
2633 #ifdef VK_EXT_image_drm_format_modifier
2634 out->vkGetImageDrmFormatModifierPropertiesEXT =
2635 (PFN_vkGetImageDrmFormatModifierPropertiesEXT)vk->vkGetDeviceProcAddr(
2636 device, "vkGetImageDrmFormatModifierPropertiesEXT");
2637 #endif
2638 #ifdef VK_EXT_external_memory_host
2639 out->vkGetMemoryHostPointerPropertiesEXT =
2640 (PFN_vkGetMemoryHostPointerPropertiesEXT)vk->vkGetDeviceProcAddr(
2641 device, "vkGetMemoryHostPointerPropertiesEXT");
2642 #endif
2643 #ifdef VK_NV_device_diagnostic_checkpoints
2644 out->vkCmdSetCheckpointNV =
2645 (PFN_vkCmdSetCheckpointNV)vk->vkGetDeviceProcAddr(device, "vkCmdSetCheckpointNV");
2646 out->vkGetQueueCheckpointDataNV = (PFN_vkGetQueueCheckpointDataNV)vk->vkGetDeviceProcAddr(
2647 device, "vkGetQueueCheckpointDataNV");
2648 #endif
2649 #ifdef VK_EXT_tooling_info
2650 out->vkGetPhysicalDeviceToolPropertiesEXT =
2651 (PFN_vkGetPhysicalDeviceToolPropertiesEXT)vk->vkGetDeviceProcAddr(
2652 device, "vkGetPhysicalDeviceToolPropertiesEXT");
2653 #endif
2654 #ifdef VK_EXT_line_rasterization
2655 out->vkCmdSetLineStippleEXT =
2656 (PFN_vkCmdSetLineStippleEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetLineStippleEXT");
2657 #endif
2658 #ifdef VK_EXT_extended_dynamic_state
2659 out->vkCmdSetCullModeEXT =
2660 (PFN_vkCmdSetCullModeEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetCullModeEXT");
2661 out->vkCmdSetFrontFaceEXT =
2662 (PFN_vkCmdSetFrontFaceEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetFrontFaceEXT");
2663 out->vkCmdSetPrimitiveTopologyEXT = (PFN_vkCmdSetPrimitiveTopologyEXT)vk->vkGetDeviceProcAddr(
2664 device, "vkCmdSetPrimitiveTopologyEXT");
2665 out->vkCmdSetViewportWithCountEXT = (PFN_vkCmdSetViewportWithCountEXT)vk->vkGetDeviceProcAddr(
2666 device, "vkCmdSetViewportWithCountEXT");
2667 out->vkCmdSetScissorWithCountEXT = (PFN_vkCmdSetScissorWithCountEXT)vk->vkGetDeviceProcAddr(
2668 device, "vkCmdSetScissorWithCountEXT");
2669 out->vkCmdBindVertexBuffers2EXT = (PFN_vkCmdBindVertexBuffers2EXT)vk->vkGetDeviceProcAddr(
2670 device, "vkCmdBindVertexBuffers2EXT");
2671 out->vkCmdSetDepthTestEnableEXT = (PFN_vkCmdSetDepthTestEnableEXT)vk->vkGetDeviceProcAddr(
2672 device, "vkCmdSetDepthTestEnableEXT");
2673 out->vkCmdSetDepthWriteEnableEXT = (PFN_vkCmdSetDepthWriteEnableEXT)vk->vkGetDeviceProcAddr(
2674 device, "vkCmdSetDepthWriteEnableEXT");
2675 out->vkCmdSetDepthCompareOpEXT =
2676 (PFN_vkCmdSetDepthCompareOpEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetDepthCompareOpEXT");
2677 out->vkCmdSetDepthBoundsTestEnableEXT =
2678 (PFN_vkCmdSetDepthBoundsTestEnableEXT)vk->vkGetDeviceProcAddr(
2679 device, "vkCmdSetDepthBoundsTestEnableEXT");
2680 out->vkCmdSetStencilTestEnableEXT = (PFN_vkCmdSetStencilTestEnableEXT)vk->vkGetDeviceProcAddr(
2681 device, "vkCmdSetStencilTestEnableEXT");
2682 out->vkCmdSetStencilOpEXT =
2683 (PFN_vkCmdSetStencilOpEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetStencilOpEXT");
2684 #endif
2685 #ifdef VK_EXT_host_image_copy
2686 out->vkCopyMemoryToImageEXT =
2687 (PFN_vkCopyMemoryToImageEXT)vk->vkGetDeviceProcAddr(device, "vkCopyMemoryToImageEXT");
2688 out->vkCopyImageToMemoryEXT =
2689 (PFN_vkCopyImageToMemoryEXT)vk->vkGetDeviceProcAddr(device, "vkCopyImageToMemoryEXT");
2690 out->vkCopyImageToImageEXT =
2691 (PFN_vkCopyImageToImageEXT)vk->vkGetDeviceProcAddr(device, "vkCopyImageToImageEXT");
2692 out->vkTransitionImageLayoutEXT = (PFN_vkTransitionImageLayoutEXT)vk->vkGetDeviceProcAddr(
2693 device, "vkTransitionImageLayoutEXT");
2694 out->vkGetImageSubresourceLayout2EXT =
2695 (PFN_vkGetImageSubresourceLayout2EXT)vk->vkGetDeviceProcAddr(
2696 device, "vkGetImageSubresourceLayout2EXT");
2697 #endif
2698 #ifdef VK_EXT_swapchain_maintenance1
2699 out->vkReleaseSwapchainImagesEXT = (PFN_vkReleaseSwapchainImagesEXT)vk->vkGetDeviceProcAddr(
2700 device, "vkReleaseSwapchainImagesEXT");
2701 #endif
2702 #ifdef VK_EXT_private_data
2703 out->vkCreatePrivateDataSlotEXT = (PFN_vkCreatePrivateDataSlotEXT)vk->vkGetDeviceProcAddr(
2704 device, "vkCreatePrivateDataSlotEXT");
2705 out->vkDestroyPrivateDataSlotEXT = (PFN_vkDestroyPrivateDataSlotEXT)vk->vkGetDeviceProcAddr(
2706 device, "vkDestroyPrivateDataSlotEXT");
2707 out->vkSetPrivateDataEXT =
2708 (PFN_vkSetPrivateDataEXT)vk->vkGetDeviceProcAddr(device, "vkSetPrivateDataEXT");
2709 out->vkGetPrivateDataEXT =
2710 (PFN_vkGetPrivateDataEXT)vk->vkGetDeviceProcAddr(device, "vkGetPrivateDataEXT");
2711 #endif
2712 #ifdef VK_EXT_metal_objects
2713 out->vkExportMetalObjectsEXT =
2714 (PFN_vkExportMetalObjectsEXT)vk->vkGetDeviceProcAddr(device, "vkExportMetalObjectsEXT");
2715 #endif
2716 #ifdef VK_EXT_extended_dynamic_state2
2717 out->vkCmdSetPatchControlPointsEXT = (PFN_vkCmdSetPatchControlPointsEXT)vk->vkGetDeviceProcAddr(
2718 device, "vkCmdSetPatchControlPointsEXT");
2719 out->vkCmdSetRasterizerDiscardEnableEXT =
2720 (PFN_vkCmdSetRasterizerDiscardEnableEXT)vk->vkGetDeviceProcAddr(
2721 device, "vkCmdSetRasterizerDiscardEnableEXT");
2722 out->vkCmdSetDepthBiasEnableEXT = (PFN_vkCmdSetDepthBiasEnableEXT)vk->vkGetDeviceProcAddr(
2723 device, "vkCmdSetDepthBiasEnableEXT");
2724 out->vkCmdSetLogicOpEXT =
2725 (PFN_vkCmdSetLogicOpEXT)vk->vkGetDeviceProcAddr(device, "vkCmdSetLogicOpEXT");
2726 out->vkCmdSetPrimitiveRestartEnableEXT =
2727 (PFN_vkCmdSetPrimitiveRestartEnableEXT)vk->vkGetDeviceProcAddr(
2728 device, "vkCmdSetPrimitiveRestartEnableEXT");
2729 #endif
2730 #ifdef VK_EXT_color_write_enable
2731 out->vkCmdSetColorWriteEnableEXT = (PFN_vkCmdSetColorWriteEnableEXT)vk->vkGetDeviceProcAddr(
2732 device, "vkCmdSetColorWriteEnableEXT");
2733 #endif
2734 #ifdef VK_GOOGLE_gfxstream
2735 out->vkMapMemoryIntoAddressSpaceGOOGLE =
2736 (PFN_vkMapMemoryIntoAddressSpaceGOOGLE)vk->vkGetDeviceProcAddr(
2737 device, "vkMapMemoryIntoAddressSpaceGOOGLE");
2738 out->vkUpdateDescriptorSetWithTemplateSizedGOOGLE =
2739 (PFN_vkUpdateDescriptorSetWithTemplateSizedGOOGLE)vk->vkGetDeviceProcAddr(
2740 device, "vkUpdateDescriptorSetWithTemplateSizedGOOGLE");
2741 out->vkBeginCommandBufferAsyncGOOGLE =
2742 (PFN_vkBeginCommandBufferAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2743 device, "vkBeginCommandBufferAsyncGOOGLE");
2744 out->vkEndCommandBufferAsyncGOOGLE = (PFN_vkEndCommandBufferAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2745 device, "vkEndCommandBufferAsyncGOOGLE");
2746 out->vkResetCommandBufferAsyncGOOGLE =
2747 (PFN_vkResetCommandBufferAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2748 device, "vkResetCommandBufferAsyncGOOGLE");
2749 out->vkCommandBufferHostSyncGOOGLE = (PFN_vkCommandBufferHostSyncGOOGLE)vk->vkGetDeviceProcAddr(
2750 device, "vkCommandBufferHostSyncGOOGLE");
2751 out->vkCreateImageWithRequirementsGOOGLE =
2752 (PFN_vkCreateImageWithRequirementsGOOGLE)vk->vkGetDeviceProcAddr(
2753 device, "vkCreateImageWithRequirementsGOOGLE");
2754 out->vkCreateBufferWithRequirementsGOOGLE =
2755 (PFN_vkCreateBufferWithRequirementsGOOGLE)vk->vkGetDeviceProcAddr(
2756 device, "vkCreateBufferWithRequirementsGOOGLE");
2757 out->vkGetMemoryHostAddressInfoGOOGLE =
2758 (PFN_vkGetMemoryHostAddressInfoGOOGLE)vk->vkGetDeviceProcAddr(
2759 device, "vkGetMemoryHostAddressInfoGOOGLE");
2760 out->vkFreeMemorySyncGOOGLE =
2761 (PFN_vkFreeMemorySyncGOOGLE)vk->vkGetDeviceProcAddr(device, "vkFreeMemorySyncGOOGLE");
2762 out->vkQueueHostSyncGOOGLE =
2763 (PFN_vkQueueHostSyncGOOGLE)vk->vkGetDeviceProcAddr(device, "vkQueueHostSyncGOOGLE");
2764 out->vkQueueSubmitAsyncGOOGLE =
2765 (PFN_vkQueueSubmitAsyncGOOGLE)vk->vkGetDeviceProcAddr(device, "vkQueueSubmitAsyncGOOGLE");
2766 out->vkQueueWaitIdleAsyncGOOGLE = (PFN_vkQueueWaitIdleAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2767 device, "vkQueueWaitIdleAsyncGOOGLE");
2768 out->vkQueueBindSparseAsyncGOOGLE = (PFN_vkQueueBindSparseAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2769 device, "vkQueueBindSparseAsyncGOOGLE");
2770 out->vkGetLinearImageLayoutGOOGLE = (PFN_vkGetLinearImageLayoutGOOGLE)vk->vkGetDeviceProcAddr(
2771 device, "vkGetLinearImageLayoutGOOGLE");
2772 out->vkGetLinearImageLayout2GOOGLE = (PFN_vkGetLinearImageLayout2GOOGLE)vk->vkGetDeviceProcAddr(
2773 device, "vkGetLinearImageLayout2GOOGLE");
2774 out->vkQueueFlushCommandsGOOGLE = (PFN_vkQueueFlushCommandsGOOGLE)vk->vkGetDeviceProcAddr(
2775 device, "vkQueueFlushCommandsGOOGLE");
2776 out->vkQueueCommitDescriptorSetUpdatesGOOGLE =
2777 (PFN_vkQueueCommitDescriptorSetUpdatesGOOGLE)vk->vkGetDeviceProcAddr(
2778 device, "vkQueueCommitDescriptorSetUpdatesGOOGLE");
2779 out->vkCollectDescriptorPoolIdsGOOGLE =
2780 (PFN_vkCollectDescriptorPoolIdsGOOGLE)vk->vkGetDeviceProcAddr(
2781 device, "vkCollectDescriptorPoolIdsGOOGLE");
2782 out->vkQueueSignalReleaseImageANDROIDAsyncGOOGLE =
2783 (PFN_vkQueueSignalReleaseImageANDROIDAsyncGOOGLE)vk->vkGetDeviceProcAddr(
2784 device, "vkQueueSignalReleaseImageANDROIDAsyncGOOGLE");
2785 out->vkQueueFlushCommandsFromAuxMemoryGOOGLE =
2786 (PFN_vkQueueFlushCommandsFromAuxMemoryGOOGLE)vk->vkGetDeviceProcAddr(
2787 device, "vkQueueFlushCommandsFromAuxMemoryGOOGLE");
2788 out->vkGetBlobGOOGLE = (PFN_vkGetBlobGOOGLE)vk->vkGetDeviceProcAddr(device, "vkGetBlobGOOGLE");
2789 out->vkUpdateDescriptorSetWithTemplateSized2GOOGLE =
2790 (PFN_vkUpdateDescriptorSetWithTemplateSized2GOOGLE)vk->vkGetDeviceProcAddr(
2791 device, "vkUpdateDescriptorSetWithTemplateSized2GOOGLE");
2792 out->vkQueueSubmitAsync2GOOGLE =
2793 (PFN_vkQueueSubmitAsync2GOOGLE)vk->vkGetDeviceProcAddr(device, "vkQueueSubmitAsync2GOOGLE");
2794 out->vkGetSemaphoreGOOGLE =
2795 (PFN_vkGetSemaphoreGOOGLE)vk->vkGetDeviceProcAddr(device, "vkGetSemaphoreGOOGLE");
2796 #endif
2797 #ifdef VK_QNX_external_memory_screen_buffer
2798 out->vkGetScreenBufferPropertiesQNX =
2799 (PFN_vkGetScreenBufferPropertiesQNX)vk->vkGetDeviceProcAddr(
2800 device, "vkGetScreenBufferPropertiesQNX");
2801 #endif
2802 #ifdef VK_EXT_external_memory_metal
2803 out->vkGetMemoryMetalHandleEXT =
2804 (PFN_vkGetMemoryMetalHandleEXT)vk->vkGetDeviceProcAddr(device, "vkGetMemoryMetalHandleEXT");
2805 out->vkGetMemoryMetalHandlePropertiesEXT =
2806 (PFN_vkGetMemoryMetalHandlePropertiesEXT)vk->vkGetDeviceProcAddr(
2807 device, "vkGetMemoryMetalHandlePropertiesEXT");
2808 #endif
2809 #ifdef VK_KHR_ray_tracing_pipeline
2810 out->vkCmdTraceRaysKHR =
2811 (PFN_vkCmdTraceRaysKHR)vk->vkGetDeviceProcAddr(device, "vkCmdTraceRaysKHR");
2812 out->vkCreateRayTracingPipelinesKHR =
2813 (PFN_vkCreateRayTracingPipelinesKHR)vk->vkGetDeviceProcAddr(
2814 device, "vkCreateRayTracingPipelinesKHR");
2815 out->vkGetRayTracingCaptureReplayShaderGroupHandlesKHR =
2816 (PFN_vkGetRayTracingCaptureReplayShaderGroupHandlesKHR)vk->vkGetDeviceProcAddr(
2817 device, "vkGetRayTracingCaptureReplayShaderGroupHandlesKHR");
2818 out->vkCmdTraceRaysIndirectKHR =
2819 (PFN_vkCmdTraceRaysIndirectKHR)vk->vkGetDeviceProcAddr(device, "vkCmdTraceRaysIndirectKHR");
2820 out->vkGetRayTracingShaderGroupStackSizeKHR =
2821 (PFN_vkGetRayTracingShaderGroupStackSizeKHR)vk->vkGetDeviceProcAddr(
2822 device, "vkGetRayTracingShaderGroupStackSizeKHR");
2823 out->vkCmdSetRayTracingPipelineStackSizeKHR =
2824 (PFN_vkCmdSetRayTracingPipelineStackSizeKHR)vk->vkGetDeviceProcAddr(
2825 device, "vkCmdSetRayTracingPipelineStackSizeKHR");
2826 #endif
2827 }
2828
vulkan_dispatch_check_instance_VK_VERSION_1_0(const VulkanDispatch * vk)2829 bool vulkan_dispatch_check_instance_VK_VERSION_1_0(const VulkanDispatch* vk)
2830
2831 {
2832 bool good = true;
2833 if (!vk->vkCreateInstance) {
2834 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateInstance not found\n");
2835 good = false;
2836 }
2837 if (!vk->vkEnumerateInstanceExtensionProperties) {
2838 fprintf(stderr,
2839 "VK_VERSION_1_0 check failed: vkEnumerateInstanceExtensionProperties not found\n");
2840 good = false;
2841 }
2842 if (!vk->vkEnumerateInstanceLayerProperties) {
2843 fprintf(stderr,
2844 "VK_VERSION_1_0 check failed: vkEnumerateInstanceLayerProperties not found\n");
2845 good = false;
2846 }
2847 if (!vk->vkGetDeviceProcAddr) {
2848 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetDeviceProcAddr not found\n");
2849 good = false;
2850 }
2851 if (!vk->vkGetPhysicalDeviceSparseImageFormatProperties) {
2852 fprintf(stderr,
2853 "VK_VERSION_1_0 check failed: vkGetPhysicalDeviceSparseImageFormatProperties not "
2854 "found\n");
2855 good = false;
2856 }
2857 return good;
2858 }
2859
vulkan_dispatch_check_instance_VK_VERSION_1_1(const VulkanDispatch * vk)2860 bool vulkan_dispatch_check_instance_VK_VERSION_1_1(const VulkanDispatch* vk)
2861
2862 {
2863 bool good = true;
2864 if (!vk->vkEnumerateInstanceVersion) {
2865 fprintf(stderr, "VK_VERSION_1_1 check failed: vkEnumerateInstanceVersion not found\n");
2866 good = false;
2867 }
2868 if (!vk->vkEnumeratePhysicalDeviceGroups) {
2869 fprintf(stderr, "VK_VERSION_1_1 check failed: vkEnumeratePhysicalDeviceGroups not found\n");
2870 good = false;
2871 }
2872 if (!vk->vkGetPhysicalDeviceFeatures2) {
2873 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceFeatures2 not found\n");
2874 good = false;
2875 }
2876 if (!vk->vkGetPhysicalDeviceProperties2) {
2877 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceProperties2 not found\n");
2878 good = false;
2879 }
2880 if (!vk->vkGetPhysicalDeviceFormatProperties2) {
2881 fprintf(stderr,
2882 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceFormatProperties2 not found\n");
2883 good = false;
2884 }
2885 if (!vk->vkGetPhysicalDeviceImageFormatProperties2) {
2886 fprintf(
2887 stderr,
2888 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceImageFormatProperties2 not found\n");
2889 good = false;
2890 }
2891 if (!vk->vkGetPhysicalDeviceQueueFamilyProperties2) {
2892 fprintf(
2893 stderr,
2894 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceQueueFamilyProperties2 not found\n");
2895 good = false;
2896 }
2897 if (!vk->vkGetPhysicalDeviceMemoryProperties2) {
2898 fprintf(stderr,
2899 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceMemoryProperties2 not found\n");
2900 good = false;
2901 }
2902 if (!vk->vkGetPhysicalDeviceSparseImageFormatProperties2) {
2903 fprintf(stderr,
2904 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceSparseImageFormatProperties2 not "
2905 "found\n");
2906 good = false;
2907 }
2908 if (!vk->vkGetPhysicalDeviceExternalBufferProperties) {
2909 fprintf(
2910 stderr,
2911 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalBufferProperties not found\n");
2912 good = false;
2913 }
2914 if (!vk->vkGetPhysicalDeviceExternalFenceProperties) {
2915 fprintf(
2916 stderr,
2917 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalFenceProperties not found\n");
2918 good = false;
2919 }
2920 if (!vk->vkGetPhysicalDeviceExternalSemaphoreProperties) {
2921 fprintf(stderr,
2922 "VK_VERSION_1_1 check failed: vkGetPhysicalDeviceExternalSemaphoreProperties not "
2923 "found\n");
2924 good = false;
2925 }
2926 return good;
2927 }
2928
vulkan_dispatch_check_device_VK_VERSION_1_0(const VulkanDispatch * vk)2929 bool vulkan_dispatch_check_device_VK_VERSION_1_0(const VulkanDispatch* vk)
2930
2931 {
2932 bool good = true;
2933 if (!vk->vkGetDeviceQueue) {
2934 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetDeviceQueue not found\n");
2935 good = false;
2936 }
2937 if (!vk->vkQueueSubmit) {
2938 fprintf(stderr, "VK_VERSION_1_0 check failed: vkQueueSubmit not found\n");
2939 good = false;
2940 }
2941 if (!vk->vkQueueWaitIdle) {
2942 fprintf(stderr, "VK_VERSION_1_0 check failed: vkQueueWaitIdle not found\n");
2943 good = false;
2944 }
2945 if (!vk->vkDeviceWaitIdle) {
2946 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDeviceWaitIdle not found\n");
2947 good = false;
2948 }
2949 if (!vk->vkAllocateMemory) {
2950 fprintf(stderr, "VK_VERSION_1_0 check failed: vkAllocateMemory not found\n");
2951 good = false;
2952 }
2953 if (!vk->vkFreeMemory) {
2954 fprintf(stderr, "VK_VERSION_1_0 check failed: vkFreeMemory not found\n");
2955 good = false;
2956 }
2957 if (!vk->vkMapMemory) {
2958 fprintf(stderr, "VK_VERSION_1_0 check failed: vkMapMemory not found\n");
2959 good = false;
2960 }
2961 if (!vk->vkUnmapMemory) {
2962 fprintf(stderr, "VK_VERSION_1_0 check failed: vkUnmapMemory not found\n");
2963 good = false;
2964 }
2965 if (!vk->vkFlushMappedMemoryRanges) {
2966 fprintf(stderr, "VK_VERSION_1_0 check failed: vkFlushMappedMemoryRanges not found\n");
2967 good = false;
2968 }
2969 if (!vk->vkInvalidateMappedMemoryRanges) {
2970 fprintf(stderr, "VK_VERSION_1_0 check failed: vkInvalidateMappedMemoryRanges not found\n");
2971 good = false;
2972 }
2973 if (!vk->vkGetDeviceMemoryCommitment) {
2974 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetDeviceMemoryCommitment not found\n");
2975 good = false;
2976 }
2977 if (!vk->vkBindBufferMemory) {
2978 fprintf(stderr, "VK_VERSION_1_0 check failed: vkBindBufferMemory not found\n");
2979 good = false;
2980 }
2981 if (!vk->vkBindImageMemory) {
2982 fprintf(stderr, "VK_VERSION_1_0 check failed: vkBindImageMemory not found\n");
2983 good = false;
2984 }
2985 if (!vk->vkGetBufferMemoryRequirements) {
2986 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetBufferMemoryRequirements not found\n");
2987 good = false;
2988 }
2989 if (!vk->vkGetImageMemoryRequirements) {
2990 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetImageMemoryRequirements not found\n");
2991 good = false;
2992 }
2993 if (!vk->vkGetImageSparseMemoryRequirements) {
2994 fprintf(stderr,
2995 "VK_VERSION_1_0 check failed: vkGetImageSparseMemoryRequirements not found\n");
2996 good = false;
2997 }
2998 if (!vk->vkQueueBindSparse) {
2999 fprintf(stderr, "VK_VERSION_1_0 check failed: vkQueueBindSparse not found\n");
3000 good = false;
3001 }
3002 if (!vk->vkCreateFence) {
3003 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateFence not found\n");
3004 good = false;
3005 }
3006 if (!vk->vkDestroyFence) {
3007 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyFence not found\n");
3008 good = false;
3009 }
3010 if (!vk->vkResetFences) {
3011 fprintf(stderr, "VK_VERSION_1_0 check failed: vkResetFences not found\n");
3012 good = false;
3013 }
3014 if (!vk->vkGetFenceStatus) {
3015 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetFenceStatus not found\n");
3016 good = false;
3017 }
3018 if (!vk->vkWaitForFences) {
3019 fprintf(stderr, "VK_VERSION_1_0 check failed: vkWaitForFences not found\n");
3020 good = false;
3021 }
3022 if (!vk->vkCreateSemaphore) {
3023 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateSemaphore not found\n");
3024 good = false;
3025 }
3026 if (!vk->vkDestroySemaphore) {
3027 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroySemaphore not found\n");
3028 good = false;
3029 }
3030 if (!vk->vkCreateEvent) {
3031 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateEvent not found\n");
3032 good = false;
3033 }
3034 if (!vk->vkDestroyEvent) {
3035 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyEvent not found\n");
3036 good = false;
3037 }
3038 if (!vk->vkGetEventStatus) {
3039 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetEventStatus not found\n");
3040 good = false;
3041 }
3042 if (!vk->vkSetEvent) {
3043 fprintf(stderr, "VK_VERSION_1_0 check failed: vkSetEvent not found\n");
3044 good = false;
3045 }
3046 if (!vk->vkResetEvent) {
3047 fprintf(stderr, "VK_VERSION_1_0 check failed: vkResetEvent not found\n");
3048 good = false;
3049 }
3050 if (!vk->vkCreateQueryPool) {
3051 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateQueryPool not found\n");
3052 good = false;
3053 }
3054 if (!vk->vkDestroyQueryPool) {
3055 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyQueryPool not found\n");
3056 good = false;
3057 }
3058 if (!vk->vkGetQueryPoolResults) {
3059 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetQueryPoolResults not found\n");
3060 good = false;
3061 }
3062 if (!vk->vkCreateBuffer) {
3063 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateBuffer not found\n");
3064 good = false;
3065 }
3066 if (!vk->vkDestroyBuffer) {
3067 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyBuffer not found\n");
3068 good = false;
3069 }
3070 if (!vk->vkCreateBufferView) {
3071 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateBufferView not found\n");
3072 good = false;
3073 }
3074 if (!vk->vkDestroyBufferView) {
3075 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyBufferView not found\n");
3076 good = false;
3077 }
3078 if (!vk->vkCreateImage) {
3079 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateImage not found\n");
3080 good = false;
3081 }
3082 if (!vk->vkDestroyImage) {
3083 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyImage not found\n");
3084 good = false;
3085 }
3086 if (!vk->vkGetImageSubresourceLayout) {
3087 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetImageSubresourceLayout not found\n");
3088 good = false;
3089 }
3090 if (!vk->vkCreateImageView) {
3091 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateImageView not found\n");
3092 good = false;
3093 }
3094 if (!vk->vkDestroyImageView) {
3095 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyImageView not found\n");
3096 good = false;
3097 }
3098 if (!vk->vkCreateShaderModule) {
3099 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateShaderModule not found\n");
3100 good = false;
3101 }
3102 if (!vk->vkDestroyShaderModule) {
3103 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyShaderModule not found\n");
3104 good = false;
3105 }
3106 if (!vk->vkCreatePipelineCache) {
3107 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreatePipelineCache not found\n");
3108 good = false;
3109 }
3110 if (!vk->vkDestroyPipelineCache) {
3111 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyPipelineCache not found\n");
3112 good = false;
3113 }
3114 if (!vk->vkGetPipelineCacheData) {
3115 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetPipelineCacheData not found\n");
3116 good = false;
3117 }
3118 if (!vk->vkMergePipelineCaches) {
3119 fprintf(stderr, "VK_VERSION_1_0 check failed: vkMergePipelineCaches not found\n");
3120 good = false;
3121 }
3122 if (!vk->vkCreateGraphicsPipelines) {
3123 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateGraphicsPipelines not found\n");
3124 good = false;
3125 }
3126 if (!vk->vkCreateComputePipelines) {
3127 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateComputePipelines not found\n");
3128 good = false;
3129 }
3130 if (!vk->vkDestroyPipeline) {
3131 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyPipeline not found\n");
3132 good = false;
3133 }
3134 if (!vk->vkCreatePipelineLayout) {
3135 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreatePipelineLayout not found\n");
3136 good = false;
3137 }
3138 if (!vk->vkDestroyPipelineLayout) {
3139 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyPipelineLayout not found\n");
3140 good = false;
3141 }
3142 if (!vk->vkCreateSampler) {
3143 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateSampler not found\n");
3144 good = false;
3145 }
3146 if (!vk->vkDestroySampler) {
3147 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroySampler not found\n");
3148 good = false;
3149 }
3150 if (!vk->vkCreateDescriptorSetLayout) {
3151 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateDescriptorSetLayout not found\n");
3152 good = false;
3153 }
3154 if (!vk->vkDestroyDescriptorSetLayout) {
3155 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyDescriptorSetLayout not found\n");
3156 good = false;
3157 }
3158 if (!vk->vkCreateDescriptorPool) {
3159 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateDescriptorPool not found\n");
3160 good = false;
3161 }
3162 if (!vk->vkDestroyDescriptorPool) {
3163 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyDescriptorPool not found\n");
3164 good = false;
3165 }
3166 if (!vk->vkResetDescriptorPool) {
3167 fprintf(stderr, "VK_VERSION_1_0 check failed: vkResetDescriptorPool not found\n");
3168 good = false;
3169 }
3170 if (!vk->vkAllocateDescriptorSets) {
3171 fprintf(stderr, "VK_VERSION_1_0 check failed: vkAllocateDescriptorSets not found\n");
3172 good = false;
3173 }
3174 if (!vk->vkFreeDescriptorSets) {
3175 fprintf(stderr, "VK_VERSION_1_0 check failed: vkFreeDescriptorSets not found\n");
3176 good = false;
3177 }
3178 if (!vk->vkUpdateDescriptorSets) {
3179 fprintf(stderr, "VK_VERSION_1_0 check failed: vkUpdateDescriptorSets not found\n");
3180 good = false;
3181 }
3182 if (!vk->vkCreateFramebuffer) {
3183 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateFramebuffer not found\n");
3184 good = false;
3185 }
3186 if (!vk->vkDestroyFramebuffer) {
3187 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyFramebuffer not found\n");
3188 good = false;
3189 }
3190 if (!vk->vkCreateRenderPass) {
3191 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateRenderPass not found\n");
3192 good = false;
3193 }
3194 if (!vk->vkDestroyRenderPass) {
3195 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyRenderPass not found\n");
3196 good = false;
3197 }
3198 if (!vk->vkGetRenderAreaGranularity) {
3199 fprintf(stderr, "VK_VERSION_1_0 check failed: vkGetRenderAreaGranularity not found\n");
3200 good = false;
3201 }
3202 if (!vk->vkCreateCommandPool) {
3203 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCreateCommandPool not found\n");
3204 good = false;
3205 }
3206 if (!vk->vkDestroyCommandPool) {
3207 fprintf(stderr, "VK_VERSION_1_0 check failed: vkDestroyCommandPool not found\n");
3208 good = false;
3209 }
3210 if (!vk->vkResetCommandPool) {
3211 fprintf(stderr, "VK_VERSION_1_0 check failed: vkResetCommandPool not found\n");
3212 good = false;
3213 }
3214 if (!vk->vkAllocateCommandBuffers) {
3215 fprintf(stderr, "VK_VERSION_1_0 check failed: vkAllocateCommandBuffers not found\n");
3216 good = false;
3217 }
3218 if (!vk->vkFreeCommandBuffers) {
3219 fprintf(stderr, "VK_VERSION_1_0 check failed: vkFreeCommandBuffers not found\n");
3220 good = false;
3221 }
3222 if (!vk->vkBeginCommandBuffer) {
3223 fprintf(stderr, "VK_VERSION_1_0 check failed: vkBeginCommandBuffer not found\n");
3224 good = false;
3225 }
3226 if (!vk->vkEndCommandBuffer) {
3227 fprintf(stderr, "VK_VERSION_1_0 check failed: vkEndCommandBuffer not found\n");
3228 good = false;
3229 }
3230 if (!vk->vkResetCommandBuffer) {
3231 fprintf(stderr, "VK_VERSION_1_0 check failed: vkResetCommandBuffer not found\n");
3232 good = false;
3233 }
3234 if (!vk->vkCmdBindPipeline) {
3235 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBindPipeline not found\n");
3236 good = false;
3237 }
3238 if (!vk->vkCmdSetViewport) {
3239 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetViewport not found\n");
3240 good = false;
3241 }
3242 if (!vk->vkCmdSetScissor) {
3243 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetScissor not found\n");
3244 good = false;
3245 }
3246 if (!vk->vkCmdSetLineWidth) {
3247 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetLineWidth not found\n");
3248 good = false;
3249 }
3250 if (!vk->vkCmdSetDepthBias) {
3251 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetDepthBias not found\n");
3252 good = false;
3253 }
3254 if (!vk->vkCmdSetBlendConstants) {
3255 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetBlendConstants not found\n");
3256 good = false;
3257 }
3258 if (!vk->vkCmdSetDepthBounds) {
3259 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetDepthBounds not found\n");
3260 good = false;
3261 }
3262 if (!vk->vkCmdSetStencilCompareMask) {
3263 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetStencilCompareMask not found\n");
3264 good = false;
3265 }
3266 if (!vk->vkCmdSetStencilWriteMask) {
3267 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetStencilWriteMask not found\n");
3268 good = false;
3269 }
3270 if (!vk->vkCmdSetStencilReference) {
3271 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetStencilReference not found\n");
3272 good = false;
3273 }
3274 if (!vk->vkCmdBindDescriptorSets) {
3275 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBindDescriptorSets not found\n");
3276 good = false;
3277 }
3278 if (!vk->vkCmdBindIndexBuffer) {
3279 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBindIndexBuffer not found\n");
3280 good = false;
3281 }
3282 if (!vk->vkCmdBindVertexBuffers) {
3283 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBindVertexBuffers not found\n");
3284 good = false;
3285 }
3286 if (!vk->vkCmdDraw) {
3287 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDraw not found\n");
3288 good = false;
3289 }
3290 if (!vk->vkCmdDrawIndexed) {
3291 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDrawIndexed not found\n");
3292 good = false;
3293 }
3294 if (!vk->vkCmdDrawIndirect) {
3295 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDrawIndirect not found\n");
3296 good = false;
3297 }
3298 if (!vk->vkCmdDrawIndexedIndirect) {
3299 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDrawIndexedIndirect not found\n");
3300 good = false;
3301 }
3302 if (!vk->vkCmdDispatch) {
3303 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDispatch not found\n");
3304 good = false;
3305 }
3306 if (!vk->vkCmdDispatchIndirect) {
3307 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdDispatchIndirect not found\n");
3308 good = false;
3309 }
3310 if (!vk->vkCmdCopyBuffer) {
3311 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdCopyBuffer not found\n");
3312 good = false;
3313 }
3314 if (!vk->vkCmdCopyImage) {
3315 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdCopyImage not found\n");
3316 good = false;
3317 }
3318 if (!vk->vkCmdBlitImage) {
3319 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBlitImage not found\n");
3320 good = false;
3321 }
3322 if (!vk->vkCmdCopyBufferToImage) {
3323 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdCopyBufferToImage not found\n");
3324 good = false;
3325 }
3326 if (!vk->vkCmdCopyImageToBuffer) {
3327 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdCopyImageToBuffer not found\n");
3328 good = false;
3329 }
3330 if (!vk->vkCmdUpdateBuffer) {
3331 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdUpdateBuffer not found\n");
3332 good = false;
3333 }
3334 if (!vk->vkCmdFillBuffer) {
3335 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdFillBuffer not found\n");
3336 good = false;
3337 }
3338 if (!vk->vkCmdClearColorImage) {
3339 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdClearColorImage not found\n");
3340 good = false;
3341 }
3342 if (!vk->vkCmdClearDepthStencilImage) {
3343 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdClearDepthStencilImage not found\n");
3344 good = false;
3345 }
3346 if (!vk->vkCmdClearAttachments) {
3347 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdClearAttachments not found\n");
3348 good = false;
3349 }
3350 if (!vk->vkCmdResolveImage) {
3351 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdResolveImage not found\n");
3352 good = false;
3353 }
3354 if (!vk->vkCmdSetEvent) {
3355 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdSetEvent not found\n");
3356 good = false;
3357 }
3358 if (!vk->vkCmdResetEvent) {
3359 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdResetEvent not found\n");
3360 good = false;
3361 }
3362 if (!vk->vkCmdWaitEvents) {
3363 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdWaitEvents not found\n");
3364 good = false;
3365 }
3366 if (!vk->vkCmdPipelineBarrier) {
3367 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdPipelineBarrier not found\n");
3368 good = false;
3369 }
3370 if (!vk->vkCmdBeginQuery) {
3371 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBeginQuery not found\n");
3372 good = false;
3373 }
3374 if (!vk->vkCmdEndQuery) {
3375 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdEndQuery not found\n");
3376 good = false;
3377 }
3378 if (!vk->vkCmdResetQueryPool) {
3379 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdResetQueryPool not found\n");
3380 good = false;
3381 }
3382 if (!vk->vkCmdWriteTimestamp) {
3383 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdWriteTimestamp not found\n");
3384 good = false;
3385 }
3386 if (!vk->vkCmdCopyQueryPoolResults) {
3387 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdCopyQueryPoolResults not found\n");
3388 good = false;
3389 }
3390 if (!vk->vkCmdPushConstants) {
3391 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdPushConstants not found\n");
3392 good = false;
3393 }
3394 if (!vk->vkCmdBeginRenderPass) {
3395 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdBeginRenderPass not found\n");
3396 good = false;
3397 }
3398 if (!vk->vkCmdNextSubpass) {
3399 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdNextSubpass not found\n");
3400 good = false;
3401 }
3402 if (!vk->vkCmdEndRenderPass) {
3403 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdEndRenderPass not found\n");
3404 good = false;
3405 }
3406 if (!vk->vkCmdExecuteCommands) {
3407 fprintf(stderr, "VK_VERSION_1_0 check failed: vkCmdExecuteCommands not found\n");
3408 good = false;
3409 }
3410 return good;
3411 }
3412
vulkan_dispatch_check_device_VK_VERSION_1_1(const VulkanDispatch * vk)3413 bool vulkan_dispatch_check_device_VK_VERSION_1_1(const VulkanDispatch* vk)
3414
3415 {
3416 bool good = true;
3417 if (!vk->vkBindBufferMemory2) {
3418 fprintf(stderr, "VK_VERSION_1_1 check failed: vkBindBufferMemory2 not found\n");
3419 good = false;
3420 }
3421 if (!vk->vkBindImageMemory2) {
3422 fprintf(stderr, "VK_VERSION_1_1 check failed: vkBindImageMemory2 not found\n");
3423 good = false;
3424 }
3425 if (!vk->vkGetDeviceGroupPeerMemoryFeatures) {
3426 fprintf(stderr,
3427 "VK_VERSION_1_1 check failed: vkGetDeviceGroupPeerMemoryFeatures not found\n");
3428 good = false;
3429 }
3430 if (!vk->vkCmdSetDeviceMask) {
3431 fprintf(stderr, "VK_VERSION_1_1 check failed: vkCmdSetDeviceMask not found\n");
3432 good = false;
3433 }
3434 if (!vk->vkCmdDispatchBase) {
3435 fprintf(stderr, "VK_VERSION_1_1 check failed: vkCmdDispatchBase not found\n");
3436 good = false;
3437 }
3438 if (!vk->vkGetImageMemoryRequirements2) {
3439 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetImageMemoryRequirements2 not found\n");
3440 good = false;
3441 }
3442 if (!vk->vkGetBufferMemoryRequirements2) {
3443 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetBufferMemoryRequirements2 not found\n");
3444 good = false;
3445 }
3446 if (!vk->vkGetImageSparseMemoryRequirements2) {
3447 fprintf(stderr,
3448 "VK_VERSION_1_1 check failed: vkGetImageSparseMemoryRequirements2 not found\n");
3449 good = false;
3450 }
3451 if (!vk->vkTrimCommandPool) {
3452 fprintf(stderr, "VK_VERSION_1_1 check failed: vkTrimCommandPool not found\n");
3453 good = false;
3454 }
3455 if (!vk->vkGetDeviceQueue2) {
3456 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetDeviceQueue2 not found\n");
3457 good = false;
3458 }
3459 if (!vk->vkCreateSamplerYcbcrConversion) {
3460 fprintf(stderr, "VK_VERSION_1_1 check failed: vkCreateSamplerYcbcrConversion not found\n");
3461 good = false;
3462 }
3463 if (!vk->vkDestroySamplerYcbcrConversion) {
3464 fprintf(stderr, "VK_VERSION_1_1 check failed: vkDestroySamplerYcbcrConversion not found\n");
3465 good = false;
3466 }
3467 if (!vk->vkCreateDescriptorUpdateTemplate) {
3468 fprintf(stderr,
3469 "VK_VERSION_1_1 check failed: vkCreateDescriptorUpdateTemplate not found\n");
3470 good = false;
3471 }
3472 if (!vk->vkDestroyDescriptorUpdateTemplate) {
3473 fprintf(stderr,
3474 "VK_VERSION_1_1 check failed: vkDestroyDescriptorUpdateTemplate not found\n");
3475 good = false;
3476 }
3477 if (!vk->vkUpdateDescriptorSetWithTemplate) {
3478 fprintf(stderr,
3479 "VK_VERSION_1_1 check failed: vkUpdateDescriptorSetWithTemplate not found\n");
3480 good = false;
3481 }
3482 if (!vk->vkGetDescriptorSetLayoutSupport) {
3483 fprintf(stderr, "VK_VERSION_1_1 check failed: vkGetDescriptorSetLayoutSupport not found\n");
3484 good = false;
3485 }
3486 return good;
3487 }
3488
3489 } // namespace vk
3490 } // namespace gfxstream
3491