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